2017-10-30 130 views
0

配列'Small','Medium 'および'Large'をランダム化しようとしていますが、コード内に実装するポイントがありません。foreach内のSmarty配列をランダム化

私のforeachのコードは:

{foreach $Item->images as $image} 
    <img src="{$image->Small}" /> 
{/foreach} 

は、私が最初の配列で、それらを呼び出すよりも割り当てるべきでしょうか?

他に何が使えますか?

答えて

1

私はSmartyを実際に使用していませんが、このようなPHPタグを使用することはできませんか?

{php} 
    $values = ['Small', 'Medium', 'Large']; 
    $randKey = array_rand($values); 
    // Do something ... 
{/php} 

プレーンなPHPで、あなたはそのような単純な欲しいものを達成することができます:Smarty3で可能ですすでにどのように

<?php $values = ['Small', 'Medium', 'Large']; ?> 
<?php foreach($item->images as $image) : ?> 
    <?php $randKey = array_rand($values); ?> 
    <?= <img src="{$image->{$values[$randKey]}}" />; ?> 
<?php endforeach; ?> 
+0

ありがとう、Smartyでそれを行う方法を見つけました。あなたの投稿は 'array_rand'で私を助けました。乾杯 – karadayi

0

を見つけました。

{assign var=size value=['Small'=>'small','Middle'=>'middle','Large'=>'large']} 

{foreach $Item->images as $image} 
    <img src="{$image->{$size|array_rand}}" /> 
{/foreach} 
関連する問題