Автозагрузка TPL шаблонов статических страниц
Представляем вам еще один модуль для dle этот модуль предназначен для удобного и простого создания статических страниц без использования функционала самого dle движка, достаточно просто создать TPL файл и эта страница будет доступна по адресу имени файла, все легко и просто, также не забывайте смотреть на нашем сайте другие модули для dle возможно подберете для своего проекта что не будь интересное и нужное.
Также данный модуль будет работать и на dle 14.1 просто создайте это через систему плагинов.
Установка:
1. В папке с шаблоном создать папку static в ней будут размещаться tpl файлы - где имя файла будет являться именем статической страницы. К примеру файл {THEME}/static/demo.tpl будет открываться по адресу ваш_сайт.com/demo.html
2. Открыть 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'];
}
3. Открыть engine/engine.php и найти:
switch ( $do ) {
Добавить ниже:
case "static_autoload":
include ENGINE_DIR . "/mods/$do.php";
break;
4. Создать файл engine/mods/static_autoload.php с содержимым:
PHP код файла
<?PHP
if(!defined('DATALIFEENGINE'))die("Access Denied");
$header_tags = array( 'title', 'description', 'keywords', 'noindex' );
$tpl->load_template("static/{$static_name}.tpl");
$static_metatags = array();
foreach( $header_tags as $tag )
{
preg_match( "#\\[$tag=(.*?)\\]#i", $tpl->copy_template, $found );
$tpl->copy_template = str_replace( $found[0], '', $tpl->copy_template );
$static_metatags[$tag] = trim( htmlspecialchars( stripslashes( $found[1] ), ENT_QUOTES, $config['charset'] ) );
}
$tpl->compile('content');
$tpl->clear();
$dle_module = $do = 'static';
$disable_index = $static_metatags['noindex'] ? true : false;
$static_descr = $static_metatags['title'];
$metatags['description'] = $static_metatags['description'] ?: $static_metatags['title'];
$metatags['keywords'] = $static_metatags['keywords'];
?>
5. В самом файле шаблона можно использовать теги, чтобы указать свои метатеги.
Пример файла:
[title=Метазаголовок тестовой страницы]
[description=Описание тестовой страницы для наглядности работы]
[keywords=Ключевые, слова, тестовой, страницы, тестового сайта]
[noindex=1]
<h1>Пример страницы</h1>
<div style="padding-top:15px">Текст тестовой страницы</div>
где [noindex=1] - запретить индексацию, 0 - разрешить.
Все!
- Версия DLE: 11.x - 14.1
- Категория: Модули
- Автор: Sander
- Источник:
Войдите на сайт
Все собранные средства будут переданы автору этой статьи - DEN
Сумма перевода от 10.00 рублей