Как передать переменную из Smarty в PHP

B
На сайте с 17.12.2007
Offline
31
4592

Ребят, помогите пожалуйста! Я зае#ался уже ))

В общем имеет систему на смарти. Приходится использовать {php}{/php}

Нужно туда передать переменную из массива. Уже что только не пробовал. На Smarty3 вообще не работает. При использовании {php} всё сразу глохнет. На Smarty2 работает но переменную не берёт. Как только используешь global $product.id_product; или {assign var="na" value=$product.id_product} - всё глохнет.. :(


{foreach from=$products item=product name=products}
{$product.id_product|intval}
{$product.id_product}


{* {assign var="na" value=$product.id_product}
{include_php file='../../rrr.php'} *}

{php}
global $product.id_product;
echo $product.id_product;

{/php}


{$product.name|truncate:35:'...'|escape:'htmlall':'UTF-8'}

<span class="price" style="display: inline;">{convertPrice price=$product.price}</span>

{/foreach}

T
На сайте с 19.12.2006
Offline
101
#1
Bysin:
На Smarty3 вообще не работает. При использовании {php} всё сразу глохнет.

В третьем смарти {php} отключено по дефолту.

Если необходимо использовать, надо разрешить явно.

$oSmarty->allow_php_tag=true;

И вобще, {php} в шаблоне использовать разработчики не советуют.

А если надо передать переменную в PHP, лучше написать плагин.

Здесь почитайте еще: http://www.smarty.net/forums/viewtopic.php?t=7002&postdays=0&postorder=asc&start=0

B
На сайте с 17.12.2007
Offline
31
#2

Шик!!

Благодарю! Решение найдено:

$band_id = $this->get_template_vars();

echo $band_id['product']['id_product'];

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий