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

DLE Shortstory.tpl в виде таблицы <table>
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>

Читайте также

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

DLE — быстрый переезд на хостинг не используя инсталятор
Установка движка DLE на хостинг происходит через специальный файл — инсталятор, в котором необходимо заполнить все поля (имя базы данных,...
DLE — монетизируем загруженные в новостях файлы через отдельный домен
Как много у вас загруженных файлов (приложений к постам) не считая картинок? У меня много и придумал способ их монетизировать!...
DLE — мой первый модуль, как написать свой модуль Datalife Engine
Как ни пытался уйти с DLE из-за того, что он платный, а на рынке существует куча бесплатных аналогов, не получается...
DLE на HTTPS — основные проблемы и их решение
Столкнулся с рядом проблем, когда наконец-то решился перебраться на https. Не появлялись некоторые картинки, видео, а в адресной строке писалось,...
DLE — Модуль форума SimpleBB 1.1
Полноценный форум с единой регистрацией и авторизацией, единым акаунтом и ссылками на профиль от dle \»user/username/\» на движке SimpleBB 1.1...

Комментарии

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *