Bin LIU
|
Friday 18 April 2008 2:34:52 am
In a zone, by defaut, it allow create all the block type.
For avoid it, change the template page/zone.tpl. line 11 :
{foreach ezini( 'General', 'AllowedTypes', 'block.ini' ) as $type}
By
{foreach ezini( concat($attribute.content.zone_layout,'_zone',$zone_id) , 'AllowedTypes', 'block.ini' ) as $type}
And define the list block allowed by zone de layout in block.ini. like this
#block.ini.
[HomeTOTO_zone1]
AllowedTypes[]=block1
AllowedTypes[]=block2
[HomeTITI_zone2]
AllowedTypes[]=block3
=== Lagardère Active ===
Fetch random
http://projects.ez.no/la_fetch_random
LA Static Cache
http://projects.ez.no/lastaticcache
LA Bookmarks (jquery)
http://projects.ez.no/labookmark
LA Calendar (jquery)
http://projects.ez.no/lacalendar
My site ez
http://lingping.info
|
Sebastian Schoeller
|
Wednesday 10 February 2010 12:54:33 am
Hi Bin Liu, thanks for the very useful hack. I altered it so that blocks are en-/disabled per layout. {foreach ezini( $attribute.content.zone_layout , 'AllowedBlocks', 'zone.ini' ) as $type}
Afterwards the zone.ini needs to be extended as follows
[GlobalZoneLayout]
ZoneTypeName=Global zone layout
Zones[]=main
ZoneName[main]=Global zone
ZoneThumbnail=globalzone_layout.gif
Template=globalzonelayout.tpl
AvailableForClasses[]=global_layout
AllowedBlocks[]=DemoBlock
AllowedBlocks[]=Manual2Items
AllowedBlocks[]=Manual3Items
AllowedBlocks[]=Manual4Items
AllowedBlocks[]=Manual5Items
AllowedBlocks[]=Dynamic3Items Works and does the job, although your hack is more fine grained. Thanks for the hint and best wishes Sebastian
|
Stefan Eickhoff
|
Wednesday 26 January 2011 1:20:50 am
Hi Bin Liu, very usefull tip, thank you. I use it that way
- use zone_identifier string - use [General]-Block as default
{def $allowedBlocks = cond(ezini( concat($attribute.content.zone_layout,'_', $zone.zone_identifier) , 'AllowedTypes', 'block.ini' )|count(), ezini( concat($attribute.content.zone_layout,'_', $zone.zone_identifier) , 'AllowedTypes', 'block.ini' ), ezini( 'General', 'AllowedTypes', 'block.ini' ))}
{foreach $allowedBlocks as $type}
<option value="{$type}">{ezini( $type, 'Name', 'block.ini' )}</option>
{/foreach}
#block.ini
[MyLayout_left]
AllowedTypes[]=news
AllowedTypes[]=content
[MyLayout_right]
AllowedTypes[]=teaser lg Stefan
|