Автозагрузка TPL шаблонов статических страниц для DLE

Автозагрузка TPL шаблонов статических страниц

Автозагрузка TPL шаблонов статических страниц

Данный модуль предназначен для удобного и простого создания статических страниц без использования функционала самого движка.
Достаточно создать TPL файл и страница будет доступна по адресу имени файла.

Установка


В папке с шаблоном создать папку static в ней будут размещаться tpl файлы - где имя файла будет являться именем статической страницы. К примеру файл {THEME}/static/demo.tpl будет открываться по адресу example.com/demo.html

Открыть файл engine/init.php
Найти строки:
	$name = @$db->safesql( trim( totranslit( $_GET['page'], true, false ) ) );
	$static_result = $db->super_query ( "SELECT * FROM " . PREFIX . "_static WHERE name='{$name}'" );
	$category_skin = $static_result['template_folder'];

Заменить на:
	$static_name = totranslit( $_GET['page'] );
	if( file_exists( ROOT_DIR . "/templates/{$config['skin']}/static/{$static_name}.tpl" ) ) $do = "static_autoload";
	else
	{
		$name = @$db->safesql( trim( totranslit( $_GET['page'], true, false ) ) );
		$static_result = $db->super_query ( "SELECT * FROM " . PREFIX . "_static WHERE name='{$name}'" );
		$category_skin = $static_result['template_folder'];
	}


Открыть engine/engine.php
Найти строку:
switch ( $do ) {

После нее вставить:
	case "static_autoload":
		include ENGINE_DIR . "/mods/$do.php";
		break;


Создать файл engine/mods/static_autoload.php с содержимым:


На этом все. В самом файле шаблона можно использовать теги чтобы указать свои метатеги. Пример файла:
[title=Метазаголовок тестовой страницы]
[description=Описание тестовой страницы для наглядности работы]
[keywords=Ключевые, слова, тестовой, страницы, тестового сайта]
[noindex=1]

<h1>Пример страницы</h1>
<div style="padding-top:15px">Текст тестовой страницы</div>


где [noindex=1] 1 - запретить индексацию, 0 - разрешить.

С уважением,
Олег Александрович a.k.a. Sander
Комментарии: (1)
  1. foto
    VIP 26 мая 2017 11:05 #
    Отличное решение!
    Думаю многим пригодится как средство быстрого переноса данных между сайтами без необходимости вмешиваться в БД.

    P.S. Правда celsoft не рекомендует в модулях переопределять $do и $dle_module, но тут думаю это как раз играет положительную роль.
    +2
Добавить комментарий
  • Логин
  • E-mail (не обязательно)
Повторите рисунок:
antibot
© Sander-Development. 2009-2018.
При копировании, ссылка на источник обязательна.