禅道二次开发——禅道zentaoPHP框架扩展机制——对视图层(view)扩展

视图文件的扩展分为两种方式,一种是完全覆盖,第二种是通过钩子机制来扩展。

一、完全覆盖

视图文件的覆盖可以通过完全覆盖的方式来重新定义。比如我对bug模块的create页面进行扩展。原来的视图文件是存放在module/bug/view/create.html.php。如果需要对其进行扩展,只需要将这个create.html.php拷贝到extension/custom/bug/ext/view/create.html.php,然后对这个网页进行修改就可以了。

需要注意的是拷贝过去时候,包含路径要做相应的改动。

二、通过钩子进行扩展

第一种方法比较简单,也比较直观,但有它的缺点,就是代码无法重用。假设后面版本有了新的改动之后,老版本的视图文件和新版本的程序就有可能不兼容。所以可以考虑通过钩子脚本来实现代码的重用。钩子脚本的命名规则为方法名.扩展名.html.hook.php。该钩子文件会在整个模板加载完之后加载,在里面可以执行相应的php代码,或者js代码。这样就提供了一种通过js来动态修改页面元素的机制,从而达到对页面元素的完全控制。

比如extension/custom/misc/ext/view/getsid.color.html.hook.php

复制代码
$('#topbar').css('color', 'red');

通过上面这段js代码,实现了对顶部导航条的加红显示。

免费活动: 项目管理经验0元购,来奇妙敏捷之旅(青岛站) - 禅道项目管理软件

原文链接: zentaoPHP二次开发简介 - 禅道二次开发 - 禅道项目管理软件


以上就是《禅道二次开发------禅道zentaoPHP框架扩展机制------对视图层(view)扩展》的全部内容,喜欢的可以给猴哥点赞👍关注收藏,下期想了解什么知识和功能,可以在评论区留言,欢迎大家积极讨论交流!谢谢!

相关推荐
测试人社区—66791 小时前
破茧成蝶:DevOps流水线测试环节的效能跃迁之路
运维·人工智能·学习·flutter·ui·自动化·devops
测试199813 小时前
接口自动化测试套件封装示例详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
我的xiaodoujiao18 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 31--开源电商商城系统项目实战--加入购物车、提交订单测试场景
python·学习·测试工具·pytest
测试人社区—527218 小时前
你的单元测试真的“单元”吗?
前端·人工智能·git·测试工具·单元测试·自动化·log4j
雅菲奥朗19 小时前
雅菲奥朗SRE知识墙分享(九)『DevOps & SRE 如何实现职场转型?』
运维·devops·sre
测试人社区—52721 天前
破茧成蝶:DevOps流水线测试环节的效能跃迁之路
运维·前端·人工智能·git·测试工具·自动化·devops
我叫唧唧波1 天前
【自动化部署】基于Docker构建CI/CD流水线
ci/cd·docker·node.js
白露与泡影1 天前
从 JDK 8 到 JDK 18,Java 垃圾回收的十次进化
java·开发语言·测试工具
我的xiaodoujiao1 天前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 30--开源电商商城系统项目实战--配置测试环境地址
python·学习·测试工具·pytest
测试秃头怪1 天前
2026最新软件测试面试八股文(含答案+文档)
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展