Заметил, что за последние несколько дней было куча переходов на сайт по запросу "как сделать для каждого раздела dle свой вывод".
Сделаем статью, раз народ этим интересуется.
Предположим, что у нас на сайте есть категория, например,
pda. Для этой категории мы хотим, чтобы короткие и полные новости выводились в другом виде, чем на всем сайте.
Заходим в админке в раздел
Категории. Находим нашу категорию и нажимаем кнопку
Правка.
Видим два нижних поля, отвечающих за файлы шаблона вывода новости. Заполняем их, например, так:
Шаблон короткой новости = shortstory_pda
Шаблон полной новости = fullstory_pdaТеперь нам в папке с шаблоном необходимо создать два файла, отвечающих за вывод новостей из раздела pda.
Можно просто скопировать
shortstory.tpl в
shortstory_pda.tpl и
fullstory.tpl в
fullstory_pda.tpl, посмотреть, что все выводится правильно, а потом изменить файлы шаблона
shortstory_pda.tpl и
fullstory_pda.tpl так, чтобы получить необходимый вывод новостей в данном разделе.
Я так делал на своем сайте – мне было необходимо, чтобы в одном разделе в полной новости выводились данные из дополнительного поля новости. Поэтому я просто создал дополнительный файл tpl, отвечающий за вывод полной новости в этом разделе.
Кстати, можно для каждой категории или раздела использовать совершенно другой шаблон.
Для этого в админке в разделе настройки категории есть специальное поле
Установить другой шаблон для категорииЕсли есть вопросы – пишите, постараюсь Вам помочь.
Удачи.
upd:Как точно подметил
maksov – действительно существует косяк при выводе коротких новостей на главной страничке – там используется стандартный
shortstory.tpl, а не тот который указан для категории, в которой находится выводимая короткая новость.
Для устранение данного косяка существует специальный хак.
Для его установки открываем
/engine/moodules/show.short.phpВ нем находим строки и просто удаляем их:
if( isset( $view_template ) and $view_template == "rss" ) {
} elseif( $category_id and $cat_info[$category_id]['short_tpl'] != '' ) $tpl->load_template( $cat_info[$category_id]['short_tpl'] . '.tpl' );
else $tpl->load_template( 'shortstory.tpl' );
Ниже находим строку:
$row['category'] = intval( $row['category'] );
после нее добавляем:
$cat_idd = $row['category'];
if( isset( $view_template ) and $view_template == "rss" ) {
}
elseif( $category_id and $cat_info[$category_id]['short_tpl'] != '' ) $tpl->load_template( $cat_info[$category_id]['short_tpl'] . '.tpl' );
elseif( $cat_idd and $cat_info[$cat_idd]['short_tpl'] != '' ) $tpl->load_template( $cat_info[$cat_idd]['short_tpl'] . '.tpl' );
else $tpl->load_template( 'shortstory.tpl' );
Все – теперь и на главной для коротких новостей из разных категорий применяется нужные shortstory.tpl.
Проверял на 8.5.
Группа: Гости
Регистрация: --
Статус:
Можно как-то заточить главную страницу как на примере с категориями? а то бойда какая то получается)) тут так, там так, если листать страницы на главной.