DLE – короткие новости в виде таблицы

dle shorttory tabletype - DLE - короткие новости в виде таблицы
DLE Shortstory.tpl в виде таблицы <table>

На примере скриншота выше, я показываю какую таблицу возможно сделать в коротких новостях на CMS DLE. Цели и задачи у нее могут быть самые разные. От необходимости поместить большое число записей на одну страницу (описание игровых заданий, описание товаров и многое другое с дополнительными параметрами).

Мой случай был для игры Lineage 2, в которой есть огромное количество игровых заданий. Публиковать их в виде классических статей нет смысла т.к. каждый из квестов имеет ряд требований (раса, класс, уровень, повторяемость и другие). Вот эти параметры и выводятся в соседних ячейках таблицы.

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

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

Если в код шаблона shortstory.tpl поместить код таблицы, то для каждой новой строки будет выводиться отдельная таблица, что не есть нормально.

DLE теги для категорий

С DLE 10.2 был введен новый мета-тег [category], который выводит текст, помещенный в него только на странице категорий с указанными номерами.

Начало таблицы

[category=1,2,3]
<table>
<tr>
	<td>{title}</td>
	<td>[доп_поле_dle</td>
	<td>[доп_поле_dle</td>
	<td>[доп_поле_dle</td>
	<td>[доп_поле_dle</td>
</tr>
[/category]
{content}

Помещаем данный код над тегом {content} в файле
{THEME}/main.tpl

Запись выше выведет шапку таблицы на странице категорий, чей id = 1, 2, 3. Отличное решение, но не все так просто, т.к. fullstory.tpl также попадает под действие данных тегов, а в полной новости нам шапка таблицы не нужна

Полный код, который не будет выводить таблицу на странице полной новости будет включать в себя еще и теги условий [not-aviable], например:

[not-aviable=showfull]
[category=1,2,3]
<table>
<tr>
	<td>{title}</td>
	<td>[доп_поле_dle</td>
	<td>[доп_поле_dle</td>
	<td>[доп_поле_dle</td>
	<td>[доп_поле_dle</td>
</tr>		
[/category]
[/not-aviable]

Очень важно вставить код таблицы над тегом {content} т.к. закрывать таблицу придется таким же костыльным методом.

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

Как писалось выше, весь код “вертится” вокруг встроенного в DLE мета-тега {content}. начало таблицы помещается перед ним, а окончание — после.

[not-aviable=showfull]
[category=1,2,3]
<table>
<tr>
	<td>{title}</td>
	<td>[доп_поле_dle</td>
	<td>[доп_поле_dle</td>
	<td>[доп_поле_dle</td>
	<td>[доп_поле_dle</td>
</tr>		
[/category]
[/not-aviable]

{content}

[not-aviable=showfull]
[category=1,2,3]

</table>

[/category]
[/not-aviable]

Обратите внимание, что шапка таблицы и ее окончание помещаются внутрь самостоятельных контейнеров

Шаблон shortstory.tpl

В предыдущих шагах мы создали контейнер таблицы, в который теперь можно помещать табличные строки, поэтому в шаблоне коротких новостей {THEME}/shortstory.tpl нужно написать правильную разметку для строк HTML таблицы, который будет примерно следующим:

<tr>
     <td>[full-link]{title}[/full-link]</td>
     <td>[xfvalue_fieldname1]</td>
     <td>[xfvalue_fieldname2]</td>
     <td>[xfvalue_fieldname3]</td>
</tr>

Похожие записи


PHP — простой ротатор баннеров, ротатор для DLE и WordPress
Аналог на javascriptАналог на PHP для больших кодов Очень простой ротатор кода на PHP. Сначала мы объявляем простой двумерный массив...
Как изменить пароль пользователя CMS DLE и WordPress через SQL-запрос
Перебираю старые статьи с целью их оптимизации и наткнулся на эту. В принципе, способ подойдет для любой системы на любом...
Полный гайд по миграции с CMS DLE на WordPress
Данный сайт в апреле 2019 года полностью переехал на CMS WordPress и в июне, после завершения всех правок (а их...
DLE – быстрый переезд на хостинг не используя инсталятор
Установка движка DLE на хостинг происходит через специальный файл — инсталятор, в котором необходимо заполнить все поля (имя базы данных,...
DLE — монетизируем загруженные в новостях файлы через отдельный домен
Как много у вас загруженных файлов (приложений к постам) не считая картинок? У меня много и придумал способ их монетизировать!...

Добавить комментарий