Постраничная навигация отдельным тегом 1.0

Постраничная навигация отдельным тегом 1.0

По умолчанию навигация прикрепляется автоматически к списку новостей в теге {content}. В настройках есть возможность только выбрать расположение навигации в пределах контента - перед списком новостей, после или комбинировано. Однако порой это очень ограничивает возможности дизайна/верстки, когда навигацию необходимо отделить от контента. Для этой цели был написан этот простенький хак, который позволяет вывести блок навигации шаблона navigation.tpl в любом месте в файле шаблона main.tpl.
Если навигации на странице нет, то тег выведет просто пустоту. Так же для удобства добавлен тег:
[navigation] ... [/navigation]

Если тега навигации нет, то она останется по умолчанию в конце контента или как задано в настройках.

Установка:
1. Открыть engine/modules/show.short.php и найти:
			$tpl->compile( 'navi' );

Добавить ниже:
			$tpl->result['navi'] = '<!--navigation_start_' . md5(DBNAME . DBUSER . $config['key']) . '-->' . $tpl->result['navi'] . '<!--navigation_end-->';

2. Открыть 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);
}

Готово!

Важно: это функционал уже встроен в DLE начиная с версии 14.0 и использование хака не требуется.

Скачать: файл могут только зарегистрированные посетители.
 
Версия DLE: 10.1-13.х
Кодировка: utf-8
Версия PHP: 5.4 и выше
 
Автор: Sander
Источник:
  • Oxigen
  • 0
  • 224
Информация
Оставлять комментарии могут только зарегистрированные посетители.