Icontem

JS side menu handler: Manage hierarchical menus of HTML content sections

Recommend this page to a friend!
  Info   Screenshots Screenshots   View files View files (11)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2014-08-05 (4 years ago) RSS 2.0 feedNot enough user ratingsTotal: 224 All time: 213 This week: 19Up
Version License JavaScript version Categories
side-menu-handler 1.0.0BSD License1.5HTML, Events
Description Author

This object can manage hierarchical menus of HTML content sections.

It can register event handlers to listen to clicks on menu entry icons that make sub-menus expand or collapse.

The object can also make content be loaded when menu entries are clicked.

Recommendations

Dynamic menu with database
Need for create a dynamic menu

  Performance   Level  
Name: Vallo Reima <contact>
Classes: 6 packages by
Country: Estonia Estonia
Innovation award
Innovation award
Nominee: 4x

Winner: 1x

Details
Side menu generator and handler
===============================

These classes allow to configure and handle multilingual hierarchical side menus. The menu is generated server-side basing on the configuration. The menu item titles are selected from the multilingual database. The event listeners are attached client-side to handle the menu clicks and invoke selected actions.

Server-side
-----------

The *texts.php* class loads the texts of specified language from a sqlite database (pdo_sqlite extension is required). *sidemenu.php* class loads the xml description into DOM object (libxml extension is required) and generates the menu's html using the titles supplied by *texts.php*. The client-side *sidemenu.js* class must be used to handle the menu.

Client-side
-----------

*sidemenu.js* class presumes the menu structure created by *sidemenu.php* and certain html tag id's. It attaches the event handlers to the menu sections. Clicking any menu section causes the opening/closing of the submenu and/or invoking according action. The main window is kept to be adjusted to a full browser's window.

An example
----------

The *example.php* forms a shell for functionality demonstration from the *example.phtml* template. The *example.sql* holds the vocabulary statements and an *example.db* sqlite database is created during first run. *example.xml* describes the menu structure to be created. *example.css* styles the shell and the menu inside it. The language token can be specified on startup: *example.php?en* or *example.php?lng=ru* etc. 

Change *example.db* and *example.xml* for your own menues. The xml node names must be specified in the texts table's code fields. Add the table columns for new languages (use ISO 639-1 notation). Design your own main window and modify the event listeners for real actions.

The package
-----------

The following files are included:

1. *sidemenu.php*  - class to generate the menu;
2. *sidemenu.js*  - class to handle the menu;
3. *common.js*    - support functions and classes;
4. *texts.php*  - class to supply language-dependent texts;
5. *example.php*  - demonstrating functionality;
6. *example.sql*  - multilingual texts base;
7. *example.xml*  - the menu configuration;
8. *example.phtml*  - the shell template;
9. *example.css*  - the shell an menu styles;

The *Side menu generator and handler* is implemented in vRegistry solution (see [vregistry.com]) and vrManual program (see [vrm.vregistry.com]).

  [vregistry.com]: http://app.vregistry.com/hlp/en
  [vrm.vregistry.com]: http://vrm.vregistry.com
Screenshots  
  • sidemenu.png
  Files folder image Files  
File Role Description
Accessible without login Plain text file common.js Aux. Auxiliary script
Accessible without login Plain text file example.css Data Auxiliary data
Accessible without login Plain text file example.php Data Auxiliary data
Accessible without login Plain text file example.phtml Data Auxiliary data
Accessible without login Plain text file example.sql Data Auxiliary data
Accessible without login Plain text file example.xml Data Auxiliary data
Accessible without login Plain text file LICENSE.md Lic. License text
Accessible without login Plain text file README.md Doc. Documentation
Plain text file sidemenu.js Class Class source
Accessible without login Plain text file sidemenu.php Data Auxiliary data
Accessible without login Plain text file texts.php Data Auxiliary data

 Version Control Unique User Downloads Download Rankings  
 91%
Total:224
This week:0
All time:213
This week:19Up