Forums / Setup & design / Display small icon when an object has child-objects

Display small icon when an object has child-objects

Author Message

willy jansen

Tuesday 28 September 2004 11:35:59 am

Hi,

In my menu I'd like to add a small icon (e.g. the PLUS sign) to a menu-item when that item has sub-items... in other words: when the object has child-objects. In that case a user knows that the menu expands when he clicks on the menu item.

How could I achive that?

The menu I'm using is:

{let docs=treemenu( $module_result.path, 
                    $module_result.node_id,
                    array('folder','article'), 1, 2 )
                    depth=1}

        <ul>
        {section var=menu loop=$:docs last-value}
            {section show=and($menu.last.level|gt($menu.level),$menu.number|gt(1))}

           </ul>
           </li>
           {/section}
            <li>
            {section show=and($menu.last.level|lt($menu.level),$menu.number|gt(1))}
            <ul>
               <li>
            {/section}

            {set depth=$menu.level}
            <a {$menu.is_selected|choose('','class="selected"')}
                href={$menu.url_alias|ezurl}>{$menu.text|shorten(35)}</a>

           </li>
        {/section}
        </ul>

        {section show=$depth|gt(1) loop=$depth|sub(1)}
         </li>
        </ul>
        {/section}

        {/let}

willy jansen

Tuesday 09 November 2004 7:37:38 am

I now use the (ugliest of all solutions): I check what the id of the node that is shown in the menu is and place a "plus" sign before... :'( ... the best I could come up with

did anybody implement a more elegant solution?

{let docs=treemenu( $module_result.path, 
                    $module_result.node_id,
                    array('folder'), 2, 2 )
                    depth=1}

        {section var=menu loop=$:docs last-value}
            {section show=and($menu.last.level|gt($menu.level),$menu.number|gt(1))}

           </ul>
           </li>
           {/section}
            <li>
            {section show=and($menu.last.level|lt($menu.level),$menu.number|gt(1))}
            <ul>
               <li>
            {/section}

            {set depth=$menu.level}


{* $menu|attribute(show) *}

{section name=plus show=$menu.id|eq(117)}+{/section}
{section name=plus show=$menu.id|eq(118)}+{/section}
            <a {$menu.is_selected|choose('','class="selected"')}
                href={$menu.url_alias|ezurl}>{$menu.text|shorten(35)}</a>

           </li>
        {/section}
        </ul>

        {section show=$depth|gt(1) loop=$depth|sub(1)}
         </li>
        </ul>
        {/section}

        {/let}

eZ debug

Timing: Jan 31 2025 01:23:35
Script start
Timing: Jan 31 2025 01:23:35
Module start 'content'
Timing: Jan 31 2025 01:23:36
Module end 'content'
Timing: Jan 31 2025 01:23:36
Script end

Main resources:

Total runtime1.1911 sec
Peak memory usage10,240.0000 KB
Database Queries189

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0066 588.1563370.2734
Module start 'content' 0.00661.0324 958.42974,171.3281
Module end 'content' 1.03900.1520 5,129.75781,335.9141
Script end 1.1910  6,465.6719 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00590.4974210.0003
Check MTime0.00150.1276210.0001
Mysql Total
Database connection0.00070.058910.0007
Mysqli_queries1.056588.70211890.0056
Looping result0.00170.14321870.0000
Template Total1.142695.920.5713
Template load0.00230.190420.0011
Template processing1.140395.736020.5702
Template load and register function0.00170.139210.0017
states
state_id_array0.00070.061710.0007
state_identifier_array0.00100.087420.0005
Override
Cache load0.00180.1509120.0001
Sytem overhead
Fetch class attribute can translate value0.00290.242720.0014
Fetch class attribute name0.00230.192420.0011
XML
Image XML parsing0.00040.031320.0002
class_abstraction
Instantiating content class attribute0.00000.000520.0000
General
dbfile0.01160.9701210.0006
String conversion0.00000.000430.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
2content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
2content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
2content/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: 8
 Number of unique templates used: 5

Time used to render debug report: 0.0002 secs