Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум поддержки IPB.SU > Поддержка модификаций > Добавление ВВ тегов таблицы


Автор: Slesher Окт 13 2009, 22:32
Эта модификация позволяет вам делать таблицы в сообщениях
Теги ВВ кодов аналогичны html кодам таблицы.


Установка.

Шаг 1


АЦ -- Скины и шаблоны -- |-- HTML шаблоны -- Настройка HTML -- Post Screen Sections -- Post: Table Top

Найти:

CODE
//-->  
</script>


Перед этим вставить:

CODE


//start of the "table" script by Slesher
function change() {
var str = document.REPLIER.Post.value;
document.REPLIER.Post.value = str + doit;
}
function insertment() {
if(confirm("Желаете вставить таблицу?")) {
var colls = prompt("Сколько столбцов надо вставить?");
var rows = prompt("Сколько строк должно быть?");
var colls = eval(colls);
var rows = eval(rows);
var coll="";
var row="";
for (i=1;i<=colls;i++) {
var coll = coll + "[td][/td]";
}
for (a=1;a<=rows;a++) {
var row = row + "[tr]" + coll + "[/tr]";
}
doit = "[table]" + row + "[/table]";
change();
alert("Таблица вставлена!");
}
}
//end of the "table" script by Slesher




Сохранить.

Шаг 2

АЦ -- Скины и шаблоны -- |-- HTML шаблоны -- Настройка HTML -- Post Screen Sections -- +-- Post: Code Buttons & Post Text area

Найти:

CODE

         <input type='button' accesskey='d' value=' СКРЫТЫЙ ТЕКСТ ' onClick='simpletag("HIDE")'   class='codebuttons' name="HIDE" onMouseOver="hstat('hide')" />


После этого вставить:

CODE

        <input type='button' accesskey='t' value=' TABLE ' onClick='insertment()'   class='codebuttons' name="TABLE"  />


Сохранить.

Шаг 3

АЦ -- Скины и шаблоны -- |-- HTML шаблоны -- Настройка HTML -- Topic View Section -- Post Entry

Найти:

CODE

{$post['post']}


ЗАМЕНИТЬ НА:

CODE

<script language="javascript">
//start of the "table" script by Slesher
function show() {
var str = "{$post['post']}";
while (str.indexOf("[table]")!=-1 ) {
var str=str.replace("[table]", "<table border='1'>");
}
while (str.indexOf("[tr]")!=-1 ) {
var str=str.replace("[tr]", "<tr>");
}
while (str.indexOf("[td]")!=-1 ) {
var str=str.replace("[td]", "<td>");
}
while (str.indexOf("[/td]")!=-1 ) {
var str=str.replace("[/td]", "</td>");
}
while (str.indexOf("[/tr]")!=-1 ) {
var str=str.replace("[/tr]", "</tr>");
}
while (str.indexOf("[/table]")!=-1 ) {
var str=str.replace("[/table]", "</table>");
}
var result = str;
document.write(result);
//end of the "table" script by Slesher
}
show();
</script>



Сохранить.

УСТАНОВКА УСПЕШНО ЗАВЕРШЕНА!

Как пользоватся?
Нажимаете на новую кнопку TABLE при создании нового сообщения, и тогда отвечаете на вопроси, желаете ли вы действительно вставить теги таблицы, сколько желаете столбиков и сколько строк.
После этого в набираемое вами сообщение добавляются теги [table], [tr], [td] и соответствующие теги для закрытия.
Кто не знает - [tr] - новая строка в таблице, [td] - новий столбец.

Единственный недостаток: все теги вставляет один за одным, поскольку если использовать перенос на новую строку "\n", идет глюк при переработке, так что пока придется терпеть. Но не думаю что это сильно расстроит.

Основной принцып взят http://ipboard.net/index.php?showtopic=38.

Проблем в безопасности лично я не вижу, но не гарантирую полную безопасность. Но если вы решились устанавливать http://ipboard.net/index.php?showtopic=1116, то и этот мод можете смело устанавливать.

