Навигация отдельным тегом v.1.0 для DLE 10.1 и выше
<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);
}
Скачать
Источник: