Please enable / Bitte aktiviere JavaScript!
Veuillez activer / Por favor activa el Javascript![ ? ]
Иконка ресурса

Навигация отдельным тегом для DLE 10.1 и выше v.1.0

Нет прав для скачивания
1.png



По умолчанию навигация прикрепляется автоматически к списку новостей в теге {content}. И в настройках есть возможность только выбрать расположение навигации только в пределах контента, т.е. перед списком новостей, после или комбинировано.

Данный хак позволяет вывести блок навигации шаблона navigation.tpl в любом месте в файле шаблона main.tpl.
Структура формирования контента организована следующим образом:

Код:
<div id="dle-content">
    {shortstory.tpl}
    {shortstory.tpl}
    {shortstory.tpl}
    {navigation.tpl}
</div>
Т.е. навигация прикрепляется сразу после коротких новостей или перед ними или совместно и там и там.
Однако порой это очень ограничивает возможности дизайна/верстки когда навигацию необходимо отделить от контента.
Для этой цели и был написан этот простенький хак/плагин. С его помощью можно вывести навигацию в любом месте шаблона main.tpl посредством тега:

Код:
{navigation}
Если навигации на странице нет, то тег выведет просто пустоту. Так же для удобства добавлен тег:

Код:
[navigation] ... [/navigation]
Если тега навигации нет, то она останется по умолчанию в конце контента (или как задано в настройках).

Автор: Sander
Версия DLE: 10.1 и старше
Версия PHP: 5.4 и старше

Открыть файл engine/modules/show.short.php
Найти строку:
Код:
$tpl->compile( 'navi' );
Ниже нее вставить:
Код:
$tpl->result['navi'] = '<!--navigation_start_' . md5(DBNAME . DBUSER . $config['key']) . '-->' . $tpl->result['navi'] . '<!--navigation_end-->';
Открыть файл engine/modules/main.php
Найти строку:
Код:
$tpl->set ( '{info}',  $tpl->result['info'] );
Ниже нее вставить:
Код:
if (preg_match('#<!--navigation_start_' . md5(DBNAME . DBUSER . $config['key']) . '-->(.+?)<!--navigation_end-->#is', $tpl->result['content'], $navi)) {
    if (stripos($tpl->copy_template, '{navigation}') !== false) {
        $tpl->result['content'] = str_replace($navi[0], '', $tpl->result['content']);
    } else {
        $tpl->result['content'] = str_replace($navi[0], $navi[1], $tpl->result['content']);
    }
    $tpl->set('{navigation}', $navi[1]);
    $tpl->set('[navigation]', '');
    $tpl->set('[/navigation]', '');
} else {
    $tpl->set('{navigation}', '');
    $tpl->copy_template = preg_replace('#\\[navigation\\](.*?)\\[/navigation\\]#is', '', $tpl->copy_template);
}
Автор
Алексей Русских
Скачивания
0
Просмотры
128
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок
Сверху Снизу