
zentaoPHP框架扩展机制
手册分类

- 1 zentaoPHP二次开发简介
- 2. zentaoPHP框架扩展机制
- 2.1 扩展机制简介
- 2.2 新增独立模块
- 2.3 对控制层(control)扩展
- 2.4 对模型层(model)扩展
- 2.5 对视图层(view)扩展
- 2.6 对样式表和js进行扩展
- 2.7 对多语言和配置进行扩展
- 2.8 增加新的类库
- 3. zentaoPHP框架API机制
- 3.1 API机制简介
- 3.2 需要登录验证的api调用
- 4 zentaoPHP框架命令行机制
对视图层(view)扩展 分享链接 /book/extension-new/extend-view-1257.html
作者:禅道团队
最后编辑:朱金勇 于 2022-03-28 10:19:40
浏览量:6651
视图文件的扩展分为两种方式,一种是完全覆盖,第二种是通过钩子机制来扩展。
一、完全覆盖
视图文件的覆盖可以通过完全覆盖的方式来重新定义。比如我对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代码,实现了对顶部导航条的加红显示。
评论列表

使用钩子的方法,代码要用对应的语言标签包起来,即 PHP用 <?php ?>,js 用<script> </script>

老师,麻烦问下,这个view中的html.php是如何与control层的新增方法映射的,control中新增方法的值,如何传给view中的?

extension/custom/misc/ext/view/getsid.color.html.hook.php这个文件位置是在zentao文件夹(xampp\zentao\extension\custom)目录下吗,没有找到misc文件夹,是需要自己创建对应文件夹吗
上一页1
1/1下一页