Хак Вывод постраничной навигации отдельным тегом {navigation}

Тема в разделе "DLE", создана пользователем yura, 5 янв 2016.

Метки:
Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Модераторы: killoff
  1. yura

    yura

    Регистр.:
    6 апр 2006
    Сообщения:
    436
    Симпатии:
    65
    Из-за специфической верстки шаблона возникла необходимость вывести постраничную навигацию в разделах не там где ее выведет ДЛЕ, а там где нужно мне. Прокопавшись пару вечеров в нете на одном из сайтов (на каком увы не помню) нашел работающий вариант, который и выкладываю тут. Может кому-то тоже пригодится. Но есть у этого хака и проблемма, но о ней позже. Сначала сам хак!


    Открыть файл engine/modules/show.short.php
    В самом низу найти и удалить код:
    Код:
      switch ( $config['news_navigation'] ) {
    
      case "2" :
      
      $tpl->result['content'] = $tpl->result['navi'].$tpl->result['content'];
      break;
    
      case "3" :
      
      $tpl->result['content'] = $tpl->result['navi'].$tpl->result['content'].$tpl->result['navi'];
      break;
    
      default :
      $tpl->result['content'] .= $tpl->result['navi'];
      break;
      
      }
    Открыть index.php
    Найти строку:
    Код:
    $tpl->load_template ( 'main.tpl' );
    После нее вставить:
    Код:
    $tpl->set ( '{navigation}', $tpl->result['navi'] );
    В main.tpl использовать тег {navigation}


    Написанное было для актуальных в то время ДЛЕ 9.х. Работает все и на последнем 10.6, только вместо index.php правим по-моему engine/modules/main.php

    НО! Есть и проблема... Все работает только когда кеширование ДЛЕ отключено. Если оно включено - навигация появляется 1 раз, после перезагрузки этой страницы ее больше нет пока вы не очистите кеш на главной админки. Тогда навигация снова выведется 1 раз... Как побороть???
     
  2. killoff

    killoff CD тихо, и не DVD меня ;)

    Moderator
    Регистр.:
    13 май 2008
    Сообщения:
    2.025
    Симпатии:
    694
    Этот код точно так же работал и на старых версиях 9х, так что тут ничего не поделаешь... Либо настраивать вывод пагинации в CSS ;)
     
  3. yura

    yura

    Регистр.:
    6 апр 2006
    Сообщения:
    436
    Симпатии:
    65
    Да ничего не настроишь-то... Чтобы навигация выводилась корректно в адаптивном шаблоне нужно перед ней закрыть пару дивов ибо clear:both не дает нужного результата. Проблемы вылазят в разделах где новостей меньше, чем нужно для разделения на страницы.

    Я так понимаю, что нужны правки еще кода, который отвечает за кеширование...
     
  4. yura

    yura

    Регистр.:
    6 апр 2006
    Сообщения:
    436
    Симпатии:
    65
    Еще вылезла проблема с разбиением на страницы новостей с одним и тем же тегом - и дублируется, и может в разных видах выводиться.. Странно вобщем