php в шаблоне

Nikso
Posts: 590
Joined: Tue Mar 05, 2013 3:59 am

php в шаблоне

Post by Nikso »

php вставки в шаблоне конечно здорово, и позволяет многое кастомизировать. Плохо то что они срабатывают при каждом открытии страницы. Хорошо бы иметь возможность задавать свои теги
<!--MY_SOME_SHIT--> которые бы срабатывали один раз при генерации страницы в кеш.
и гдето в common.php, например, описывать его вывод.

И диапазоны выводов наверное тоже
<my_some_other_shit my_num=1-4 my_somevar=GET_ololo>
<!--MY_SOME_SHIT-->
</my_some_other_shit>
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: php в шаблоне

Post by admin »

Просто переменные можно добавлять как

admin/?operation=rotation&sub=rot_tube&subsub=rot_cms_custom_vars&

про перечисление не совсем ясно - как оно догадается что перечислять по совершенно незнакомому тагу ?
Don't forget to run script update
Nikso
Posts: 590
Joined: Tue Mar 05, 2013 3:59 am

Re: php в шаблоне

Post by Nikso »

допустим я создаю переменную <!--MY_SOME_VAR--> ее код <? echo "Hello world"; ?>
когда будет сгенерирован шаблон в кеш, на месте <!--MY_SOME_VAR--> будет записано Hello world или же <? echo "Hello world"; ?>

Перечисление пока оставим.
Ailk
Posts: 90
Joined: Fri Mar 28, 2014 8:43 am

Re: php в шаблоне

Post by Ailk »

Спрошу тут до кучи. Можно ли в шаблоне использовать массив категорий из смарта?

Тот, который родной.

Code: Select all

print_r($categories);
Или какая там переменная используется под массив.
Было бы удобнее выводить самому без тега. И проще по буквам раскидать в таком случае. Чтоб не писать стену из 200 категорий руками.

В идеале конечно было бы знать, какие данные вообще можно использовать в шаблонах, мимо тегов (например точно есть массив $user).
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: php в шаблоне

Post by admin »

Nikso wrote:допустим я создаю переменную <!--MY_SOME_VAR--> ее код <? echo "Hello world"; ?>
когда будет сгенерирован шаблон в кеш, на месте <!--MY_SOME_VAR--> будет записано Hello world или же <? echo "Hello world"; ?>

Перечисление пока оставим.

Будет именно то что вы написали переменной те

<? echo "Hello world"; ?>

но когда будет уже отрабатывать темпелйт на сайте то выведет просто

Hello world
Don't forget to run script update
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: php в шаблоне

Post by admin »

Ailk wrote:Спрошу тут до кучи. Можно ли в шаблоне использовать массив категорий из смарта?

Тот, который родной.

Code: Select all

print_r($categories);
Или какая там переменная используется под массив.
Было бы удобнее выводить самому без тега. И проще по буквам раскидать в таком случае. Чтоб не писать стену из 200 категорий руками.

В идеале конечно было бы знать, какие данные вообще можно использовать в шаблонах, мимо тегов (например точно есть массив $user).
Да, можно юзать и типа $categories но тогда оно не будет кешится и будет идти по этому массиву каждый раз при каждой загрузке страницы.
Don't forget to run script update
Ailk
Posts: 90
Joined: Fri Mar 28, 2014 8:43 am

Re: php в шаблоне

Post by Ailk »

Так если сам массив будет кеширован, то какая разница? Рендер такого блока практически ничего не стоит и на производительность не повлияет.
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: php в шаблоне

Post by admin »

Технически да
Надо вынести как-то красиво в темпелйты, но пока можно сделать $GLOBALS['categories_abc'] и идти по нему
Don't forget to run script update
Ailk
Posts: 90
Joined: Fri Mar 28, 2014 8:43 am

Re: php в шаблоне

Post by Ailk »

Отлично!
А есть универсальная кеш функция в смарте. которая учитвает выбранный кеш? (мемкеш, или редис, у кого как).

Положить в кеш\достать из кеша.
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: php в шаблоне

Post by admin »

Есть Cache::get() Cache::set()

но надо проверять будут ли они корректно работать в темплейтах
Don't forget to run script update
Post Reply