Сделать стартовойДобавить в закладки  
Главная страничка Главная страничка
В номере:

Выходит с 17 июля 2008 г. цена договорная

Опрос

gismeteo.ru
Погода на Яндексе
pogoda.ru
meteonova.ru
по телевизору
за окном
в газете
а че его смотреть?
в другом месте
по счетчику гейгера


Календарь
«    Декабрь 2009    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 

Архив новостей
Апрель 2012 (4)
Март 2012 (1)
Январь 2012 (2)
Декабрь 2011 (2)
Ноябрь 2011 (1)
Октябрь 2011 (4)

Информация
 
DLE: Как сделать для разных разделов свой вывод
Web » CMS » DLE
автор: dimon, опубликовано: 31 декабря 2009

Заметил, что за последние несколько дней было куча переходов на сайт по запросу "как сделать для каждого раздела 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.

 
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Чтобы Вам были доступны все функции Вам необходимо либо зарегистрироваться, либо зайти на сайт под своим именем.

Другие новости по теме:

  • DLE: Прикрутим Яндекс.карты для отображения меток новостей на карте
  • DLE: Как создать модуль или как я делал дополнительную форму обратной связи
  • DLE хаки: Добавим краткое описание и картинку в topnews
  • DLE хаки: Защита комментариев от спама методом подмены полей имя и e-mail ф ...
  • Как сделать сайт


  • #1 написал: maksov (2 ноября 2010 04:35)
    Хороший пост! оказывается всё было перед носом wink спасибо! Но есть вопрос, как быть с главной страницей? если листать главную страницу то можно увидеть отличия, ведь на главной странице выводятся все категории.

    Можно как-то заточить главную страницу как на примере с категориями? а то бойда какая то получается)) тут так, там так, если листать страницы на главной.
    #2 написал: dimon (3 ноября 2010 11:17)
    разве? чуть освобожуть - проверю
    #3 написал: dimon (28 ноября 2010 23:02)
    maksov, добавил в новость хак исправляющий этот косяк.
    Извини, что так долго не доходили руки. feel
    Спасибо за указание на этот косяк
    #4 написал: andron2900 (3 января 2012 21:23)
    Вот спасибо за идею!!!
    Только хочу немного дополнить.
    соответственно надо удалить строки
    if( strpos( $tpl->copy_template, "[xfvalue_" ) !== false OR strpos( $tpl->copy_template, "[xfgiven_" ) !== false ) { $xfound = true; $xfields = xfieldsload();}
    else $xfound = false;

    и добавить их сразу после вновь добавленного кода.
    Иначе не работают доп. поля в кратком шабле
    #5 написал: dimon (5 января 2012 12:38)
    andron2900, спасибо. возможно у тебя просто движок поновее а там вывод доп. полей изменен


     
    Информация
     
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.


    Поиск по сайту:


    Аккаунт
    Логин
    Пароль
     
    Облако тегов

    Требуется для просмотра Flash Player 9 или выше.

    Показать все теги
    Реклама
    раскрутка сайта бесплатно






    Главная страница | Регистрация | Добавить новость | Новое на сайте | Статистика | Поддержка | Правила ресурса Copyright © 2005-2011 by dimon - all right reserved!
    Тираж:     Rambler's Top100     Анализ сайта   экземпляров.   Дизайн, верстка by dimon