Login   Register  
PHP Classes
elePHPant
Icontem

File: README.md

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Vallo Reima  >  PHP side menu generator  >  README.md  >  Download  
File: README.md
Role: Documentation
Content type: text/plain
Description: Documentation
Class: PHP side menu generator
Generate hierarchical menus defined in XML files
Author: By
Last change: Update README.md
Date: 1 month ago
Size: 2,564 bytes
 

Contents

Class file image Download
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