sfCssTabs plugin
Plugin for the symfony framework that generates tabs dynamically depending on the module that this seeing itself, to the style Wordpress Admin (of 2 levels: main tabs & sub tabs), with valid XHTML.
Screenshot

Instalation
Install the plugin
$ php symfony plugin-install http://plugins.symfony-project.com/sfCssTabsPlugin
Usage
Opens to the file "layout.php", located in: /apps//templates/layout.php
It places the following code within the tags
[php]
Copy the example file called sfCssTabs.css that is in: /web/sfCssTabsPlugin/css, to the folder css in: /web/css
Opens to the file "view.yml", located in: /apps//config/view.yml
Adds or modifies the corresponding line by this:
[yml]
stylesheets: sfCssTabs
The following thing is to fill the configuration file: "siteTabs.php".
Config
Open the file "siteTabs.php", located in: /plugins/sfCssTabsPlugin/lib/siteTabs.php
$configTabs
Some keys have the following prefix: "pt_" (the configuration is applied for the main tabs); and "st_" (it is applied for the sub tabs).
: Within this array you can place all the properties that you please of the corresponding tag. This content works just as the one of the third parameter of helper link_to().
The content of: pt_li, pt_a, st_li, st_a; they are assigned to those tab that agree with the present module.
It has the following format:
$configTabs = array(
'div' => array(<properties>),
'pt_ul' => array(<properties>),
'pt_li' => array(<properties>),
'pt_a' => array(<properties>),
'st_ul' => array(<properties>),
'st_li' => array(<properties>),
'st_a' => array(<properties>)
);
a. "div". By empty default. Single if something is added to him, the tabs are surrounded between
. Example:
[php]
'div' => array('id' => 'navcontainer', 'style' => 'padding:2px'),
b. "pt_ul". By empty default. It is applied to the tags
of the main tabs. Example:
[php]
'pt_ul' => array('id' => 'adminmenu')
c. "pt_li". By empty default. It is applied to the tags
of the main tabs. Example:
[php]
'pt_ul' => array('id' => 'adminmenu')
d. "pt_a". By empty default. It is applied to the tags of the main tabs. This part uses helper link_to(), and what you place within it is used within the third parameter of this helper. Example:
[php]
'pt_a' => array('class' => 'current'),
e. "st_ul". By empty default. It is applied to the tags
of the sub tabs. Example:
[php]
'st_ul' => array('id' => 'submenu'),
f. "st_li". By empty default. It is applied to the tags
of the sub tabs. Example:
[php]
'st_li' => array('id' => 'activeII'),
g. "st_a". By empty default. It is applied to the tags of the sub tabs. This part uses helper link_to(), and what you place within it is used within the third parameter of this helper. Example:
[php]
'st_a' => array('class' => 'current')
$tabs
It represents a main tab that will be added. It has the following format:
$tabs[] = array(
'label' => *,
'module' => *,
'linkOptions' => array()
);
a. "label". This value will be added in the first parameter of helper link_to(), and is the content of the tab. Example:
[php]
'label' => 'Home',
b. "module". The name of the module to which an tab belongs. Its value is added to the second parameter of helper link_to(). Example:
[php]
'module' => 'index',
c. "linkOptions". Its value is added to the third parameter of helper link_to(). It verifies not to such place data that you placed in "pt_a". Example:
[php]
'linkOptions' => array('title' => 'My tab')
$subTabs
It represents a sub tab that will be added under a "main tab" or "parent tab". It has the following format:
$subTabs[] = array(
'label' => *,
'module' => *,
'linkOptions' => array(),
'parentTab' => ''
);
a. "label". This value will be added in the first parameter of helper link_to(), and is the content of the tab. Example:
[php]
'label' => 'Index',
b. "module". The name of the module to which an tab belongs. Its value is added to the second parameter of helper link_to().
**Note**
In most of the cases, first sub tab has like Link to the module of his parent tab.
Example:
[php]
'module' => 'index',
c. "linkOptions". Its value is added to the third parameter of helper link_to(). It verifies not to such place data that you placed in "st_a". Example:
[php]
'linkOptions' => array('title' => 'my tab 1'),
d. "parentTab". Parent tab to which sub tab belongs. Example:
[php]
'parentTab' => 'index'
Results
The XHTML code:
/html
The image:

Contacts
TODO
- Integration with AJAX.
- Integration with Admin generation.
Changelog
2007-08-22 | 0.0.5 Alpha
- Corrected errors in the documentation.
- Changed to the licenses of the archives *.php to the one of MIT.
2007-08-22 | 0.0.4 Alpha