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

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

    Опрос

    Windows Mobile
    Symbian
    Android
    iPhone
    Linux
    другая
    не знаю
    у меня обычный телефон



    Календарь
    «    Декабрь 2009    »
    ПнВтСрЧтПтСбВс
     123456
    78910111213
    14151617181920
    21222324252627
    28293031 

    Архив новостей
    Август 2021 (1)
    Июль 2021 (3)
    Февраль 2021 (3)
    Январь 2021 (1)
    Ноябрь 2020 (2)
    Июль 2020 (2)

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


  • Комментарии:

    Оставить комментарий

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


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


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


    Облако тегов
    Arduino, backup, CentOS, cmd, div, DLE, DLE хаки, domoticz, dzvents, event, Home Assistant, Linux, log, LUA, Monster, ogf3, RDP, Template, VBS, windows, WSH, xiaomi, бумага, бумажный самолетик, верстка, иструкция, Карты, кино, Навигация, оригами, программа, рецензия, рецепт, скрипт, уведомления, фигуры, шаблон, Яндекс, яндекс-карты

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