Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Шаблоны (TPL) » Как работают теги в dle?

Как работают теги в dle?


     24.01.2017    Шаблоны (TPL), Общие вопросы по PHP    2190

вопрос
Здравствуйте
в DLE присутствует тег
[category=X]текст[/category]

который выводит нужный текст в указанной X категории
еще есть
{include file=""}
который вызывает некий tpl файл

Вопрос:
если на главной странице 100 вот таких комбинаций
[category=1]{include file="pages/help.tpl"}[/category]

то есть каждая категория лежит в отдельном файле tpl
Как это влияет на скорость, будет ли сильно долго грузиться с посещаемостью 3000 + человек, вызывается ли tpl файл не активный?
В общем расскажите вкратце что да как.

Заранее благодарю!

Ответа пока нет


10 комментариев

dimavdv
Юзер

dimavdv - 24 января 2017 09:51 -

Точно не знаю.
Я вот так делаю:
в main.tpl
{include file="main-seo.tpl"}

в main-seo.tpl

[page-count=1]
[aviable=main]
<h1>Главная станица</h1>
<p>описание гл станицы</p>
[/aviable]
[aviable=cat][not-aviable=showfull]
[category=1]
    <h1>Новости</h1>
    <p>описание новостей</p>
[/category][category=2]
    <h1>комедии</h1>
    <p>описание комедии</p>
[/category][category=3]
...
[/category][category=100]
    <h1>песни</h1>
    <p>описание песен</p>
[/category]
[/not-aviable][/aviable]
[/page-count]

Все работает нормально.

lutskboy
Эксперт

lutskboy - 24 января 2017 12:13 -

Как это влияет на скорость, будет ли сильно долго грузиться с посещаемостью 3000 + человек, вызывается ли tpl файл не активный?

ясное дело чем больше тегов тем дольше скрипт обрабатывает
но ето пустяки. мелочи. а tpl файл не активный не вызывается. так что вам не стоит беспокоится.

Верстала
Юзер

Верстала - 24 января 2017 12:24 -

lutskboy, спасибо
все коротко и по делу.

Sander
PHP-developer

Sander - 24 января 2017 13:05 -

все коротко и по делу.

И в корне не верно.
При такой записи:
[category=1]{include file="pages/help.tpl"}[/category]

Файл все равно вызывается. Поскольку {include обрабатывается при загрузке шаблона, а [category уже в самом-самом конце. Т.е. сначала будут подключены все файлы, а затем лишнее будет вырезано.
Но переживать не стоит, особо существенной нагрузки не будет.

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

dimavdv
Юзер

dimavdv - 24 января 2017 13:35 -

Согласен.

lutskboy
Эксперт

lutskboy - 24 января 2017 14:03 -

нет. нет. он не подключается.
по крайней мере в версии 11.1

Sander
PHP-developer

Sander - 24 января 2017 14:17 -

Если include обрамлен только category, то он в любом случае будет подключаться.
Потому что include tpl файла выполняется при подключении шаблона, а [category] уже в main.php и действует глобально на весь шаблон.

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

lutskboy
Эксперт

lutskboy - 24 января 2017 14:26 -

может быть. но я создал такую конструкцию
[category=6]{include file="1.tpl"}[/category]
[category=7]{include file="2.tpl"}[/category]
в 1 2 tpl
{include file="engine/modules/1.php"} и {include file="engine/modules/2.php"}

или можно сразу
[category=6]{include file="engine/modules/1.php"}[/category]
[category=7]{include file="engine/modules/2.php"}[/category]

в php файлах
<?php
file_put_contents("1", 'content');

?>
и
<?php
file_put_contents("2", 'content');

?>

и на главной ети файлы не подключаются вообще
а при переходе в категорию подключается только один

Sander
PHP-developer

Sander - 24 января 2017 15:53 -

Открыть файл engine/classes/templates.class.php
Найти строку:
		return $template;

И перед ней вставить
var_dump($tpl_name);


PS. PHP файлы обрабатываются после обработки всех локальных тегов, tpl перед.

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

Верстала
Юзер

Верстала - 24 января 2017 15:33 -

Sander, lutskboy,
а если так?
[aviable=cat] [category=1] {include file="pages/help.tpl"} [/category] [/aviable]

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх