首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用节在智能tpl中创建变量

使用节在智能tpl中创建变量
EN

Stack Overflow用户
提问于 2015-01-19 12:26:16
回答 2查看 152关注 0票数 1

我想在smarty中使用节来创建一个变量。我在类中用for循环分配了变量。我的代码是:

代码语言:javascript
复制
for($i=1;$i<=$_REQUEST['parcel_quantity'];$i++)                     
{                       
    ${"grith_".$i}=$_REQUEST['parcel_grith_'.$i];
    ${"width_".$i}=$_REQUEST['parcel_width_'.$i];
    ${"height_".$i}=$_REQUEST['parcel_height_'.$i];
    ${"weight_".$i}=$_REQUEST['parcel_weight_'.$i];
    ${"volumetric_weight".$i}=(${"grith_".$i}*${"width".$i}*${"height_".$i})/4000;
    $objSmarty->assign("volumetric_weight".$i,${"volumetric_weight".$i}); 
    $objSmarty->assign("select_l".$i,${"grith_".$i});   
    $objSmarty->assign("select_w".$i,${"width_".$i});                   
    $objSmarty->assign("select_h".$i,${"height_".$i});                  
    $objSmarty->assign("select_weight".$i,${"weight_".$i}); 
}

现在我想在tpl:中使用这些赋值

代码语言:javascript
复制
{section name=data start=0 loop=$parcel_quantity}`
    <li><a ><strong>Dimentions :-</strong>&nbsp;{$select_h}{$smarty.section.data.index+1}{$unit}&nbsp;X&nbsp;{$select_w}{$smarty.section.data.index+1}{$unit}&nbsp;X&nbsp;{$select_l}{$unit}</a></li>
    <li><a ><strong>Volumetric Weight :-</strong>&nbsp;{$volumetric_weight}{$smarty.section.data.index+1}Kg</a></li>
{/section}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-22 05:57:26

最后我用另一种方法得到了它。我将所有值放入一个变量中,并将其赋值,并在tpl中作为智能变量使用。

代码语言:javascript
复制
 for($i=1;$i<=$_REQUEST['parcel_quantity'];$i++)
                            {
                            ${"grith_".$i}=$_REQUEST['parcel_girth_'.$i];   
                            ${"width_".$i}=$_REQUEST['parcel_width_'.$i];   
                            ${"height_".$i}=$_REQUEST['parcel_height_'.$i]; 
                            ${"weight_".$i}=$_REQUEST['parcel_weight_'.$i]; 
                            ${"volumetric_weight".$i}= ($_REQUEST['parcel_girth_'.$i]*$_REQUEST['parcel_width_'.$i]*$_REQUEST['parcel_height_'.$i])/4000 ;

                            if(${"weight_".$i}>${"volumetric_weight".$i})
                        ${"weight_main_".$i}=${"weight_".$i};
                        else
                        ${"weight_main_".$i}=${"volumetric_weight".$i};

                        $total_weight+= ${"weight_main_".$i};



                            // Put all values in variable with design 
                            $veiw_in_right.='
                             <li><strong>Parcel Detail:'.$i.'</strong></li><li><a ><strong>Dimentions :-</strong>&nbsp;'.${"height_".$i}.$unit.'&nbsp;X&nbsp;'.${"width_".$i}.$unit.'&nbsp;X&nbsp;'.${"grith_".$i}.$unit.'</a></li>
              <li><a ><strong>Volumetric Weight :-</strong>&nbsp;'.${"volumetric_weight".$i}.'Kg</a></li>
              <li><a ><strong>Weight:-</strong>&nbsp;'.${"weight_".$i}.'Kg</a><hr></li>';   

         $objSmarty->assign("veiw_in_right",$veiw_in_right);

                        }

在Tpl中,只需放入变量:

代码语言:javascript
复制
<li><a ><strong>No of Pieces :-</strong>&nbsp;{$parcel_quantity}</a><hr /></li>
        {$veiw_in_right}
     <li><a ><strong>Total Weight :-</strong>&nbsp;{$total_weight}Kg</a></li>
票数 0
EN

Stack Overflow用户

发布于 2015-01-20 17:50:25

这样的尝试,它会工作的:

tpl :

代码语言:javascript
复制
{section name=data start=0 loop=$parcel_quantity}
   {$parcel_quantity[data].value}
{/section}

在这里,{$parcel_quantity[data].value}是从该节检索的值。您必须将field name替换为value

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28024638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档