Ajouter des fonctionnalités au menu

2015-09-14 15:07:15    azalea    8441

L'un des problèmes que vous pourriez rencontrer lors de la personnalisation de ZenTao est de savoir comment ajouter les fonctionnalités personnalisées à la barre de navigation. Dans ce chapitre, nous expliquerons comment procéder.

1. Menu

Le menu de ZenTao comprend trois niveaux, le menu principal, le menu du module et le module de fonction.

2. Définition du menu

Le code de définition du menu est enregistré dans les fichiers de langue dans zentao/module/common/lang/en. Regardons maintenant la définition du menu principal.

2.1 Définir le menu principal

80 $lang->menu- > my  = 'Dashboard|my|index';

81 $lang- > menu- > product = 'Product|product|index';
82 $lang- > menu- > project = 'Project|project|index';

83 $lang- > menu- > qa = 'Testing|index';


Regardons la définition des codes 83 $lang- > menu- > qa = 'Testing|qa|index';


Il définit le code du module de Test. menu->qa defines définit la valeur clé du menu, qui peut être définie en fonction de la définition réelle des modules. Les trois paramètres séparés par les lignes verticales sont le texte du menu, le module correspondant et la méthode. Ce code consiste à définir un menu supérieur, dont le texte est Testing, et à lier sa méthode d'index au module qa.

2.2 Définir un menu de module

Prenons l'exemple du menu du module Produit.


144 $lang->product- > menu- > list = '%s';
145 $lang- > product- > menu- > story = array('link' = > 'Story|product|browse|productID=%s',     'subModule' = > 'story');
155 $lang- > product- > menu- > create = array('link' = > ' Newly added product|product|create', 'float' = > 'right');
158 $lang- > productplan- > menu = $lang- > product- > menu;
159 $lang- > release- > menu = $lang- > product- > menu; 


Ces codes définissent le menu du module dans le produit et il existe de nouvelles définitions.


    2.2.1 Définir des liens avec des tableaux
145 $lang- >product- >menu- >story  = array('link' = > 'Story|product|browse|productID=%s', 'subModule' = >'story');


Il définit deux éléments, link et subModule, avec tableau, lors de la définition du lien. Un champ de paramètre est ajouté, productID=%s, ce qui signifie la méthode de navigation utilisée lors de la liaison du menu "Story" au produit. Le paramètre transmis est productID=%s, et  %s sera remplacé par l'ID produit réel.


    2.2.2 Définir les sous-modules
145 $lang- >product- >menu- >story = array('link' = > 'Story|product|browse|productID=%s', 'subModule' = > 'story');


Il permet de définir des sous-modules et de les mettre en évidence. Lorsque vous êtes dans le module story, le menu défini Produit sera mis en évidence.


    2.2.3 Définir l'alias des méthodes avec alias
151 $lang- >product- >menu- >view  = array('link' = >'Overview|product|view|productID=%s', 'alias' = > 'edit');


Alias signifie que la page d'édition et la page d'affichage du produit sont identiques. Par conséquent, lorsque vous modifiez des produits, la vue d'ensemble est toujours en surbrillance.


    2.2.4 Définir les paramètres du menu

Chaque menu est affiché à gauche par défaut. Si vous souhaitez le déplacer vers la droite, vous devez définir son paramètre float.


155 $lang- >product- >menu- >create  = array('link' = >'newly added product|product|create', 'float' = > 'right');



En définissant le paramètre float, vous définissez que le lien du produit nouvellement ajouté sera affiché sur la droite.


2.3 Définir un menu de fonction

Le module de fonction est imprimé dans chaque module. Sa méthode d'extension est la même que celle de Vues, que nous aborderons plus tard.

3. Définir l'ordre d'un menu

Ce qui a été mentionné ci-dessus, c'est comment définir un menu dans ZenTao. Nous allons maintenant parler de la façon de définir l'ordre d'un menu dans ZenTao. Dans le répertoire de common common/lang/, il y a un menu menuOrder.php qui est utilisé pour définir l'ordre d'affichage de chaque menu.


/* Sort of main menu. */
$lang->menuOrder[5]  = 'my';
$lang- >menuOrder[10] = 'product';
$lang->menuOrder[15] = 'project';
$lang->menuOrder[20] = 'qa';
$lang->menuOrder[25] = 'doc';
$lang->menuOrder[30] = 'report';
$lang->menuOrder[35] = 'company';
$lang->menuOrder[40] = 'admin';
/* index menu order. */
$lang->index->menuOrder[5] = 'product';

$lang->index->menuOrder[10] = 'project';

4. Comment ajouter vos pages au menu

Une fois que vous aurez compris le mécanisme de menu de ZenTao, il sera très facile de l'étendre. Examinons les étapes pour ajouter des pages au menu.


4.1 Créez un fichier dans le répertoire de module/common/ext/lang/en/. Cela peut être abc.php et vous pouvez le nommer à votre guise.


4.2 Ajoutez votre propre menu au fichier, par ex. le menu du référentiel de version dans ZenTao Pro.

$lang->menu->repo = ' build repo |repo|browse';
$lang->menuOrder[21]  = 'repo';
$lang->repo->menu->list = '%s' . $lang->arrow;
$lang->repo->menu->browse = array('link' =>'browse|repo|browse|repoID=%s', 'alias' =>'diff, log, view, revision, showsynccomment');
$lang->repo->menu->settings = 'settings|repo|settings|repoID=%s';
$lang->repo->menu->delete = array('link' =>'delete|repo|delete|repoID=%s', 'target' =>'hiddenwin');
$lang->repo->menu->create = array('link' =>' newly added build repo |repo|create|', 'float' =>'right');