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

相关推荐

  1. Ubuntu 20.04安装开源

    2024-07-10 04:42:06       48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 04:42:06       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 04:42:06       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 04:42:06       57 阅读
  4. Python语言-面向对象

    2024-07-10 04:42:06       68 阅读

热门阅读

  1. FlutterWeb渲染模式及提速

    2024-07-10 04:42:06       26 阅读
  2. Docker容器基础:Docker的安装与基本使用

    2024-07-10 04:42:06       28 阅读
  3. 【Python】多语言识别库 langid

    2024-07-10 04:42:06       30 阅读
  4. 海致科技实施实习生面试

    2024-07-10 04:42:06       19 阅读
  5. go获取正在运行的函数并及时捕获panic

    2024-07-10 04:42:06       22 阅读
  6. C语言中的static关键字

    2024-07-10 04:42:06       30 阅读
  7. LeetCode 202. 快乐数

    2024-07-10 04:42:06       28 阅读
  8. halcon学习

    2024-07-10 04:42:06       29 阅读