禅道BUG页面新增自定义可多选的字段

本文详细介绍了如何在禅道系统中增加【发现阶段】和【所属环境】自定义字段,包括数据库表结构修改、语言文件更新、模型文件扩展、视图页面调整以及配置文件的相应设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前禅道BUG页面的字段较为通用,如果需要更多字段,需对禅道进行二开,以下是增加【发现阶段】和【所属环境】自定义字段样例:

1. 数据库中执行本SQL

进入禅道初始页面,选择【数据库管理】,输入对应的用户名、密码后,在数据库中执行:
ALTER TABLE zt_bug ADD COLUMN stage VARCHAR(100) AFTER severity;
ALTER TABLE zt_bug ADD COLUMN environment VARCHAR(255) AFTER severity;
在这里插入图片描述

2.修改zh-cn

进入服务器目录/opt/zbox/app/zentao/module/bug/lang/下(注意:/opt/zbox/app/为禅道安装目录),在zh-cn.php文件中新增如下:

/* 字段列表。*/ 
$lang->bug->stage                  = '发现阶段';
$lang->bug->environment            = '所属环境';

在这里插入图片描述

同文件,/* 各个字段取值列表。*/下新增如下:

/*BUG新增字段by小高*/
$lang->bug->stageList['tst'] = 'SIT测试';
$lang->bug->stageList['req'] = '需求阶段';
$lang->bug->stageList['des'] = '设计阶段';
$lang->bug->stageList['dev'] = '开发阶段';
$lang->bug->stageList['uat'] = 'UAT验收';
$lang->bug->stageList['del'] = '交付验收';
$lang->bug->stageList['pro'] = '上线生产';
$lang->bug->stageList['ato'] = '自动化测试';

$lang->bug->environmentList['sit'] = 'SIT环境';
$lang->bug->environmentList['uat'] = 'UAT环境';
$lang->bug->environmentList['ban'] = '主线灰度';
$lang->bug->environmentList['pre'] = 'PRE生产';
$lang->bug->environmentList['dev'] = 'DEV环境';

在这里插入图片描述

3.修改model.php页面

进入/opt/zbox/app/zentao/module/bug/model.php文件,在93行和744行后新增代码:

            ->join('environment', ',')

在这里插入图片描述
在这里插入图片描述

4.修改create.html.php页面

进入/opt/zbox/app/zentao/module/bug/view/下,在create.html.php文件177行后新增以下代码:

                <td>
                <div class='table-col' id='stageBox'>
                 <div class='input-group'>
                  <span class='input-group-addon'><?php echo $lang->bug->stage?></span>
                  <?php echo html::select('stage', $lang->bug->stageList, $stage, "class='form-control chosen'");?>
                 </div>
                </div>
                <div class='table-col' id='environmentBox'>
                  <div class='input-group'>
                    <span class='input-group-addon fix-border'><?php echo $lang->bug->environment?></span>
                    <?php echo html::select('environment[]', $lang->bug->environmentList, $environment, "class='form-control chosen' multiple");?>
                  </div>
                </div>
                </td>

在这里插入图片描述

修改后效果
在这里插入图片描述

5.修改view.html.php页面

进入/opt/zbox/app/zentao/module/bug/view/下,在view.html.php文件263行后新增以下代码:

                <tr>
                  <th><?php echo $lang->bug->stage;?></th>
                  <td><?php if(isset($lang->bug->stageList[$bug->stage])) echo $lang->bug->stageList[$bug->stage]; else echo $bug->stage;?></td>
                </tr>
                <tr>
                  <th><?php echo $lang->bug->environment;?></th>
                  <td>
                  <?php $environmentList = explode(',', $bug->environment);?>
                  <?php if($environmentList):?>
                  <p class='environmentContent'>
                    <?php foreach($environmentList as $environment):?>
                    <?php if($environment) echo "<span class='label label-outline'>" .  zget($lang->bug->environmentList, $environment) . "</span>";?>
                    <?php endforeach;?>
                  </p>
                  <?php endif;?>
                  </td>                  
                </tr>

在这里插入图片描述
修改后效果
在这里插入图片描述

6.修改edit.html.php页面

进入/opt/zbox/app/zentao/module/bug/view/下,在edit.html.php文件193行后新增以下代码:

                <tr>
                  <th><?php echo $lang->bug->stage;?></th>
                  <td><?php echo html::select('stage', $lang->bug->stageList, $bug->stage, "class='form-control chosen'"); ?></td>
                </tr>
                <tr>
                  <th><?php echo $lang->bug->environment;?></th>
                  <td><?php echo html::select('environment[]', $lang->bug->environmentList, $bug->environment, "class='form-control chosen' multiple");?></td>
                </tr>

在这里插入图片描述

修改后效果
在这里插入图片描述

7.修改config.php页面

导出excel中添加字段:进入/opt/zbox/app/zentao/module/bug/下,在config.php文件16行和30行后新增以下代码:

stage, environment,

在这里插入图片描述

搜索栏添加字段:继续本文件的89行后新增以下代码:

$config->bug->search['fields']['stage']          = $lang->bug->stage;
$config->bug->search['fields']['environment']    = $lang->bug->environment;

在这里插入图片描述

继续本文件的137行后新增以下代码:

$config->bug->search['params']['stage']         = array('operator' => 'include', 'control' => 'select', 'values' => $lang->bug->stageList);
$config->bug->search['params']['environment']   = array('operator' => 'include', 'control' => 'select', 'values' => $lang->bug->environmentList);

在这里插入图片描述

在使用Python(Pythonic)地解决bug时,我们遵循一些原则和实践来高代码的可读性、可维护性和可扩展性。 首先,我们应尽可能使用Python的内置函数和库来解决问题,而不是重复造轮子。Python供了许功能强大的内置函数和模块,如`os`、`sys`、`re`等,它们供了许用于处理文件、系统、正则表达式等常见任务的函数。同时,Python还供了许标准库,如`datetime`、`json`等,它们供了处理日期时间、JSON等常见任务的函数和类。因此,在解决bug时,我们应首先查看Python官方文档,探索是否有现成的解决方案可用。 其次,我们应充分利用Python的异常处理机制来捕获和处理bug。Python供了`try-except`结构,它能够捕获代码中可能出现的错误并进行相应的处理。在处理bug时,我们应该使用`try-except`块来尽量捕获并处理异常,以避免程序崩溃或产生不可预测的结果。同时,我们还可以使用`finally`关键字来确保无论是否发生异常,都能执行必要的清理工作。 此外,Python还支持面向对象编程(OOP),我们可以使用类和对象来组织和封装代码,以高代码的可重用性和可维护性。在解决bug时,我们可以使用OOP的思想来设计和实现自定义的异常类、封装复杂逻辑的类等,以高代码的可读性和扩展性。 最后,为了尽量避免和减少bug的产生,我们应遵循一些良好的编码风格和规范,如PEP 8,它供了Python编码的指导原则。良好的编码风格和规范能够使我们的代码更加整洁、易读,并减少潜在的bug。同时,我们还可以使用一些静态代码分析工具来检测常见的错误和潜在的问题,如PyLint、Flake8等。 总之,使用Pythonbug意味着我们要充分利用Python的内置函数和模块、异常处理机制、面向对象编程等特性,同时遵循良好的编码风格和规范,以高代码的质量和可维护性,从而高效地解决bug
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值