zentaoPHP框架扩展机制

对视图层(view)扩展 分享链接

作者:王春生 最后编辑:朱金勇 于 2023-03-20 08:56:01 浏览量:34099
摘要:视图文件的扩展分为两种方式,一种是完全覆盖,第二种是通过钩子机制来扩展。

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

一、完全覆盖

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

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

二、通过钩子进行扩展

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

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

$('#topbar').css('color', 'red');

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


注意:本文档是针对禅道16.5版本之前的zentaoPHP框架,禅道最新版本的二次开发文档请参照新版:
https://devel.easycorp.cn/book/extension-new/intro-52.html

返回顶部
3645260865.png' class="sales-image" />
高级客户经理
17667930330.png' class="sales-qrcode" />
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。