Ну, тестируйте!

Автор: Землянин Окт 14 2009, 09:09
А можно пример получающихся таблиц? Чтобы решить, нужен ли этот мод или нет.

Автор: Slesher Окт 14 2009, 15:42
CODE

Пример скрипта таблицы:
[table]
[tr][td]Строка1[/td][td]Значение 1[/td][td]Значение 2[/td][/tr]
[tr][td]Строка 2[/td][td]Значение 1[/td][td]Значение 2[/td][/tr]
[tr][td]Строка 3[/td][td]Значение 1[/td][td]Значение 2[/td][/tr]
[tr][td]Строка 4[/td][td]Значение 1[/td][td]Значение 2[/td][/tr]
[/table]


Результат:

http://ipb.su/photo/v.php?id=d209e9e226b3cbf6a5929f34122b4fd7

Автор: Potter Мар 6 2010, 17:24
А чё делать когда
CODE
{$post['post']}

занят другим.
Куда тогда вставлять
CODE
<script language="javascript">
//start of the "table" script by Slesher
function show() {
var str = "{$post['post']}";
while (str.indexOf("[table]")!=-1 ) {
var str=str.replace("[table]", "<table border='1'>");
}
while (str.indexOf("[tr]")!=-1 ) {
var str=str.replace("[tr]", "<tr>");
}
while (str.indexOf("[td]")!=-1 ) {
var str=str.replace("[td]", "<td>");
}
while (str.indexOf("[/td]")!=-1 ) {
var str=str.replace("[/td]", "</td>");
}
while (str.indexOf("[/tr]")!=-1 ) {
var str=str.replace("[/tr]", "</tr>");
}
while (str.indexOf("[/table]")!=-1 ) {
var str=str.replace("[/table]", "</table>");
}
var result = str;
document.write(result);
//end of the "table" script by Slesher
}
show();
</script>

Автор: Dron Мар 6 2010, 17:54
Ничего не делать.
Данное дополнение не рекомендовано и не поддерживается адмнистрацией сервиса.

Автор: Ptica Ноя 15 2010, 11:24
Простите за может быть, дурацкий вопрос, но я ещё пока совсем "зелёный"...

А можно ли сделать, чтобы границы таблицы были не "выпуклыми", а простейшими, в одну линеечку?... (Постаралась предельно опнятно изъясниться)...

Автор: Slesher Фев 7 2011, 17:09
Ptica,
вот какие могут быть вообще границы:
http://w3schools.com/css/tryit.asp?filename=trycss_border-style
если чтобы просто была 1 граница, а не двойная, то тогда в шаге три заменить

Код
<table border='1'>


на

Цитата

<table style="border:1px solid black">


и вместо каждого

Код
<td>


ставить

Цитата

<td style="border:1px solid black">


а можно просто в ЦСС добавить:

Код
{
border-style:solid;
border-width:1px;
}


добавив соответствующий клас в свойства таблицы

Автор: Ptica Фев 8 2011, 22:29
http://ipboard.net/index.php?showuser=650,
спасибо!

Автор: Romych Апр 23 2011, 20:22
продолжение темы начатой уважаемым Slesherом

спрашивается, для чего вообще нужны таблицы в постах? отвечаю, это удобно для составления графиков, если к примеру ваш форум посвящён какому-нибудь институту,

хочу сообщить следующее, бб-коды для генерирования таблиц добавлены в движок форумов IPB.su ещё месяца 1.5-2 назад,
но поскольку у админа видимо много дел, то он пока не добавил кнопку в панель инструментов и стиль таблиц в движок

то, что я приоткрываю завесу по-поводу новых бб-кодов в движке, не является каким-то моим нетерпением или ещё чем-то в этом роде,
просто родился вариант Генератора таблиц, который немного меньше занимает кода, чем в варианте Slesherа

в панель ответа добавляется вот такая кнопка - user posted image

после нажатия на которую перед вами всплывает вот такое диалоговое окно
Генератора таблиц

user posted image

думаю, что тут всё понятно, что за что отвечает
установка

