当前位置: 首页 > news >正文

禅道二次开发——禅道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)扩展》的全部内容,喜欢的可以给猴哥点赞👍关注收藏,下期想了解什么知识和功能,可以在评论区留言,欢迎大家积极讨论交流!谢谢!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Linux账号和权限管理详解
  • 浅谈MMORPG的战斗系统
  • Mysql知识大全
  • ubuntu22.04 编译freetype动态库
  • 决策树算法介绍,原理与案例实现
  • 代码审查的艺术:Xcode的深度指南与实战技巧
  • Autosar诊断实战系列28-2E写DID Pending期间偶发回NRC0x13问题排查
  • 学习笔记——动态路由——IS-IS中间系统到中间系统(特性之路由撤销)
  • 网络安全第一次作业
  • maven——(重要)手动创建,构建项目
  • 部署YUM仓库及NFS共享功能
  • docker拉取镜像-配置阿里云镜像加速
  • Python | Leetcode Python题解之第229题多数元素II
  • vue3实现vuedraggable实现拖拽到垃圾桶图标位置进行删除
  • TypeScript中的交叉类型
  • bearychat的java client
  • github指令
  • overflow: hidden IE7无效
  • React Transition Group -- Transition 组件
  • zookeeper系列(七)实战分布式命名服务
  • 从输入URL到页面加载发生了什么
  • 高性能JavaScript阅读简记(三)
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  •  一套莫尔斯电报听写、翻译系统
  • 用简单代码看卷积组块发展
  • 7行Python代码的人脸识别
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ​马来语翻译中文去哪比较好?
  • #define、const、typedef的差别
  • #FPGA(基础知识)
  • #java学习笔记(面向对象)----(未完结)
  • #每日一题合集#牛客JZ23-JZ33
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (Windows环境)FFMPEG编译,包含编译x264以及x265
  • (不用互三)AI绘画:科技赋能艺术的崭新时代
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (第二周)效能测试
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (算法)硬币问题
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • ../depcomp: line 571: exec: g++: not found
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .cn根服务器被攻击之后
  • .net core Swagger 过滤部分Api
  • .Net环境下的缓存技术介绍
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • .Net中wcf服务生成及调用
  • .so文件(linux系统)
  • /bin/rm: 参数列表过长"的解决办法
  • @JsonFormat与@DateTimeFormat注解的使用
  • [22]. 括号生成