Шаблонизируем страницы коротких новостей в DLE для DLE

Шаблонизируем страницы коротких новостей в DLE

Шаблонизируем страницы коротких новостей в 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
Комментарии: (11)
  1. foto
    Клиент 20 сентября 2013 19:38 #
    Спасибо, Sander, а как сделать подообное для модуля feedback?? что бы в профиле и на сайте открывались разные шаблона отправки E-mail
    0
  2. foto
    Посетитель 12 апреля 2014 16:42 #
    Здравствуйте. Может вы знаете как создать такой же условный как бы тег:
    [news=1,2,3] текст [/news]
    [not-news=1,2,3] текст [/not-news]

    Который работает только в полной новости.
    Вопрос в том, как сделать возможным работу этого тега в короткой новости?
    Спасибо.
    0
  3. foto
    Гость 21 января 2018 13:01 #
    xfsearch - при просмотре страницы /xfsearch/...
    Можно ли как то выводить шаблон при просмотре определенного дополнительно поля?
    Как то так: /xfsearch/woewodstvoagenstva/Łódzkie/
    0
  4. foto
    Гость 9 ноября 2018 19:47 #
    Здравствуйте, а можно как нибудь сделать разные шаблоны в результатах поиска.
    0
    1. foto
      Администратор 9 ноября 2018 23:31 #
      Шаблон результатов поиска настраивается в файле /templates/Шаблон/search.tpl
      Теги для новости поддерживаются те же что и в короткой новости.
      0
      1. foto
        Гость 10 ноября 2018 19:31 #
        ой извините мой косяк smile
        я имел в виду можно ли сделать так чтобы в результатах поиска были разные шаблоны (searchresult.tpl) за ранее спасибо за ответ
        0
  5. foto
    Гость 10 ноября 2018 19:33 #
    ой извините мой косяк ))
    я имел в виду как сделать чтобы в результатах поиска были разные шаблоны (searchresult)
    за ранее спасибо за ответ!
    0
  6. foto
    Гость 30 марта 2020 08:30 #
    Привет
    Хочу по разным категориям
    Отдельно связанны с relatednews.tpl
    Например,
    Для категории 35
    Файл relatednews_35.tpl

    Или для категории 19
    Файл relatednews_19.tpl

    пожалуйста, направь меня
    0
    1. foto
      Администратор 30 марта 2020 12:12 #
      engine/modules/show.full.php
      Найти:
      $tpl2->load_template( 'relatednews.tpl' );

      Выше вставить:
      $rel_cat_tpl = 'relatednews/' . (int)$row['category'] . '.tpl';
      if (file_exists(TEMPLATE_DIR . '/' . $rel_cat_tpl)) {
      	$tpl2->load_template($rel_cat_tpl);
      } else

      в папке с шаблоном создать папку relatednews и в ней создавать файлы 35.tpl, 19.tpl и т.д.
      0
      1. foto
        Гость 30 марта 2020 14:11 #
        Спасибо
        0
  7. foto
    Гость 19 мая 2021 13:57 #
    Sander, а как установить другой шаблон для ссылок доп.поля?
    В engine/init.php после строки:
    $tpl = new dle_template();
    Вставил:
    if($_REQUEST['do']=='xfsearch') $config['skin'] = "english";
    но смена шаблона идет для всех доп.полей, а как сделать для определенного поля, например "series"? Вообще это сложно сделать?
    0
Добавить комментарий

Внимание! Все сообщения касающиеся техподдержки будут удалены или проигнорированы

Attention! All messages asking for technical support will be removed or ignored

  • Логин
  • E-mail (не обязательно)
Повторите рисунок:
antibot
© Sander-Development. 2009-2024.
При копировании, ссылка на источник обязательна.