Forums / Setup & design / how to setup a menu with only specific folders

how to setup a menu with only specific folders

Author Message

elaheh tabbakh maher

Saturday 07 March 2009 5:25:09 pm

Hi,
Can someone tell me how to setup a menu from only specific folders, I have to show a menu in a template with only ;
Folder 1
Folder4
Folder5

Thank you,

Jean-Yves Zinsou

Sunday 08 March 2009 5:21:42 am

Hi,
you could add some checking in the loop displaying the folders ...

{def folder1_id=123,
folder2_id= 134, 
folder3_id=233}
{def $folders_to _display=array($folder1_id, $folder2_id, $folder3_id)}
{foreach $children as $child}
{if $folders_to_display|contains($child)}
{*display the entry*}
{/if}

{/foreach}

Code not tested, but that is the idea...

HTH

jey

Do Androids Dream of Electric Sheep?
I dream of eZpubliSheep....
------------------------------------------------------------------------
http://www.alma.fr

elaheh tabbakh maher

Sunday 08 March 2009 10:35:18 am

Hi,
I am using the double_top.tpl with topdrop extension and the code for showing the first level is as follow and I am not sure where in that code should be changed with your suggestion:
------------------------------------

{def $base=fetch( 'content', 'node', hash( 'node_id', 2 ) )} {* FIRST LEVEL *} {def $i=0} {section loop=fetch(content,list,hash(parent_node_id,$top_cat, class_filter_type, "include", class_filter_array, array(1, 16, 17, 19, 20, 23, 38, 39),sort_by,$base.sort_array))} {let child_check=fetch(content,list,hash(parent_node_id,$:item.node_id, class_filter_type, "include", class_filter_array, array(1, 16, 17, 19, 20, 23, 38, 39),sort_by,$base.sort_array))} {set $i=inc( $i )}
<li><a class="{concat('menu_',$i)}" href={$:item.url_alias|ezurl}>{$:item.name}

{section show=$child_check|count|gt(0)}

{* SECOND LEVEL *}
<!--[if IE 7]><!--></a><!--<![endif]-->
------------------------------------------------------------------------------------------------

Thank you

Jean-Yves Zinsou

Sunday 08 March 2009 10:58:25 am

I am not very familiar with the section loop but this is where i would put it...


{def $base=fetch( 'content', 'node', hash( 'node_id', 2 ) )} 
{* FIRST LEVEL *} 
{def $i=0}
 {section loop=fetch(content,list,hash(parent_node_id,$top_cat, class_filter_type, "include", class_filter_array, array(1, 16, 17, 19, 20, 23, 38, 39),sort_by,$base.sort_array))} 
{*-----------your checking here start-------------*}
{if $folders_to_display|contains($:item.node_id)}

{let child_check=fetch(content,list,hash(parent_node_id,$:item.node_id, class_filter_type, "include", class_filter_array, array(1, 16, 17, 19, 20, 23, 38, 39),sort_by,$base.sort_array))} {set $i=inc( $i )}

<li><a class="{concat('menu_',$i)}" href={$:item.url_alias|ezurl}>{$:item.name}

{section show=$child_check|count|gt(0)}

{* SECOND LEVEL *}
<!--[if IE 7]><!--></a><!--<![endif]-->

{/section}
{*-----------your checking here end------------*}
{/end if}
{/section}

Do Androids Dream of Electric Sheep?
I dream of eZpubliSheep....
------------------------------------------------------------------------
http://www.alma.fr

elaheh tabbakh maher

Friday 13 March 2009 4:34:50 am

Hi,
Thank you for your help, but this code does not work, it puts a strange menu out of where it should appear and it does not appear and does not work with double_top.tpl.
Regards

Jean-Yves Zinsou

Friday 13 March 2009 5:01:40 am

Hi , it is because it was not clear enough.

The code you gave is incomplete ,


{def $base=fetch( 'content', 'node', hash( 'node_id', 2 ) )} {* FIRST LEVEL *} {def $i=0} {section loop=fetch(content,list,hash(parent_node_id,$top_cat, class_filter_type, "include", class_filter_array, array(1, 16, 17, 19, 20, 23, 38, 39),sort_by,$base.sort_array))} {let child_check=fetch(content,list,hash(parent_node_id,$:item.node_id, class_filter_type, "include", class_filter_array, array(1, 16, 17, 19, 20, 23, 38, 39),sort_by,$base.sort_array))} {set $i=inc( $i )}
<li><a class="{concat('menu_',$i)}" href={$:item.url_alias|ezurl}>{$:item.name}

{section show=$child_check|count|gt(0)}

{* SECOND LEVEL *}
<!--[if IE 7]><!--></a><!--<![endif]-->


{*code missing here there should be a /section somewhere*}
 

in fact you have to replace the code section you gave with



{def $base=fetch( 'content', 'node', hash( 'node_id', 2 ) )} 

{* FIRST LEVEL *} 

{def $i=0}


 {section loop=fetch(content,list,hash(parent_node_id,$top_cat, class_filter_type, "include", class_filter_array, array(1, 16, 17, 19, 20, 23, 38, 39),sort_by,$base.sort_array))} 

{*-----------your checking here start-------------*}


{if $folders_to_display|contains($:item.node_id)}
{let child_check=fetch(content,list,hash(parent_node_id,$:item.node_id, class_filter_type, "include", class_filter_array, array(1, 16, 17, 19, 20, 23, 38, 39),sort_by,$base.sort_array))} {set $i=inc( $i )}
 
<li><a class="{concat('menu_',$i)}" href={$:item.url_alias|ezurl}>{$:item.name}
{section show=$child_check|count|gt(0)}

{* SECOND LEVEL *}
<!--[if IE 7]><!--></a><!--<![endif]-->

Then find the next {/section} tag
and add

{/end if}

after it

Sorry, things that may be obvious for one, may not be to others.
My apologies.

Hope this really helps this time ;-)
Jey

Do Androids Dream of Electric Sheep?
I dream of eZpubliSheep....
------------------------------------------------------------------------
http://www.alma.fr

eZ debug

Timing: Jan 18 2025 16:05:35
Script start
Timing: Jan 18 2025 16:05:35
Module start 'content'
Timing: Jan 18 2025 16:05:36
Module end 'content'
Timing: Jan 18 2025 16:05:36
Script end

Main resources:

Total runtime1.0557 sec
Peak memory usage4,096.0000 KB
Database Queries203

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0068 587.8594180.8125
Module start 'content' 0.00680.9232 768.6719593.6328
Module end 'content' 0.93000.1256 1,362.3047341.3672
Script end 1.0556  1,703.6719 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00460.4373210.0002
Check MTime0.00160.1499210.0001
Mysql Total
Database connection0.00060.058510.0006
Mysqli_queries0.970391.91012030.0048
Looping result0.00200.18882010.0000
Template Total1.026897.320.5134
Template load0.00220.210120.0011
Template processing1.024697.056120.5123
Template load and register function0.00020.014610.0002
states
state_id_array0.00090.081910.0009
state_identifier_array0.00080.073320.0004
Override
Cache load0.00190.1825520.0000
Sytem overhead
Fetch class attribute can translate value0.00130.119230.0004
Fetch class attribute name0.00100.095270.0001
XML
Image XML parsing0.00100.093130.0003
class_abstraction
Instantiating content class attribute0.00000.001790.0000
General
dbfile0.00320.2997270.0001
String conversion0.00000.001130.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
6content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
10content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
15content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
3content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
5content/datatype/view/ezxmltags/literal.tpl<No override>extension/community/design/standard/templates/content/datatype/view/ezxmltags/literal.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 41
 Number of unique templates used: 7

Time used to render debug report: 0.0001 secs