Есть вот такая строка
<input type="text" value="{$categoryID}" name="cat">
Можно ли как-то обратиться к переменной $categoryID из php кода?
UP
smarty.php
$smarty->assign( "categoryID", $categoryID);
cat.html
... код и include файла smarty.php
{php}
$foo = $smarty->get_template_vars('$categoryID');
print_r($foo);
{/php}
Для получения значений ранее присвоенных переменных шаблона в Smarty 3 используется метод getTemplateVars(). При вызове без параметров возвращает весь массив присвоенных переменных, а при указании в качестве параметра имени переменной, возвращает соответственно ее значение.
<?php
$smarty->assign('foo', 'bar');
$foo = $smarty->getTemplateVars('foo');
$all_tpl_vars = $smarty->getTemplateVars();
Для более ранних версий (Smarty 2.x) используется get_template_vars()
$smarty = new Smarty;
$smarty->assign('foo', 123);
$foo = $smarty->get_template_vars('foo');
print_r($foo);
UPD
Поскольку вопрос был обвнолен, то решение несколько меняется. Выше приведенный код относится не к шаблону, а пхп коду. В случае, доступа к переменной из шаблона внутри тэгов {php} код будет следующий:
{php}
print_r($this->get_template_vars('foo'))
{/php}
Естественно тут работа идет уже внутри самого смарти, т.к. что обращаться надо к $this.
ну а вообще тэг {php} исключен из Smarty3, т.к. не надо мешать логику и представление, ибо это плохо.
Продвижение своими сайтами как стратегия роста и независимости