Главная страница AЦ -> Главная страница настройки шаблонов -> Сообщения (Post Screen Sections) -> Post: Code Buttons & Post Text area

где-нибудь после кнопок

Код
<img title='Скрытый текст' alt='Скрытый текст' src='/html/buttons/rte-hide.png' onClick='simpletag("HIDE")'   class='codebuttons' name="HIDE" onMouseOver="hstat('hide')" />
<img title='Спойлер' alt='Спойлер' src='/html/buttons/spoiler.gif' onClick='simpletag("SPOILER")'   class='codebuttons' name="SPOILER" onMouseOver="hstat('spoiler')" />


можно вставить вот такой код генератора

Код
<!--TABLE-->
<img class='codebuttons' title='Генератор таблиц' src='http://expert.*цензура*.ru/uploads/000e/8b/b7/90-1.gif' alt='Генератор таблиц' onclick="showhide('myr-myr')">
<div id="myr-myr" class="block1" style="display:none; margin-left:10%; margin-top:20px">
<div align="center"><strong>Генератор таблиц</strong></div><br>
<table id="myr-myr" width=auto><tr>
<td>Количество строк: <input class=rows maxlength=3 size=3 value=1 name=rows></td>
<td>Количество ячеек: <input class=cols maxlength=4 size=3 value=1 name=cols></td></tr>
<tr><td><button id="tableCreate" type="button" onclick="showhide('myr-myr')">Cоздать таблицу</button></td></tr></table></div>
<script type="text/javascript">
function setTable(){
var Ntd,Nstr,i=0,j=0,tbl="";var tblz="", TDstrStart='[td]ячейка ',TDstrEnd='[/td]';
Nstr=$("#myr-myr .rows").val();Ntd=$("#myr-myr .cols").val();
for(j=0; j<Nstr; j++){tbl='[tr]'+tbl;for (i=0; i<Ntd; i++){NumTd=Ntd*j+i;tbl+=TDstrStart+(NumTd+1)+TDstrEnd};
tbl+="[/tr]";tblz+=tbl;tbl="";};tbl='[table]'+tblz+'[/table]';doInsert(tbl);}
$("#tableCreate").click(function(){;setTable();})</script>


так же можно добавить стиль к создаваемым таблицам,
для красоты

Главная страница AЦ -> Скины и Шаблоны -> Настройка скинов -> CSS

в самый низ добавляем

Код
table.striped {table-layout: fixed;width: 100%;empty-cells: show;border-collapse: separate;border-color: transparent;margin: 10px 0 10px;padding: 0 10px; }
table.striped tr:hover td{background:#FFFAF0;}
table.striped td,table.striped th {border-color: black; border-style: solid;}
table.striped tr:nth-child(even) {background:#B0E2FF;}


стиль таблицы при желании можете настроить на свой вкус,

а на данный момент без стиля таблицы в постах выглядят вот так


Строка1Значение 1Значение 2
Строка 2Значение 1Значение 2
Строка 3Значение 1Значение 2
Строка 4Значение 1Значение 2

Автор: Slesher Апр 23 2011, 21:20
Romych, достаточно неплохо.
Мне никогда не хватало нр времени ни терпения довести модификацию до ума и прочих удобств.

Автор: anaxio Авг 1 2011, 00:14
у меня что то не работает нормально таблица ромыча. Там рамки нету как на скрине вокруг "создать ячейку:" и т.д. хотя раньше работало, а вот поставило новый скин и вообще хз что началось. не работает ничего. может кто нибудь дать страницу Post: Code Buttons & Post Text area етого форума? так же как тут делал когда то, но теперь что то не работает. дайте пожалуйста всю страницу в лс

Автор: Грея Авг 1 2011, 07:46
http://ipboard.net/index.php?showuser=3273, так ведь теперь на сервисе включили автоматическую поддержку табличных тегов, и ставить эти модификации необязательно... Оо Или я чего-то не пониимаю и когда-то у себя установила это все... biggrin.gif

Автор: anaxio Авг 1 2011, 11:38
ну а как же теперь таблицы создавать? вы видимо ошибаетесь, на форумах не стоят такие моды.

Автор: Грея Авг 1 2011, 16:29
http://ipboard.net/index.php?showuser=3273, а может вы на новом скине в CSS забыли добавить? Вот это:

Код
table.striped {table-layout: fixed;width: 100%;empty-cells: show;border-collapse: separate;border-color: transparent;margin: 10px 0 10px;padding: 0 10px; }
table.striped tr:hover td{background:#FFFAF0;}
table.striped td,table.striped th {border-color: black; border-style: solid;}
table.striped tr:nth-child(even) {background:#B0E2FF;}


Если забыли, то это объясняет почему рамки нету - стиль-то не задан для таблиц ))

Автор: anaxio Авг 1 2011, 16:57
да нет, у меня рамки нету в самом создании таблицы, когда открывается окно "создать ячеек:, создать строк:" а так то есть.

Автор: anaxio Авг 1 2011, 17:14
вот так:
user posted image
пробовал вставить <div class="memdetails"> но другие табличка забирает еще "открытых тегов:" и "подсказку" т.е. ети строки пишут только открыв мод таблицы. я искал код, отвечающий за эту подсказку и открытые теги, но его там нет, а мод "таблица" их в себя берет. как сделать что бы все нормально было?

Автор: anaxio Авг 2 2011, 13:19
у кого нормально работает, может кто код таблицы перекинуть? а то этот не правильный наверное какой то

Автор: Dron Авг 2 2011, 16:14
Нормально работает у тех, кто нормально себе установил.
Читайте внимательно инструкцию и будет вам счастье.

Автор: anaxio Авг 2 2011, 17:19
да у меня все так как в коде, но все равно, не работает нормально.

Автор: anaxio Авг 3 2011, 17:41
в бэк апе включил "крейт тейбл" но создать не знаю как. кнопки нету.

Автор: Romych Авг 4 2011, 10:28
Цитата (Рели Аластор @ Авг 1 2011, 07:46)
так ведь теперь на сервисе включили автоматическую поддержку табличных тегов, и ставить эти модификации необязательно..

да теги таблицы поддерживаются движком сервиса, а данные модификации, а конкретнее моя из 9 поста добавляет в форму ответа генератор таблиц, который облегчает пользователю составление таблиц, чтоб не пришлось вручную прописывать теги, только и всего

а в модификации уважаемого Slesher'а часть кода посвящена обработке тегов и замене бб-кодов таблицы на аналог html, сейчас в этом нужда отпала

нужда есть только в генераторе таблиц,
который присутствует в варианте Slesher'а с первого по второй шаг включительно или в моём варианте

Автор: anaxio Авг 21 2011, 22:48
а как сделать генератор таблицы в новой форме ответов как у ромыча? я ставлю, так там вообще бред. видимо доработать что то надо.. не подскажите? очень етот генератор нужен.

Автор: Slesher Авг 23 2011, 11:04
anaxio,
вообщем смотрите:
чтобы была рамка вам надо исправить кусок
Код
<div id="myr-myr" class="block1" style="display:none; margin-left:10%; margin-top:20px">


на

Код
<div id="myr-myr" class="block1" style="display:none; margin-left:10%; margin-top:20px; border-style:solid; border-width:1px">


не знаю, работает ли у вас картинка... там в адресе просто в коде http://expert.*цензура*.ru

если нет, тогда либо замените на свою, либо чтобы оно просто отображалось, удалите
Код
<img class='codebuttons' title='Генератор таблиц' src='http://expert.*цензура*.ru/uploads/000e/8b/b7/90-1.gif' alt='Генератор таблиц' onclick="showhide('myr-myr')">
<div id="myr-myr" class="block1" style="display:none; margin-left:10%; margin-top:20px">


а вместо него просто
Код
<div id="myr-myr" class="block1" style="margin-left:10%; margin-top:20px; border-style:solid; border-width:1px">

Автор: Romych Авг 26 2011, 15:18
Цитата (anaxio @ Авг 22 2011, 00:48)
а как сделать генератор таблицы в новой форме ответов как у ромыча? я ставлю, так там вообще бред. видимо доработать что то надо.. не подскажите? очень етот генератор нужен.


попробуйте заменить, то что установили и что не работало, на это

Код
<!--TABLE-->
<img class='codebuttons' title='Генератор таблиц' src='http://www.iconsearch.ru/uploads/icons/freeapplication/24x24/table.png' alt='Генератор таблиц' onclick="showhide('myr-myr')">
<div id="myr-myr" class="block1" style="display:none; margin-left:10%; margin-top:20px">
<div align="center"><strong>Генератор таблиц</strong></div><br>
<table id="myr-myr" width=auto><tr>
   <td>Количество строк: <input class=rows maxlength=3 size=3 value=1 name=rows></td>
   <td>Количество ячеек: <input class=cols maxlength=4 size=3 value=1 name=cols></td></tr>
   <tr><td>
  <button id="tableCreate" type="button" onclick="showhide('myr-myr')">Cоздать таблицу</button></td></tr></table></div>
<script language=JavaScript> function setTable(){
var Ntd,Nstr,i=0,j=0,tbl="";var tblz="", TDstrStart='[td]ячейка ',TDstrEnd='[/td]';
Nstr=$("#myr-myr .rows").val();Ntd=$("#myr-myr .cols").val();
for(j=0; j<Nstr; j++){tbl='[tr]'+tbl;for (i=0; i<Ntd; i++){NumTd=Ntd*j+i;tbl+=TDstrStart+(NumTd+1)+TDstrEnd};
tbl+="[/tr]";tblz+=tbl;tbl="";};tbl='[table]'+tblz+'[/table]';doInsert(tbl);}
$("#tableCreate").click(function(){;setTable();})</script>


изображение кнопки должно отображаться, адрес я заменил, так что цензура на него теперь не должна срабатывать на этом форуме

и ещё одно НО, у вас кусок кода от генератора таблиц Slesher'а, вы уж определитесь каким будете пользоваться, а то возможно, что если они установлены одновременно, то возможны конфликты


Автор: anaxio Авг 26 2011, 16:24
все равно не работает. так же wink.gif

Автор: Slesher Авг 26 2011, 17:40
нет оно то работает....тот вариант что у ромыча вообще идеален, да вот только не могу понять куда ее всучить чтобы не коверкались табличные элементы о_О

Автор: F-r-e-e-m-a-n Ноя 7 2013, 17:07
Доброе времени суток

Прошу меня простить, что поднимаю тему 2011 года... но именно здесь есть нужна инфа для решение моей проблемы.

Дело в том что у нас забухал админ, и кажись покинул нас навсегда... форум остался без головы (((

и теперь нам, простым смертным, нужно как-то познавать азы админста!

ПОМОГИТЕ ПОЖАЛУЙСТА добавить эту кнопку "генератор таблиц"

На версии форума IP.Board 3.4.5 нет такого:

Цитата
АЦ -- Скины и шаблоны -- |-- HTML шаблоны -- Настройка HTML -- Post Screen Sections -- Post: Table Top


или такого:

Цитата
Главная страница AЦ -> Главная страница настройки шаблонов -> Сообщения (Post Screen Sections) -> Post: Code Buttons & Post Text area


а есть такое:

user posted image

пысы: когда вставляешь таблицу через кнопку "Вставить из Word" то в предварительном просмотре ТАБЛИЦА видна, а как нажимаешь ОТПРАВИТЬ так таблицы и след простыл

user posted image

Автор: Грея Ноя 7 2013, 17:32
http://ipboard.net/index.php?showuser=4316
Цитата
На этом форуме осуществляется техническая поддержка только и только форумов IP.Board Сервиса IPB.SU.

Удачного Вам поиска решения своей проблемы НЕ здесь.

Powered by Invision Power Board (//www.invisionboard.com)
© Invision Power Services (//www.invisionpower.com)