Smarty foreach / shuffle/random 和限制
Smarty foreach / shuffle/random and limit
我想获取项目 foreach,将它们打乱并将输出限制为 4 个项目。
我有这个。 (显示所有项目)
{content block_id=27}
{if $_content_27|count >0}
{foreach name=aussen item=box_data from=$_content_27}
<article class="news_row_article col-lg-3">
<div><img src="images/ImgResponsive_Placeholder.png" alt=""/></div>
<h3 class="news_row_headline">{$box_data.content_heading}</h3>
<p class="news_row_content">{$box_data.content_body}</p>
</article>
{/foreach}
{/if}
我找到了这个
{foreach array_rand($a_firm_display,5) as $i}
<a href="{$smarty.const.HOST}{$a_firm_display[$i].url_rewriting}"><img src="{$a_firm_display[$i].firm_logo}" /></a>
{/foreach}
或者这个
Generate distinct smarty random numbers
{assign var="distinct_numbers" value=array_fill(1,15,'x')}
{assign var="distinct_numbers" value=array_keys($distinct_numbers)}
{assign var="x" value=shuffle($distinct_numbers)}
{* result *}
{foreach from=$distinct_numbers item="value"}
{$value} |
{/foreach}
hm..以某种方式从 $_content_27 中获取项目并将它们放入数组,输出并限制它们?
有什么想法吗?
如果您不介意丢失数组键,也许您可以使用 shuffle 和 for 而不是 foreach:
{$_content_27=$_content_27|@shuffle}
{for $iter=0 to 3}
...
{$_content_27.$iter.content_heading}
...
{/for}
对于旧版本的 smarty,我发现这段代码非常有用,可以随机播放我的键 => 值数组
{capture}{$items|@shuffle}{/capture}
只需将它放在你的 foreach 循环之前,我希望它能帮助别人。
我想获取项目 foreach,将它们打乱并将输出限制为 4 个项目。
我有这个。 (显示所有项目)
{content block_id=27}
{if $_content_27|count >0}
{foreach name=aussen item=box_data from=$_content_27}
<article class="news_row_article col-lg-3">
<div><img src="images/ImgResponsive_Placeholder.png" alt=""/></div>
<h3 class="news_row_headline">{$box_data.content_heading}</h3>
<p class="news_row_content">{$box_data.content_body}</p>
</article>
{/foreach}
{/if}
我找到了这个
{foreach array_rand($a_firm_display,5) as $i}
<a href="{$smarty.const.HOST}{$a_firm_display[$i].url_rewriting}"><img src="{$a_firm_display[$i].firm_logo}" /></a>
{/foreach}
或者这个 Generate distinct smarty random numbers
{assign var="distinct_numbers" value=array_fill(1,15,'x')}
{assign var="distinct_numbers" value=array_keys($distinct_numbers)}
{assign var="x" value=shuffle($distinct_numbers)}
{* result *}
{foreach from=$distinct_numbers item="value"}
{$value} |
{/foreach}
hm..以某种方式从 $_content_27 中获取项目并将它们放入数组,输出并限制它们?
有什么想法吗?
如果您不介意丢失数组键,也许您可以使用 shuffle 和 for 而不是 foreach:
{$_content_27=$_content_27|@shuffle}
{for $iter=0 to 3}
...
{$_content_27.$iter.content_heading}
...
{/for}
对于旧版本的 smarty,我发现这段代码非常有用,可以随机播放我的键 => 值数组
{capture}{$items|@shuffle}{/capture}
只需将它放在你的 foreach 循环之前,我希望它能帮助别人。