Подскажите кто знает хороший вариант
Комментарии: 44

CabinetAdmin 02 янв 2014, 07:57 Сообщение

На гуру есть ббкод таблицы реализованный на javascript. Здесь на форуме - обычными ббкодами.
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

southklad 02 янв 2014, 08:07 Сообщение

я находил на гуру, но там когда вставляешь ссылки она перестает работать
  • 0
Изображение

CabinetAdmin 02 янв 2014, 12:19 Сообщение

Поменяйте html замену на:

Код: Выделить всё

<script type="text/javascript">
var col1 = '{TEXT1}';
var col2 = '{TEXT2}';
var col3 = '{TEXT3}';
var col4 = '{TEXT4}';
var col5 = '{TEXT5}';
var col6 = '{TEXT6}';
var col7 = '{TEXT7}';
var col8 = '{TEXT8}';
var col9 = '{TEXT9}';
var col10 = '{TEXT10}';
var j = {NUMBER};
var wid = 100/j;
document.write("<table width=\"100%\" border=\"0\" cellpadding=\"2\" align=\"center\"><tr align=\"center\">");
    if (j == 1)
	{
	document.write("<td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col1 + "</td>");
	document.write("</tr>");
	}
    if (j == 2)
	{
	document.write("<td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col1 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col2 + "</td>");
	document.write("</tr>");
	}
	if (j == 3)
	{
	document.write(	"<td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col1 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col2 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col3 + "</td>");
	document.write("</tr>");				
	}
	if (j == 4)
	{
	document.write(	"<td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col1 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col2 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col3 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col4 + "</td>");
	document.write("</tr>");				
	}
	if (j == 5)
	{
	document.write(	"<td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col1 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col2 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col3 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col4 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col5 + "</td>");
	document.write("</tr>");				
	}
	if (j == 6)
	{
	document.write(	"<td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col1 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col2 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col3 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col4 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col5 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col6 + "</td>");
	document.write("</tr>");				
	}
	if (j == 7)
	{
	document.write(	"<td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col1 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col2 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col3 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col4 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col5 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col6 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col7 + "</td>");
	document.write("</tr>");				
	}
	if (j == 8)
	{
	document.write(	"<td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col1 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col2 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col3 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col4 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col5 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col6 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col7 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col8 + "</td>");
	document.write("</tr>");				
	}
	if (j == 9)
	{
	document.write(	"<td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col1 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col2 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col3 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col4 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col5 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col6 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col7 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col8 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col9 + "</td>");
	document.write("</tr>");				
	}
	if (j > 9)
	{
	document.write(	"<td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col1 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col2 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col3 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col4 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col5 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col6 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col7 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col8 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col9 + "</td><td width=\"" + wid + "%\" bgcolor=\"#FFFFFF\">" + col10 + "</td>");
	document.write("</tr>");				
	}
document.write("</table>"); 
</script>
Должно заработать.


зы. Для тех кому интересен ббкод. Использование BBCode будет следующим:

Код: Выделить всё

[tab={NUMBER}]{TEXT1};{TEXT2};{TEXT3};{TEXT4};{TEXT5};{TEXT6};{TEXT7};{TEXT8};{TEXT9};{TEXT10}[/tab]
Замена HTML представлена выше.

Подсказка:

Код: Выделить всё

[tab=columns]Текст или Пусто;Текст или Пусто;Текст или Пусто;Текст или Пусто;Текст или Пусто;Текст или Пусто;Текст или Пусто;Текст или Пусто;Текст или Пусто;Текст или Пусто;[/tab]
Обязательным условием работы ббкода является отделение ячеек таблицы символом ;, при желании этот символ можно заменить на любой другой, на ваше усмотрение.

Пример работы. Таблица на четыре колонки:

Код: Выделить всё

[tab=4]Колонка №1;Колонка №2;Колонка №3;Колонка №4;;;;;;;[/tab]
Т.е. помимо четырёх колонок, в конце установлено ещё 6 символов ;.
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

silver073000Василий 06 фев 2014, 18:34 Сообщение

А можно ли сделать bbcode так, чтобы можно было, так сказать, в параметрах ячейки или строки задавать свои цвета, например, первая строка или ячейка белая, вторая красная, третья зелёная и т.д.? Вариант, где в замене html цвет задан жёстко, не совсем подходит. Вот пример таблицы, bbcode которой хочу сделать :)
Изображение

И при этом хочу, чтобы в параметрах ячейки можно было задать, сколько строк или столбцов ячейка могла перекрывать, как это делает ячейка "Тур" в примере на картинке. Можно ли такое сделать? :)
  • 0

CabinetAdmin 06 фев 2014, 19:29 Сообщение

Можно заменить все bgcolor=\"#FFFFFF\" на bgcolor=\"{COLOR1}\", следующий bgcolor=\"{COLOR2}\", следующий с цифрой 3 и тд.
Замену сделать такую:

Код: Выделить всё

[tab={NUMBER}]"{COLOR1}"{TEXT1};"{COLOR2}"{TEXT2};"{COLOR3}"{TEXT3};"{COLOR4}"{TEXT4};"{COLOR5}"{TEXT5};"{COLOR6}"{TEXT6};"{COLOR7}"{TEXT7};"{COLOR8}"{TEXT8};"{COLOR9}"{TEXT9};"{COLOR10}"{TEXT10}[/tab]
Получается, в начале колонки таблицы пишем цвет в кавычках - "#FFFFFF".
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

silver073000Василий 06 фев 2014, 19:46 Сообщение

Это получится таблица на 10 столбцов вроде? А можно больше добавлять их? :)
А если на основе стандартных ббкодов сделать? Возможно ли такое и насколько это сложно? :)
  • 0

CabinetAdmin 07 фев 2014, 14:55 Сообщение

Да, на десять, в принципе можно уменьшить или добавить количество. Имхо, не очень удобный ббкод...
BOJIK » Вчера, 22:46 писал(а):А если на основе стандартных ббкодов сделать?
Здесь на форуме именно так и сделано (использование, замена и подсказка):

Код: Выделить всё

[tab]{TEXT}[/tab]

<table width="100%" cellpadding="5" border="1">{TEXT}</table>

Контейнер таблицы

Код: Выделить всё

[tr]{TEXT}[/tr]

<tr>{TEXT}</tr>

Строка таблицы

Код: Выделить всё

[th]{TEXT}[/th]

<th>{TEXT}</th>

Заголовок таблицы

Код: Выделить всё

[th={NUMBER}]{TEXT}[/th]

<th colspan="{NUMBER}">{TEXT}</th>

Заголовок таблицы

Код: Выделить всё

[td]{TEXT}[/td]

<td>{TEXT}</td>

Ячейка таблицы

Код: Выделить всё

[td={NUMBER}]{TEXT}[/td]

<td colspan="{NUMBER}">{TEXT}</td>

Ячейка таблицы
Если нужно задавать цвета для ячеек, то можно добавить style="background-color: {COLOR};", как-то так:

Код: Выделить всё

[td={COLOR}]{TEXT}[/td]

<td style="background-color: {COLOR};">{TEXT}</td>

Код: Выделить всё

[td={NUMBER}{COLOR}]{TEXT}[/td]

<td colspan="{NUMBER}" style="background-color: {COLOR};">{TEXT}</td>
Для человека далёкого от принципов составления таблицы, и вообще от html, будет немого непонятно чего куда, можно сделать тему с разъяснениями. Со стороны выглядит немного сложно, это да:)
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

silver073000Василий 07 фев 2014, 15:34 Сообщение

По части составления таблиц, то проблем нет :) Сейчас попробую эти варианты :)
  • 0

silver073000Василий 07 фев 2014, 16:03 Сообщение

colspan="{NUMBER}" - это сколько колонок перекроет ячейка?
Тогда rowspan="{NUMBER}" - это количество перекрываемых строк должно быть. Попробую добавить и этот код и составить с ним таблицу :)
  • 0

CabinetAdmin 07 фев 2014, 16:52 Сообщение

rowspan, это вертикальное объединение, да. Если вместе, тогда {NUMBER1} и {NUMBER2} сделайте, а в использовании кода можно их через любой знак сделать (через запятую или тире...).
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

silver073000Василий 11 фев 2014, 11:29 Сообщение

Всё отлично выходит, как и было задумано :ihaaaa: Благодарю за советы :drink: :drink: :drink:
Ну а что касается ббкода на скрипте, то не очень он удобный. Поддерживаю мнение :)
  • 0

silver073000Василий 03 июн 2014, 23:29 Сообщение

А как победить такую беду? Вот таблица из десяти ячеек, но она обрезается и нет возможности глянуть продолжение.
Содержимое первой ячейкиСодержимое второй ячейкиСодержимое третьей ячейкиСодержимое четвёртой ячейкиСодержимое пятой ячейкиСодержимое шестой ячейкмСодержимое седьмой ячейкиСодержимое восьмой ячейкиСодержимое девятой ячейкиСодержимое десятой ячейки
Такое наблюдается на prosilver`ax.
  • 0

CabinetAdmin 04 июн 2014, 14:46 Сообщение

Поменяйте:

Код: Выделить всё

<table width="100%" cellpadding="5" border="1">{TEXT}</table>
на:

Код: Выделить всё

<table width="100%" cellpadding="5" border="1" style="word-break: break-word;">{TEXT}</table>
зы. Кстати, хорошее замечание, надо тоже поправить для здешней таблицы.
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

silver073000Василий 04 июн 2014, 15:03 Сообщение

Что-то не желает показывать всю таблицу при этой замене. Проверил на стандартном левостороннем prosilver`e.
  • 0