Шаблонизируем страницы коротких новостей в DLE
К разработке этого хака меня подтолкнул данный хак.
Из неоспоримых преимуществ того хака перед моим - наличие интерфейса и возможность каждой категории задать свой шаблон на главной странице.
Но по ряду причин та реализация мне не совсем понравилась. И было решено состряпать свой вариант решения данного вопроса :)
Итак, для начала в папке с шаблоном создадим папку shortstory
В ней можно создавать .tpl файлы коротких новостей для каждой из страниц:
main - на главной странице
date - при просмотре новостей за определенные даты
cat - при просмотре категории
favorites - при просмотре закладок
newposts - при просмотре новых публикаций (с момента последнего посещения)
lastnews - при просмотре последних новостей на сайте
catalog - при просмотре каталога страниц
tags - при просмотре новостей из облака тегов
allnews - при просмотре всех новостей какого либо пользователя
xfsearch - при просмотре страницы /xfsearch/...
Например, чтобы задать свой шаблон всем новостям на главной, нужно в папке shortstory создать файл шаблона main.tpl
Соответственно, например, для закладок favorites.tpl и для страницы тегов tags.tpl
Т.е. путь к файлу будет таким site.ru/templates/{THEME}/shortstory/allnews.tpl
Теперь, что надо сделать, чтобы это работало.
Нужно открыть файл /engine/modules/show.short.php
Найти строку:
else $tpl->load_template( 'shortstory.tpl' );
И перед ней вставить:
elseif(file_exists(TEMPLATE_DIR.'/shortstory/'.$dle_module.'.tpl')) $tpl->load_template( 'shortstory/'.$dle_module.'.tpl' );
Вот и все :)
С уважением,
Олег Александрович a.k.a. Sander