Smarty: Вывод пользовательской функции

kabachok

Новичок
Smarty: Вывод времени генерации страници

Есть у меня к примеру функция которая выводит время генерации страници.
вывожу я её так

PHP:
<small><b>{php}echo endtime();{/php}</b>sec.</small>
есть ли другой спосов?
 

Clubber

Новичок
а не лучше ли посчитать endtime() заранее, и передать в темплэйт?
 

kabachok

Новичок
я это привёл как пример, меня интересует принцип вывода пользовательской функции в которой не задаются параметры, это возможно другим способом?
 

Clubber

Новичок
а какой смысл ты вкладываешь в понятие "пользовательской функции" ?

-~{}~ 06.08.06 01:19:

и если ты говоришь, что привел пример, то мое предложение в общем случае звучало бы так:
"а не лучше ли получить результат пользовательной функции заранее, и передать в темплэйт?"
 

kabachok

Новичок
всё, я понял :) просто первый опыт работы с темплейтами

-~{}~ 06.08.06 02:10:

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

извините что отвлёкся от первоначальной темы

-~{}~ 06.08.06 02:15:

или на эту погрешность можно забить?
 

zerkms

TDD infected
Команда форума
kabachok
или на эту погрешность можно забить?
смотря для чего она тебе нужна
по большей части посетителям абсолютно пофиг сколько времени и сколько запросов было потрачено на генерацию контента страницы
 

kabachok

Новичок
да мне можно сказать для себя, видеть тормозит сервак или инет. чтобы пользователям вразумительно ответить.
 

zerkms

TDD infected
Команда форума
kabachok
ну если повод имеенно такой - то реализуй её, чтобы она как можно более точно показывала

и сделай её не в шаблоне а в самом конце исполняемого кода выводом echo
 

kabachok

Новичок
у меня еще одна проблема.

задаю переменную $test не через assign

и она у меня не выводится в шаблоне, выводятся только переменные заданные через assign
подскажите как это исправить.
 

kabachok

Новичок
то есть это не возмоно?

-~{}~ 06.08.06 14:45:

index.php
PHP:
$smarty = new Smarty_test;

$test='test';

$tpl=tpl();

$smarty->display($tpl.'index.tpl');
index.tpl
PHP:
{include file="html/header.tpl"}
<pre>
{$test}
</pre>
{include file="html/footer.tpl"}
в шаблоне не выводит $test
 

zerkms

TDD infected
Команда форума
конечно не выводит, потому что у смарти своя "область видимости переменных". в неё входят только те, которые были переданы assign/assign_by_ref
 

kabachok

Новичок
вот жопа то, а вот така комбинаци должна работать?
PHP:
{include file="html/header.tpl"} 
<pre> 
{php} echo $test; {/php} 
</pre> 
{include file="html/footer.tpl"}
она тоже не пашет
 

zerkms

TDD infected
Команда форума
вообще тег {php} в смарти - от лукавого
представь что его не существует и реши свою задачу иначе
 

kabachok

Новичок
кусок .tpl
PHP:
<style type="text/css">{php}
if($auth[type]=='0' || empty($auth[type])) {require "./templates/style/2.css";}
if($auth[type]=='1') {require "./templates/style/".$auth['style'].".css";}{/php}
</style>
мне нужно чтобы стиль тыл непосредственно в теле страницы, а не подгружался браузером.
срабатывает первое условие всегда из за empty($auth[type])
я вот не знаю как по другому это реализовать
масив $auth не назначается через assign.

-~{}~ 06.08.06 15:07:

остаётся только читать файл в переменную?
 

zerkms

TDD infected
Команда форума
масив $auth не назначается через assign.
это почему это?
срабатывает первое условие всегда из за empty($auth[type])
я вот не знаю как по другому это реализовать
нарисовать блоксхему и транслировать на ЯП php
 

zerkms

TDD infected
Команда форума
kabachok
Язык Программирования

потому что я его не назначаю, а если даже назначаю то всё равно не срабатывает
это не программирование, а какая то "русская рулетка". может действительно в воскресенье не надо работать? ;)
 

kabachok

Новичок
Ыыы пойду пиво пить

-~{}~ 06.08.06 15:28:

но сначало почитаю bash.org.ru

всем спасибо.
 

MpaK69

Новичок
на привильнее было бы сперва все в ob_

в конце подсчитать, поставить результаты в куки

а уже в шаблоне на стороне через JavaScript вывести время работы
 
Сверху