Автозагрузка 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
Комментарии: (5)
  1. foto
    VIP 26 мая 2017 11:05 #
    Отличное решение!
    Думаю многим пригодится как средство быстрого переноса данных между сайтами без необходимости вмешиваться в БД.

    P.S. Правда celsoft не рекомендует в модулях переопределять $do и $dle_module, но тут думаю это как раз играет положительную роль.
    +2
  2. foto
    Посетитель 1 ноября 2018 12:14 #
    Очень классное решение, уже не раз мне помог.
    Вот ещё понадобилось вторая пака а как её добавить не пойму, есть на данный момент папка "static" как например добавить ещё одну папку типа "static 2" надо категоризировать всё, в шаблоне, чтоб убранно было.
    0
  3. foto
    Гость 6 ноября 2020 21:28 #
    на 14 дле пишет: "По данному адресу публикаций на сайте не найдено, либо у Вас нет доступа для просмотра информации по данному адресу."
    0
    1. foto
      Администратор 6 ноября 2020 22:03 #
      Проверил на DLE 14.1, установил в виде плагина, никаких проблем, все работает.
      0
  4. foto
    Посетитель 23 декабря 2023 23:07 #
    А вот на 17.0 не работает! :)
    0
Добавить комментарий

Внимание! Все сообщения касающиеся техподдержки будут удалены или проигнорированы

Attention! All messages asking for technical support will be removed or ignored

  • Логин
  • E-mail (не обязательно)
Повторите рисунок:
antibot
© Sander-Development. 2009-2024.
При копировании, ссылка на источник обязательна.