Display DIVS in random order

The place to talk about things that are related to CMS Made simple, but don't fit anywhere else.
Post Reply
Joseph777
Forum Members
Forum Members
Posts: 206
Joined: Wed Mar 16, 2011 9:13 am

Display DIVS in random order

Post by Joseph777 »

Hello

How do i display DIVS (see bellow) in random order?

Code: Select all

{content block='block_1' assign='block_1' label='1. Block' wysiwyg='false'}
{content block='block_2' assign='block_2' label='2. Block' wysiwyg='false'}
{content block='block_3' assign='block_3' label='3. Block' wysiwyg='false'}
{content block='block_4' assign='block_4' label='4. Block' wysiwyg='false'}
{content block='block_5' assign='block_5' label='5. Block' wysiwyg='false'}


{if $block_1}
<div>
{$block_1}
</div>
{/if}

{if $block_2}
<div>
{$block_2}
</div>
{/if}

{if $block_3}
<div>
{$block_3}
</div>
{/if}

{if $block_4}
<div>
{$block_4}
</div>
{/if}

{if $block_5}
<div>
{$block_5}
</div>
{/if}
Jos
Support Guru
Support Guru
Posts: 4020
Joined: Wed Sep 05, 2007 8:03 pm

Re: Display DIVS in random order

Post by Jos »

Maybe something like this? (didn't test myself)

Code: Select all

{content block='block_1' assign='block[1]' label='1. Block' wysiwyg='false'}
{content block='block_2' assign='block[2]' label='2. Block' wysiwyg='false'}
{content block='block_3' assign='block[3]' label='3. Block' wysiwyg='false'}
{content block='block_4' assign='block[4]' label='4. Block' wysiwyg='false'}
{content block='block_5' assign='block[5]' label='5. Block' wysiwyg='false'}

{assign var=blockids value=[1,2,3,4,5]}
{capture}{$blockids|@shuffle}{/capture}

{foreach $blockids as $blockid}
{if !empty($block[$blockid])}
<div>
{$block[$blockid]}
</div>
{/if}
{/foreach}
Joseph777
Forum Members
Forum Members
Posts: 206
Joined: Wed Mar 16, 2011 9:13 am

Re: Display DIVS in random order

Post by Joseph777 »

thanks for reply

show these errors:

Code: Select all

string(129) "Smarty error: [in tpl_body:34 line 13]: syntax error: invalid attribute name: '$blockids' (Smarty_Compiler.class.php, line 1550)" string(132) "Smarty error: [in tpl_body:34 line 13]: syntax error: expecting '=' after attribute name 'as' (Smarty_Compiler.class.php, line 1558)" string(139) "Smarty error: [in tpl_body:34 line 13]: syntax error: expecting '=' after attribute name '$blockid' (Smarty_Compiler.class.php, line 1591)" string(126) "Smarty error: [in tpl_body:34 line 13]: syntax error: foreach: missing 'from' attribute (Smarty_Compiler.class.php, line 1165)" 
Jos
Support Guru
Support Guru
Posts: 4020
Joined: Wed Sep 05, 2007 8:03 pm

Re: Display DIVS in random order

Post by Jos »

Did you copy/paste literally?
please check this part:
<div>
{$block[$blockid]}
</div>
Joseph777
Forum Members
Forum Members
Posts: 206
Joined: Wed Mar 16, 2011 9:13 am

Re: Display DIVS in random order

Post by Joseph777 »

Jos wrote:Did you copy/paste literally?
please check this part:
<div>
{$block[$blockid]}
</div>
yes
Post Reply

Return to “The Lounge”