All Sub-menu Items appear as "current" when expanded Site Menu is printed

Components

Labels

Description

All sub-menu items appear as current, when you are printing expanded site
menu version.

  • menu1

  • menu11

  • menu12

  • menu13

  • menu2

  • menu21

  • menu22

  • menu23

For example when you want print menu mentioned above and highlight current

page in it, then you should compare this using given tag:
*<inp2:m_if check="m_Get" name="m_cat_id"
equals_to="$cat_id">highlighted</inp2:m_if>* .

Mentioned above tag will always display "highlighted" because of "m_cat_id"
request variable, which is compare here is always overwritten from
*<inp2:st_CachedMenu
.../>* tag. It was done long ago to automatically pass category into menu
item links and for this tag to work: <inp2:m_Link template="$template"/>.

Proper way to build links to menu items is by directly passing category id
to them like this <inp2:m_Link template="$template" m_cat_id="$cat_id"/>.

As a fix I propose to remove code, that sets m_cat_id from st_CachedMenu tag
and patch all our themes (if needed). For users who have customized their
themes or created new onces I propose to write note about required change in
theme templates in "ChangeLogMessage" field in task, that would be created
based on this discussion.

Context Information

None

Additional information (do not use)

Changes to be made in customized themes:

BEFORE:
<inp2:m_Link template='$template'/>
<inp2:st_CachedMenu render_as="sub_menu_element"/>

AFTER:
<inp2:m_Link template='$template' m_cat_id='$cat_id' use_section='$use_section' m_cat_page='1'/>
<inp2:st_CachedMenu render_as="sub_menu_element" category_id="$cat_id"/>

Attachments

1
  • 05 Jan 2011, 08:46 AM

Confluence content

mentioned on

Phabricator

Activity

Show:

Dmitry Andrejev March 30, 2011 at 2:53 PM

Closing, since 5.1.2 release has been released.

Alex January 9, 2011 at 2:24 PM

Fix committed to [b]5.1.x branch/b. Commit Message:

Fixes #0000687: All Sub-menu Items appear as "current" when expanded Site Menu is printed

Dmitry Andrejev January 5, 2011 at 7:27 PM

Erik, Gleb, Nikita,

Please take a close look to this task since it will be affecting your TPL/HTMLs in the future.

If any questions, please feel free to ask in Google Groups. Link to discussion can be found in Reference field of this task.

Dmitry Andrejev January 5, 2011 at 7:22 PM

Reviewed and tested okay, please commit.

Alex January 5, 2011 at 8:50 AM

Here is test code, that I've placed in "footer.elm.tpl" of "advanced" theme:

----------------------
(edit note to get correct HTML!!!)
----------------------

FOOTER MENU:
<div>
<inp2:m_DefineElement name="top_menu_element">
<li>
<inp2:m_if check="m_Param" name="active">
ACTIVE:
</inp2:m_if>
<a href="<inp2:m_Link template='$template' m_cat_id='$cat_id' use_section='$use_section'/>">
<inp2:m_Param name="title"/>
</a>

<inp2:m_if check="m_Param" name="has_sub_menu">
<ul style="overflow: visible; border: 1px solid green;">
<inp2:st_CachedMenu render_as="sub_menu_element" category_id="$cat_id"/>
</ul>
</inp2:m_if>
</li>
</inp2:m_DefineElement>

<inp2:m_DefineElement name="sub_menu_element">
<li>
<inp2:m_if check="m_Param" name="active">
SUB ACTIVE:
</inp2:m_if>
<a href="<inp2:m_Link template='$template' m_cat_id='$cat_id' use_section='$use_section'/>">
<inp2:m_Param name="title"/>
</a>
</li>
</inp2:m_DefineElement>

<ul style="overflow: visible; border: 1px solid red;">
<inp2:st_CachedMenu render_as="top_menu_element" category_id="1"/>
</ul>
</div>

----------------------

You need to have some 2nd level sections to be created to test, e.g. "Directory -> Sub Directory 1". Code above don't show "SUB ACTIVE" (even if 2nd level sub section is selected) until patch is applied.

----------------------

All themes were using correct tags, so no changes required there.

Fixed

Priority

Assignee

Alex

Reporter

Developer

Change Log Message

Patch Instructions

Patches must be submitted through Phabricator.

External issue ID

Fix versions

Affects versions

Created April 9, 2010 at 5:02 AM
Updated December 29, 2024 at 9:15 PM
Resolved March 30, 2011 at 2:53 PM

Flag notifications