2015-01-21 3 views
0

Я хотел бы сохранить результат атрибута значения ввода qty_hidden в переменной $selectedQty, а затем использовать его в раскрывающемся списке, чтобы определить, какой вариант следует выбрать.Назначение переменной в Smarty

<input type="hidden" name="qty_hidden" value="{if $quantityDisplayed == 0 AND isset($customizedDatas.$productId.$productAttributeId)}{$customizedDatas.$productId.$productAttributeId|@count}{else}{$product.cart_quantity-$quantityDisplayed}{/if}"> 

<select name="qty"> 
<option value="1"{if $selectedQty==1}{" selected='selected'"}{/if}>1</option> 
<option value="2"{if $selectedQty==2}{" selected='selected'"}{/if}>2</option> 
<option value="3"{if $selectedQty==3}{" selected='selected'"}{/if}>3</option> 
</select> 

После прочтения документации Smarty я до сих пор не понимаю, как ее вставить в переменную.

+1

В документации Smarty прочитайте раздел ['Smarty для программистов'] (http://www.smarty.net/docs/en/smarty.for.programmers.tpl). Сначала прочитайте о методах и начните с ['assign()'] (http://www.smarty.net/docs/en/api.assign.tpl) и ['display()'] (http: // www .smarty.net/документы/о/api.display.tpl). Это все, что вам нужно для начала. – axiac

ответ

1

Просто назначьте его beforehands и использовать его позже:

{$selectedQty = ""} <?php // default ?> 
{if $quantityDisplayed == 0 AND isset($customizedDatas.$productId.$productAttributeId)} 
    {$selectedQty = $customizedDatas.$productId.$productAttributeId|@count} 
{else} 
    {$selectedQty = ($product.cart_quantity-$quantityDisplayed)} 
{/if} 
<input type="hidden" name="qty_hidden" value="{$selectedQty}"> 

<select name="qty"> 
<option value="1"{if $selectedQty==1}{" selected='selected'"}{/if}>1</option> 
<option value="2"{if $selectedQty==2}{" selected='selected'"}{/if}>2</option> 
<option value="3"{if $selectedQty==3}{" selected='selected'"}{/if}>3</option> 
</select> 

Подробнее о assigning variables in the docs.