Navigation Manager - Navman Plugin Documentation

Version: 0.2.0

Author: Yoshinori Tahara - dengen

Published: 2010-10-11

License: GPL v2

Overview:

Features:

Terms:

Note:

Sections of this document:

1) Installation

To install, create some directories for Navman plugin manually, you must copy some files to the appropriate directory.

In the following descriptions

Step 1 - Backup your database

Step 2 - Uncompress the plugin archive

Step 3 - Create the required plugin directories

Step 4 - Copy the required plugin files

Step 5 - Run the plugin install from the plugin editor

Step 6 - Edit a template

<body dir="{direction}">
    <div class="header-navigation-container clearfix">
        <ul>
            {menu_elements}
        </ul>
    </div>
    <div class="header-logobg-container-inner">
        <a class="header-logo" href="{site_url}/" rel="home">
            <img src="{site_logo}" width="151" height="56" alt="{site_name}"{xhtml}>
        </a>
        <span class="header-slogan">{site_slogan}</span>
    </div>
    {header_navigation} <!-- Insert a template variable for the site header menu in this line -->
    <table cellspacing="0" cellpadding="0" style="width:100%;">
        <tr>
            {left_blocks}
            <td class="story-container">
                {breadcrumbs} <!-- Insert a template variable for the breadcrumbs list in this line -->
                <p class="header-welcomeanddate-text">
                    <b>{welcome_msg_jp}</b><br{xhtml}>{datetime}
                </p>

                <!-- START OF CONTENT AREA -->

Goto Top

2) Upgrade

Before upgrading, always see UPGRADE within the Navman plugin archive.

Step 1 - Backup your database

Step 2 - Backup your PHP filters and Templates

Step 3 - Uncompress the plugin archive

Step 4 - Replace files

Step 5 - Restore your PHP filters and templates

Step 6 - Run the plugin update from the plugin editor

Goto Top

3) Uninstallation

Step 1 - Backup your database

Step 2 - Run the plugin uninstall from the plugin editor

Step 3 - Turn a template back to original

Step 4 - Delete Directories

Goto Top

4) Multi-level menu

By introducing this plugin, the multi-level menu can be installed in your Geeklog site. The simplified image is like the following figure.

The navigation is related to one menuitem group.

Some menuitems belong to the menuitem group.

Each menuitem has information, the parent item ID, and it defines a parent-child relationship among the menuitems.

Based on these data, the HTML of the nesting structure list will be output.

It is possible to make the data of the navigation and the menuitem have the class name of the stylesheet in addition to the ID. It is possible to make display free layout/design menu such as the drop-down menu in the browser by incorporating these into the HTML and using the stylesheet.

Header Navigation

Goto Top

5) Breadcrumbs list

By introducing this plugin, the breadcrumbs list can be installed in your Geeklog site. The simplified image is like the following figure.

The data format is the same as the multi-level menu completely, but it is evaluated and output by the dedicated render for the breadcreumbs list. This render differs from render for the multi-level menu in the assesment method of the menuitem data.

In case of the breadcreumbs list, when the current URL and the URL collation string of the menuitem match, the menuitem is treated as the element in the most right-edge of the breadcreumbs list.

Starting from the menuitem of the element in the most right-edge of the breadcreumbs list, trace parent item ID in order and the breadcrumbs list is generated.

The menuitem which parent item ID isn't set to is thought of as hanging on the home page ( the top page ). (Therefore, the menuitem in the home page ( the top page ) for the breadcrumbs list doesn't exist.)

In the case of breadcrumbs list, based on the information which it is possible to read in the current URL, the title and the URL of the menuitem must be dynamically generated. Therefore, the utilization of the PHP filter is indispensable. Therefore, when creating the menuitem of the breadcrumbs list, the knowledge of the Geeklog system, PHP, MySQL is necessary.

However, because the data of article and the main plugin such as the forum are subscribed beforehand, you will be able to introduce with relative ease.

Breadcrumbs

Goto Top

6) Managing navigation

The item to set in "Navigation Editor" is shown below.

Item Description
Navigation Name Set the name of the navigation.
Navigation ID Set the ID of the navigation. Use any number of letters, numbers, hyphens, or underscores. Duplication of the navigation ID is not allowed.
Menuitem Group Select the menuitem group to connect with the navigation.
It is possible to edit the menuitem group in 'Configuration - Navman'.
Enabled Change the enabled/disabled of the navigation.
Render Select the render. Currently, there are 2 of the render as follows.
[Multi-level menu] : Generate the menu with multiple layers.
[Breadcrumbs list] : Generate the breadcrumbs list. (provide list of the links back to each previous page in hierarchical structures.)
Render for Set where to generate the navigation.
[Header] : Generate in template file header.thtml.
[Footer] : Generate in template file footer.thtml.
[Block] : Generate in PHP Block.
Class Name Set the class name to output using template variable {navi_class_property} or {navi_class_name}.
In stylesheet (navman.css), you utilize this class name effectively and change the layout/design of the navigation freely and boldly!
Order Set the order in the navigation list. It also affects the order of rendering. In addition, it is automatically adjusted to the value in 10 intervals.
PHP Filter Name Set the name of the PHP filter.
The PHP filter is executed right before the navigation data is evaluated.
When the function name of the PHP filter is "phpfilter_abcd", set "abcd". Multiple settings can be separated by a space.
When you create a PHP filter changing a menuitem group or a class name by some condition, you will be interesting.
URL matching string Set the string to compare with the URL.
When the URL of the current page matches this string, this navigation is rendered.
If left blank, URL does not match.
Mode Select the operation mode of the URL matching.
[Match partial] : When matching partially, the result becomes true.
[Match completely] : When matching completely, the result becomes true.
[Regular expression] : Do matching by the regular expression.
Except for the regular expression mode, the macros '[site_url]' and '[site_admin_url]' can be used.
Template Name Set the place which the template which is used for the rendering of the navigation is placed in by the directory name.
For example, template name 'default' corresponds to the directory <public_html>/navman/templates/default.
Template Var Name Select the template variable name which is embedded in the template.
It is possible to edit the template variable name in 'Configuration - Navman'.

Goto Top

7) Managing menuitem

The item to set in "Menuitem Editor" is shown below.

Item Description
Menuitem Group Set the menuitem group that belongs to the menuitem.
Title (Fixation) Set the title of the menuitem. Regardless of the change of the language mode of the site, the display is fixed.
When not building the multi-language site, only this setting will be enough.
Title (Variable) Set the title of the menuitem. According to the change of the language mode of the site, the display changes.
This setting is useful when building a multi-language site.
In this setting, Set the array variable name which is defined in the language file.
For example, When making $MY_WORD['label'] the title, set MY_WORD['label']. (Remove $.)
Enabled Change the enabled/disabled of the menuitem.
When set to enabled/disabled, switch the display/hidden of menuitems.
URL Set the URL link of the menuitem.
The macros '[site_url]' and '[site_admin_url]' can be used.
Menuitem ID Set the ID of the menuitem. Use any number of letters, numbers, hyphens, or underscores. Duplication of the menuitem ID is not allowed.
Parent Item ID Select the ID of the menuitem which is equivalent to the parents of the menuitem to define the hierarchical structure of the multi-level menu.
Class Name Set the class name to output using template variable {class_property} or {menuitem_class}.
In stylesheet (navman.css), you utilize this class name effectively and change the layout/design of the menuitem freely and boldly!
Topic Select a topic. This setting is useful when wanting to change a display/hidden of the menuitem by the topic.
  • [All] : Display the menuitem regardless of the topic.
  • [Homepage Only] : Display the menuitem only in the homepage
Order Set the order of the display of the menuitem by the integer. In addition, it is automatically adjusted to the value in 10 intervals.
Type The type can not be edited.
The menuitem is internally classified into 3 types of 'Geeklog Default', 'Plugins', 'Custom'.
PHP Filter Name Set the name of the PHP filter.
The PHP filter is executed right before the menuitem data is evaluated.
When the function name of the PHP filter is "phpfilter_abcd", set "abcd". Multiple settings can be separated by a space.
With the PHP filter, the menuitem title and the link URL can be dynamically changed.
URL matching string Set the string to compare with the URL.
When the URL of the current page matches this string, this menuitem is rendered.
If left blank, URL does not match.
Mode Select the operation mode of the URL matching.
[Match partial] : When matching partially, the result becomes true.
[Match completely] : When matching completely, the result becomes true.
[Regular expression] : Do matching by the regular expression.
Except for the regular expression mode, the macros '[site_url]' and '[site_admin_url]' can be used.
Staticpage ID Set ID of a staticpage.
Set when using this menuitem as a breadcrumb of a staticpage, and so on.
Icon URL Set the URL of the image data to output using template variable {menuitem_icon_url}.

Goto Top

8) Configuration

The setting of Navman plugin can be changed from 'Configuration - Navman'.

Navman Main Settings

Item Description
Prefix to add to ID Set the prefix string to add to the navigation ID.
The navigation ID is output by template variable {nid}.
Default : 'navmitem-'
Autotag Name Set the Autotag Name.
Default : 'navi'
Template Var Name Define the template variable to use when a navigation is embedded in the template.
Default : 'header_navigation', 'footer_navigation', 'breadcrumbs'
Menuitem Group Define the menuitem group.
A navigation and some menuitems are related through this menuitem group.
Use template at the theme When set to 'true', search for <public_html>/layout/theme/navman and being found out, render using the template and the stylesheet in this directory.
Let's create the template and the stylesheet which is optimized for your theme.
Default : 'False'

Breadcrumbs List Settings

Item Description
Enabled Breadcrumbs List When set to 'True', the breadcrumbs list becomes enabled.
Separately, you prepares the navigation which set reander to 'Breadcrumbs list' and it is necessary for a template variable to be embedded in the template.
Default : 'True'
Put link to breadcrumb of current page When set to 'True', link to the breadcrumb (the breadcrumb of the right-side end) of the current page.
Default : 'False'
Show breadcrumb in homepage When set to 'True', show breadcrumb in homepage (top page).
Default : 'True'
To change the title of the home, change the value of $LANG_NAVM['label_home'] of the language file ( for the Japanese japanese_utf-8.php ).

Navman Default Permissions

Item Description
Navman Default Permissions[0] Set the permission of the owner. Initial values when creating the menuitem.
Default : Read-Write
Navman Default Permissions[1] Set the permission of the group. Initial values when creating the menuitem.
Default : Read-Only
Navman Default Permissions[2] Set the permission of the members. Initial values when creating the menuitem.
Default : Read-Only
Navman Default Permissions[3] Set the permission of the guest. Initial values when creating the menuitem.
Default : Read-Only

Goto Top

9) Multi-language support

When wanting to change the language of the title of the navigation simply according to the language setting by the user, Set "Title (Variable)" of the menuitem.

When wanting to switch the link in addition to the language of the title, use explained "Multi-language feature" for the following.

At this plugin, support a feature like "Multi-lingual blocks" which was supported from Geeklog1.5.1.

"Multi-lingual blocks" for more information, please see the following Wiki.

One example shows how to switch Japanese and English.

about
about_en
about_ja
about        Enabled
about_en     Disabled
about_ja     Disabled

Goto Top

10) Template

The template of this plugin is placed in <public_html>/navman/templates.

Among these, the template and the stylesheet which is used for the display of the navigation are placed in <public_html>/navman/templates/default.

For example, the value of item 'Template Name' of navigation 'Header Navigation 1' is 'default', and this is the meaning to "use the template of <public_html>/navman/templates/default".

By this mechanism, you create an original template and a stylesheet, and can add a navigation with new style.

Also, the navigation which is peculiar to the theme can be prepared. The way is shown next.

Support the following template variable every navigation.

Template variable name Description
{nid} Navigation ID. (Use as the ID of the stylesheet.)
{navi_class_name} The class name of the navigation. (Use as the class name of the stylesheet.) Ex. 'navi_001'
{navi_class_property} The property of the navigation (Use as the class property of the stylesheet.) Ex. 'class="navi_001"'

Support the following template variable every menuitem.

Template variable name Description
{menuitem_url} The link URL of the menuitem.
{menuitem_text} The title of the menuitem
{menuitem_id} Menuitem ID (Use as the ID of the stylesheet.)
{menuitem_class} The class name of the menuitem. (Use as the class name of the stylesheet.) Ex. 'last'
{class_property} The property of the menuitem (Use as the class property of the stylesheet.) Ex.'class="last"'
{menuitem_icon_url} The URL of the image to use as the icon of the menuitem
{level} The value which shows the depth of the hierarchy of the menuitem list. The top level is '1'.
{class_level} The class name which shows the depth of the hierarchy of the menuitem list. The top level is 'level1'.

Goto Top

11) Block menu

The sample data of the block menu ( the menu which is displayed as the block in either side sidebar ) is registered beforehand.

With the navigation management screen, make navigation "Block Navigation" enabled.

Next, with the block management screen, create a block as follows.

Goto Top

12) PHP filter

The PHP filter is the mechanism which is prepared to set the navigation and the data of the menuitem dynamically and to change them.

The PHP filter is described in <geeklog_dir>/plugins/navman/filters.php.

The PHP filter which is called from the beforehand subscribed sample data is already described.

The PHP filter is PHP function with the name which begins with 'phpfilter_'.

The PHP filter receives the array variable which information on the navigation or the menuitem is stored in by the call by reference, and then does necessary processing. .

Goto Top

13) Autotag

The navigation can be output using Autotag.

I assume that this autotag is embedded in the staticpage and that it displays a navigation in the center area.

Tag format: [navi:Navigation ID]

Ex. [navi:global_navi_1]

Goto Top

14) Copyright notice

With this work, I am using as the deletion and the arrow icon delete.png, arrow-dn.png, arrow-up.png are the literary works of Joseph North.
As for the license, see the following link.

Sweetie Icon Set
----------------
Author: Joseph North
Email: sublick@gmail.com
License: Creative Commons Attribution-ShareAlike 2.0
Year: 2005

With this work, I am using as the Navman plugin icon (original name is Safari.png) are the literary works of Fast Icon.
As for the license, see the following link.

iComic Applications Icons Set
----------------
Author: Fast Icon
HomePage: http://www.fasticon.com
License: Commercial usage: Allowed license.txt

Goto Top

15) History

Version Published Description
0.2.0 2010-10-11 Support the breadcrumbs for Mediagallery plugin and Downloads plugin.
0.1.1 2010-3-8 Fixed: Fixed the problem which crashes immediately after updating the menuitem which set "URL matching string" by the regular expression mode.
0.1.0 2009.6.15 Initial version

Goto Top