- 1 Introduction
- 1.1 About ZenTao
- 1.2 How to get support
- 2 How to Install ZenTao
- 2.1 Choose the best installation
- 2.2 ZenTao Cloud
- 2.3 One-click Installation Package for Windows (Recommended)
- 2.4 One-click Installation Package for Linux
- 2.5 Source Code Installation Package (for all Systems)
- 2.6 Set up Virtualbox for ZenTao
- 2.7 Softaculous service
- 3 Upgrade ZenTao
- 3.1 Choose Upgrade
- 3.2 Upgrade by source codes (General for all systems)
- 3.3 Upgrade for one-click installation package for windows users (xampp)
- 3.4 Upgrade for one-click installation package for Linux
- 4 Users and Groups
- 5 Simple Application
- 6 Basic Application
- 6.1 Basic Workflow
- 6.2 Agile and Scrum
- 6.3 ZenTao and Scrum
- 6.4 ZenTao Tutorial for Rookies
- 6.5 Create a Product
- 6.6 Create a Story
- 6.7 Create a Project
- 6.8 Confirm Stories
- 6.9 Decompose Tasks
- 6.10 Report a Bug
- 6.11 Manage Contacts
- 6.12 Customization
- 7 Advanced Application
- 7.1 Workflow
- 7.1.1 ZenTao Workflow
- 7.2 Personal management
- 7.2.1 My To-dos
- 7.2.2 My Task, Story and Bug
- 7.2.3 My Profile
- 7.3 Product Manager
- 7.3.1 Manage a Product
- 7.3.2 Create and Review a Story
- 7.3.3 Change and Review a Story
- 7.3.4 Story Status
- 7.3.5 Notes for Writing a Story
- 7.3.6 Product Module
- 7.3.7 Release Plan
- 7.3.8 Create a Release
- 7.3.9 Roadmap
- 7.3.10 Manage Documents
- 7.3.11 Product Meetings
- 7.3.12 Project Management, Presentation and Summary
- 7.3.13 Story Reports
- 7.4 Project Manager
- 7.5 Development Team
- 7.5.1 Project planning meeting and decompose tasks
- 7.5.2 Claim and update Tasks
- 7.5.3 Create a Build
- 7.5.4 Test Task
- 7.5.5 Resolve a Bug
- 7.5.6 Manage Documents
- 7.5.7 Confirm Bugs
- 7.6 Testing Team
- 7.6.1 Bug Management
- 7.6.2 Submit a Bug
- 7.6.3 Confim and Close a Bug
- 7.6.4 Activate a Bug
- 7.6.5 Find a Bug
- 7.6.6 Test Case
- 7.6.7 Create a Test Case
- 7.6.8 Manage a Test Task
- 7.6.9 Execute Cases and Report Bugs
- 7.6.10 Reports
- 8 Configuration
- 8.1 Maintain ZenTao
- 8.1.1 Initialize scripts
- 8.1.2 Back up ZenTao
- 8.1.3 Recover the deleted
- 8.1.4 Update Burndown charts
- 8.2 Deploy ZenTao
- 8.2.1 Guest Login
- 8.2.2 Cnfigure Email
- 8.2.3 Set Super Admin
- 8.2.4 Configure Static Access
- 8.2.5 Delete "zentao" from your address
- 8.2.6 Integrate ZenTao with SVN
- 8.2.7 Integrate ZenTao with Git
- 9 Custom Development
- 9.1 ZenTao Mechanism of Developing
- 9.2 ZenTao Directory
- 9.3 Modify files
- 9.4 ZenTao Database
- 9.5 Common Modules
- 9.6 Add features to navigation bar
- 9.7 Examples: Modify Language Prompt
- 9.8 Examples: set priority when creating bugs
- 9.9 Web Editor
- 9.10 Packaging Standards of ZenTao 1.1
- 10 Other Relevant Issues
- 10.1 About third-party code
- 10.2 ZenTao FAQ
- 10.3 How to Help ZenTao
- 10.4 ZenTao Business Service
- 10.5 Acknowledgement
Add features to navigation bar
- 2015-09-14 15:07:15
- azalea
- 7604
- Last edited by xiying guan on 2018-12-06 10:10:34
1. Navigation bar
The navigation bar in ZenTao includes three parts, the top menu, the module menu and the function module.
2. Define a menu
The code of menu definition is saved in the language files in zentao/module/common/lang/zh-cn. Now let’s look at the definition of the main menu.
2.1 Define a main menu
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';
Let’s look at the definition of codes 83 $lang- > menu- > qa = 'Testing|qa|index';
It defines the codeof the Testing module. menu->qa defines the key value of the menu, which can be defined according to the actual definition of modules. The three parameters separated by the vertical lines are the text of the menu, the corresponding module and the method. This code is to define a top menu, the text of which is Testing, and link its index method to qa module.
2.2
Define a module menu
Take the module menu of Product as an example.
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;
These codes define the module menu in the Product and there are some new definition among them.
2.2.1 Define links with arrays
145 $lang-
>product-
>menu-
>story =
array('link' =
>
'Story|product|browse|productID=%s', 'subModule' =
>'story');
It defines two elements with array: link and subModule. One parameter field is added, productID=%s, which means the browse method used when linking the story menu to the Product. The parameter passed is productID=%s, and %s will be changed into the actual product ID.
2.2.2 Define submodules
145 $lang-
>product-
>menu-
>story = array('link' =
> 'Story|product|browse|productID=%s',
'subModule' =
>
'story');
It is used to define submodules and highlight it. When you are visiting story module, the defined menu Product is kept highlighted.
2.2.3 Define method alias with Alias
151 $lang-
>product-
>menu-
>view = array('link' =
>'Overview|product|view|productID=%s',
'alias' =
>
'edit');
alias means that the edit page and view page of the product are the same. Therefore, when you edit products, the Overview is still highlighted.
2.2.4 Define the settings of menu
Every menu is displayed at the left by default. If you want to move it to the right, you have to define its float parameter.
155 $lang-
>product-
>menu-
>create = array('link' =
>'newly added product|product|create',
'float' =
>
'right');
By setting float, you define that the link of the newly added product will be displayed on the right.
2.3 Define a function menu
Function module is printed in the each module. Its extension method is the same as that of views, which we will discuss later.
3. Define menu sequence
What have been mentioned above is how to define a menu in ZenTao. Now we will talk about how to define menu sequence in ZenTao. In the directory of common/lang/, there is menuOrder.php which is used to define the display sequences of each 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. How to add your pages to the menu
Once you understand the menu mechanism in ZenTao, it will be very easy to extend. Let’s look at the steps to ad pages to menu.4.1 Create a file in the directory of module/common/ext/lang/zh-cn/. It can be abc.php and you can name it at your wish.
4.2 Add your own menu to the file, e.g. the build repository menu in the ZenTao Pro.
$lang->menu->repo = ' build repository |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 repository |repo|create|', 'float' =>'right');