Простая bbcode таблица с неограниченной функциональностью

Проблемы с установкой или работой phpBB 3.2.x? Получите помощь здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Ответить
Аватара пользователя
Пафнутий K
phpBB 1.2.0
Сообщения: 17
Зарегистрирован: 30.01.2019 23:13
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Простая bbcode таблица с неограниченной функциональностью

Сообщение Пафнутий K » 06.02.2019 23:55

Друзья, существует способ создания простых bbcode таблиц с неограниченной функциональностью.

Варианты, бытующие в сети либо сложны для использования, либо имеют сильно урезанный функционал по сравнению с html аналогами. Но мне удалось обнаружить способ создания полнофункциональных bbcode таблиц, с которыми удобно работать, которые просты в обращении и понятны даже самому неподготовленному пользователю.

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


Инструкция:

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


Приведите таблицу вида:

<table style=" ... ">
	<tr style=" ... ">
		<td style=" ... ">
			Текст
		</td>
	</tr>
</table>

к виду:

[table_style=" ... "]
	[tr_style=" ... "]
		[td_style=" ... "]
			Текст
		[/td_style]
	[/tr_style]
[/table_style]



Как видим, всё предельно просто.

А идея заключается в том, чтобы максимально приблизить синтаксис BBCode к синтаксису html-CSS, фактически сделать их идентичными.

В phpBB 3.2 это оказалось возможно реализовать, не выходя из админки:
simple-table-bbcode01.png



Настройки такие:

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

Использование BBCode:	[table]{TEXT}[/table]
Замена HTML:			<table>{TEXT}</table>
Подсказка:				Таблица:  [table][tr][td] текст [/td][/tr][/table] или [table_style="width: 100px; border: 1px solid black;"][tr][td] текст [/td][/tr][/table_style]
Показывать на странице ответа:	Да


Использование BBCode:	[table_style={TEXT1}]{TEXT2}[/table_style]
Замена HTML:			<table style={TEXT1}>{TEXT2}</table>
Подсказка:				
Показывать на странице ответа:	Нет


Использование BBCode:	[td]{TEXT}[/td]
Замена HTML:			<td>{TEXT}</td>
Подсказка:				Ячейка таблицы:  [td] текст [/td] или [td_style="color: red;"] текст [/td_style]
Показывать на странице ответа:	Да


Использование BBCode:	[td_style={TEXT1}]{TEXT2}[/td_style]
Замена HTML:			<td  style={TEXT1}>{TEXT2}</td>
Подсказка:				
Показывать на странице ответа:	Нет


Использование BBCode:	[tr]{TEXT}[/tr]
Замена HTML:			<tr>{TEXT}</tr>
Подсказка:				Строка таблицы:  [tr][td] текст [/td][/tr] или [tr_style="background-color: green;"][td] текст [/td][/tr_style]
Показывать на странице ответа:	Да


Использование BBCode:	[tr_style={TEXT1}]{TEXT2}[/tr_style]
Замена HTML:			<tr style={TEXT1}>{TEXT2}</tr>
Подсказка:				
Показывать на странице ответа:	Нет



Результат будет таким:

simple-table-bbcode.png


***
Следуя этой логике, можно сделать синтаксисы BBCode и html-CSS еще более похожими друг на друга, даже полностью идентичными. Но для этого надо разобраться, как скрыть знак равенства в ббкоде и как назначать одному тегу ббкода две различных html замены.

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 8884
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 158 раз
Поблагодарили: 2506 раз
Контактная информация:

Re: Простая bbcode таблица с неограниченной функциональностью

Сообщение Татьяна5 » 07.02.2019 0:29

Пафнутий K, можно ещё сократить, если сделать параметр опциональным
Пример:

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

[ref={COLOR;optional}]{TEXT}[/ref]

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

<xsl:choose>
						<xsl:when test="@*">
							<span style="font-weight: bold; color: {COLOR};">{TEXT}</span>
						</xsl:when>
						<xsl:otherwise>
							<span style="font-weight: bold;">{TEXT}</span>
						</xsl:otherwise>
					</xsl:choose>
Один ббкод работает и с цветом, и без

Аватара пользователя
Пафнутий K
phpBB 1.2.0
Сообщения: 17
Зарегистрирован: 30.01.2019 23:13
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Re: Простая bbcode таблица с неограниченной функциональностью

Сообщение Пафнутий K » 07.02.2019 1:05

Татьяна5 писал(а):
07.02.2019 0:29
Пафнутий K, можно ещё сократить, если сделать параметр опциональным

Один ббкод работает и с цветом, и без
Да, это именно то, о чем я и говорил. По-видимому, таким способом можно количество тегов ббкода сократить вдвое. И они примут более аутентичный вид, в нашем случае это [table] вместо [table_style] и [/table] вместо [/table_style].

Думаю, что таким способом возможно добиться стопроцентного совпадения синтаксисов ббкода и html-css.

