You are here

README.txt in Menu Position 8

Same filename and directory in other branches
  1. 6 README.txt
  2. 7.2 README.txt
  3. 7 README.txt
ABOUT MENU POSITION
-------------------

Often times site builders want certain types of content to appear in a specific
position in the navigational menu. The simplest solution, adding all of that
content individually to the menu system, has performance and usability issues.
(Imagine hundreds of menu items added to one spot in the menu.)

This module allows for the creation of rules that will dynamically add the
current page into the menu system at the requested spots.

This includes affecting:
* The main links of the theme
* The secondary links of the theme
* The breadcrumb trail
* Menu blocks provided by core's Menu module
* Menu blocks provided by the Menu Block module


RULE CHECKING
-------------

Rules can be added, modified, re-ordered, disabled and deleted from the admin
page available at: Structure > Menu position rules

When multiple rules are enabled, the rules are checked as followed:
* Disabled rules are not evaluated.
* Enabled rules are evaluated in the order they appear on the "Menu position
  rules" administration form.
* The menu name used by the rule is checked to see:
  * if a menu item for the current page's path is already included in the
    specified menu, the rule is skipped.
  * if this rule's menu was used in a previously-matched rule, the rule is
    skipped.
* For each condition in the rule, the condition is evaluated. If all of the
  conditions are determined to be TRUE, the rule is "matched".
* If the rule contains no conditions, the rule is "matched".

Once a rule is "matched", the following things happen:
* If the rule's chosen menu is the "Source for the Main links" (as defined by
  the Menu Settings form at Structure > Menus > Settings), the theme's main
  links will be affected by the active trail specified in the rule.
* If the rule's chosen menu is the "Source for the Secondary links" (as defined
  by the Menu Settings form at Structure > Menus > Settings), the theme's
  secondary links will be affected by the active trail specified in the rule.
* Any menu trees generated by blocks or page content will be affected by the
  active trail specified in the rule.
* If this is the first matched rule and no rules were skipped because their
  menu already contained a menu item for the current page, the theme's
  breadcrumbs will be affected by the active trail specified in the rule.


PLUG-INS
--------

Currently, the Menu position module only provides "content type" and "pages"
plug-ins that allow conditions to be added to rules based on the type of content
being displayed or on the path of the page. However, this module also provides a
simple API for "rule conditions" plug-ins so module developers can develop their
own logic for adding dynamic menu positioning.

See the following files for more information:
- menu_position.api.php
- menu_position.example_plugin.inc
- menu_position.node_type.inc

File

README.txt
View source
  1. ABOUT MENU POSITION
  2. -------------------
  3. Often times site builders want certain types of content to appear in a specific
  4. position in the navigational menu. The simplest solution, adding all of that
  5. content individually to the menu system, has performance and usability issues.
  6. (Imagine hundreds of menu items added to one spot in the menu.)
  7. This module allows for the creation of rules that will dynamically add the
  8. current page into the menu system at the requested spots.
  9. This includes affecting:
  10. * The main links of the theme
  11. * The secondary links of the theme
  12. * The breadcrumb trail
  13. * Menu blocks provided by core's Menu module
  14. * Menu blocks provided by the Menu Block module
  15. RULE CHECKING
  16. -------------
  17. Rules can be added, modified, re-ordered, disabled and deleted from the admin
  18. page available at: Structure > Menu position rules
  19. When multiple rules are enabled, the rules are checked as followed:
  20. * Disabled rules are not evaluated.
  21. * Enabled rules are evaluated in the order they appear on the "Menu position
  22. rules" administration form.
  23. * The menu name used by the rule is checked to see:
  24. * if a menu item for the current page's path is already included in the
  25. specified menu, the rule is skipped.
  26. * if this rule's menu was used in a previously-matched rule, the rule is
  27. skipped.
  28. * For each condition in the rule, the condition is evaluated. If all of the
  29. conditions are determined to be TRUE, the rule is "matched".
  30. * If the rule contains no conditions, the rule is "matched".
  31. Once a rule is "matched", the following things happen:
  32. * If the rule's chosen menu is the "Source for the Main links" (as defined by
  33. the Menu Settings form at Structure > Menus > Settings), the theme's main
  34. links will be affected by the active trail specified in the rule.
  35. * If the rule's chosen menu is the "Source for the Secondary links" (as defined
  36. by the Menu Settings form at Structure > Menus > Settings), the theme's
  37. secondary links will be affected by the active trail specified in the rule.
  38. * Any menu trees generated by blocks or page content will be affected by the
  39. active trail specified in the rule.
  40. * If this is the first matched rule and no rules were skipped because their
  41. menu already contained a menu item for the current page, the theme's
  42. breadcrumbs will be affected by the active trail specified in the rule.
  43. PLUG-INS
  44. --------
  45. Currently, the Menu position module only provides "content type" and "pages"
  46. plug-ins that allow conditions to be added to rules based on the type of content
  47. being displayed or on the path of the page. However, this module also provides a
  48. simple API for "rule conditions" plug-ins so module developers can develop their
  49. own logic for adding dynamic menu positioning.
  50. See the following files for more information:
  51. - menu_position.api.php
  52. - menu_position.example_plugin.inc
  53. - menu_position.node_type.inc