ホームページ >バックエンド開発 >PHPチュートリアル >Smarty はこのレイアウトにどのように値を割り当てますか?

Smarty はこのレイアウトにどのように値を割り当てますか?

WBOY
WBOYオリジナル
2016-06-23 14:22:49785ブラウズ

本帖最后由 u011682370 于 2013-09-23 13:36:24 编辑

smarty 布局 php



这种一个大图,然后四个小图,四个小图,一个大图,这样循环的,该如何赋值?

回复讨论(解决方案)

求大神帮帮我!谢谢了

$ar=array(
     'big1'=array('scr'=>....),
     'small'=array(............),
     'big2'=array('scr'=>....),
)

可以这样定义吧

$ar=array(
     'big1'=array('scr'=>....),
     'small'=array(............),
     'big2'=array('scr'=>....),
)

可以这样定义吧
不是很懂,我是新手,可以详细解释一下吗?

$ar=array(
     'big1'=array('scr'=>....),   //输出大图
     'small'=array(............),     //输出小图
     'big2'=array('scr'=>....),   //输出大图
)

当然,我这是一例,还有很多方法,你觉得怎样方便就怎样来。

smarty 做一个foreach 循环 出数组 数组根据你需要来组建就可以咯

看下smarty的 assgin

如果你循环的数组是:
$data=array(
    0=>array('big'=>array('src'=>'...', ...),'small'=>array('src'=>'...', ...)),
    1=>array('big'=>array('src'=>'...', ...),'small'=>array('src'=>'...', ...)),
);

那么前台页面代码可以这样写:


  <{foreach from=$data item=it key=ke}>
    <{if $smarty.foreach.item.iteration % 2 == 1}>
      

        <{foreach from=$it.small item=s_it key=s_ke}>
          

        <{/foreach}>
      

      

    <{else}>
      

      

        <{foreach from=$it.small item=s_it key=s_ke}>
          

        <{/foreach}>
      

    <{/if}>
  <{/foreach}>


注释:
if $smarty.foreach.item.iteration % 2 == 1  
这个条件是判断当前迭代对2取整是否等于1,如果是,那么就显示四小图一大图的布局,否则就显示一大图四小图的布局。

不知道我的理解是不是你想问的,希望能帮到你。

如果你循环的数组是:
$data=array(
    0=>array('big'=>array('src'=>'...', ...),'small'=>array('src'=>'...', ...)),
    1=>array('big'=>array('src'=>'...', ...),'small'=>array('src'=>'...', ...)),
);

那么前台页面代码可以这样写:



注:
if $smarty.foreach.item.iteration % 2 == 1
この条件は、現在の反復における 2 の丸めが 1 に等しいかどうかを判断することです。そうであれば、4 つの小さな画像のレイアウトが決まります。それ以外の場合は、大きい画像 1 枚と小さい画像 4 枚のレイアウトが表示されます。

私の理解があなたが聞きたいことであるかどうかわかりませんが、お役に立てれば幸いです。

訂正: 2 の余りです


ループする配列が次の場合:
$data=array(
0=>array('big'=>array('src'=>'.. . ', ...),'small'=>array('src'=>'...', ...)),
1=>array('big'=>array(' src '=>'...', ...),'small'=>array('src'=>'...', ...)),
); 次に、前ページコード 次のように記述できます:


<{foreach from=$data item=it key=ke}> <{if $smarty.foreach.item.反復 % 2 == 1}>
「」>gt;
< ="exa_eve">< ;a href=">
/>
>


注:
if $smarty.foreach.item.iteration % 2 == 1
この条件は、2 の現在の反復が 1 に等しいかどうかを判断することです。そうであれば、4 つの小さなピクチャ 1 つの大きなピクチャのレイアウトが表示されます。そうでない場合は、1 つの大きなピクチャと 4 つの小さなピクチャのレイアウトが表示されます。

私の理解があなたが聞きたいことであるかどうかわかりませんが、お役に立てれば幸いです。

訂正: 2の余りです
同じではありませんが、解決策が得られました、ありがとうございます