Но я не планирую в ближайшее время заниматься доводкой данного начинания до кондиции :( . Если кто-то возложит на себя эту миссию, я буду ему благодарен. И все скажут спасибо.

Татьяна, может вы попробуете это сделать? Думаю вам, с вашим опытом, это будет несложно :D .
Татьяна5 писал(а):
07.02.2019 0:29

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

[ref={COLOR;optional}]{TEXT}[/ref]
А это штатные возможности? Или трик?

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 8884
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 158 раз
Поблагодарили: 2506 раз
Контактная информация:

Re: Простая bbcode таблица с неограниченной функциональностью

Сообщение Татьяна5 » 07.02.2019 1:06

Начиная с 3.2.0 штатные

Аватара пользователя
Пафнутий K
phpBB 1.2.0
Сообщения: 17
Зарегистрирован: 30.01.2019 23:13
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Re: Простая bbcode таблица с неограниченной функциональностью

Сообщение Пафнутий K » 07.02.2019 1:37

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

Движок phpBB считает ббкод, объявленный как [table style={TEXT1}]...[/table], идентичным ббкоду [table={TEXT1}]...[/table]. То есть это для движка один и тот же ббкод.

Соответственно, пользователь также может использовать этот ббкод в своем сообщении как угодно, хоть в виде [table style={TEXT1}]..., хоть в виде [table={TEXT1}]...

Мне кажется, что это открывает дорогу для создания ббкода, полностью идентичного по написанию своему html-css аналогу.

Аватара пользователя
Pazh
Former team member
Сообщения: 1992
Зарегистрирован: 09.11.2009 17:46
Благодарил (а): 34 раза
Поблагодарили: 394 раза
Контактная информация:

Re: Простая bbcode таблица с неограниченной функциональностью

Сообщение Pazh » 07.02.2019 10:01

Пафнутий K, открой последнюю версию расширения [3.1][3.2] Advanced BBCode Box 3.1 - там есть реализация PipeTables - для простого юзера это может быть проще чем отслеживать строк/ячейки
форум ЖК Пироговская ривьера Помощь в ЛС/email только за WM или ЯД

Аватара пользователя
Пафнутий K
phpBB 1.2.0
Сообщения: 17
Зарегистрирован: 30.01.2019 23:13
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Re: Простая bbcode таблица с неограниченной функциональностью

Сообщение Пафнутий K » 07.02.2019 16:49

Pazh писал(а):
07.02.2019 10:01
Пафнутий K, открой последнюю версию расширения [3.1][3.2] Advanced BBCode Box 3.1 - там есть реализация PipeTables - для простого юзера это может быть проще чем отслеживать строк/ячейки
Для простых таблиц решений в сети много.

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

С помощью PipeTables, например, вы не сможете раскрасить таблицу, задать рамку, назначить выравнивание, отступы... Даже вставить в нее сколь-нибудь сложные объекты, типа абзацев текста с картинками, вам будет крайне сложно. А предложенный вариант это позволяет, ведь это обычный html-css. С помощью него даже адаптивные таблицы можно создать, чтобы они под мобильные устройства подстраивались :D .

Аватара пользователя
Pazh
Former team member
Сообщения: 1992
Зарегистрирован: 09.11.2009 17:46
Благодарил (а): 34 раза
Поблагодарили: 394 раза
Контактная информация:

Re: Простая bbcode таблица с неограниченной функциональностью

Сообщение Pazh » 07.02.2019 16:57

Пафнутий K, подобные BBCode (table, tr и td) стоят у меня на нескольких форумах уже лет 7 наверное - еще с 3.0. Юзеры как попробовали из них сделать пару таблиц - так потом большинство забивали на это гиблое дело. Итогом - используются только админами и модерами. Была где-то даже вариация на js вставки пустой таблицы как реализовано в Word-е.
Но итог всего этого баловства - пока не будет нормального WYSIWYG редактора ответа в phpbb, это все будет только для крайне ограниченного круга пользователей, которые понимают эти пляски с бубном...
форум ЖК Пироговская ривьера Помощь в ЛС/email только за WM или ЯД

Аватара пользователя
Пафнутий K
phpBB 1.2.0
Сообщения: 17
Зарегистрирован: 30.01.2019 23:13
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Re: Простая bbcode таблица с неограниченной функциональностью

Сообщение Пафнутий K » 07.02.2019 17:27

Pazh, полностью согласен с вами.

На большинстве форумов таблицы вообще не нужны. Но у меня научный форум, поэтому такой функционал обязателен.

Я просто попытался расширить возможности обычных ббкодов table, tr и td (коих явно недостаточно для создания нормальных таблиц) и одновременно сделать их предельно понятными для пользователя (за счет использования обычного html-scc синтаксиса, который знают почти все, и по которому всегда можно найти информацию с примерами в сети).

Отправлено спустя 7 минут 28 секунд:
Pazh писал(а):
07.02.2019 16:57
Но итог всего этого баловства - пока не будет нормального WYSIWYG редактора ответа в phpbb,
Кстати, как вы относитесь к Rin Editor? Хочу попробовать поставить, но правда не знаю как. Инструкции по установке я не нашел.

Ответить

Вернуться в «Поддержка phpBB 3.2.x»