关于模板中直接使用了include方法
2015-10-29 18:51:24
刘峰
  • 访问次数: 63
  • 注册日期: 2015-04-21
  • 最后登录: 2019-01-02

建议官方对模板文件的嵌套定一个一个方法

出现这一个问题的原因是,发现需要对头部文件进行修改但是修改的地方在头部文件引用的一个小模板中

这样的结果导致每个模块都要在扩展文件中定义一遍header.html.php和header.lite.html.php两个模板文件


建议这个方法的逻辑是这样子的如果是公用文件 可以直接读取common模块中扩展的模板文件,这样只定义一次就可以了,如果common模块中的扩展模板文件不适用于当前模块则在当前模块创建,首先检查当前模块有没有,没有的话检查common模块


当前使用的PHP内置的方法include无法满足以上逻辑,建议官方在新的版本中增加文件嵌套特性




沙发
2015-10-30 08:02:45
春哥
  • 访问次数: 2701
  • 注册日期: 2013-08-15
  • 最后登录: 2022-01-11
common模块下面的文件一样可以扩展的。
板凳
2015-10-30 11:33:05
刘峰
  • 访问次数: 63
  • 注册日期: 2015-04-21
  • 最后登录: 2019-01-02
$template = $this->config->template->{$device}->name;

common下的header文件是通过include TPL_ROOT.'common/view/header.html.php'引入的,所以你扩展不扩展没什么作用。


现在还遇到了一个问题 关于block模板的处理,发现在system/module/block/model.php中是这样定义的

方法  private function parseBlockContent($block, $withGrid = false, $containerHeader, $containerFooter)中这样获取的模板$template = $this->config->template->{$device}->name;这中获取方式没法对block的模板进行扩展,

所以还是建议官方增加对模板获取的方法来保证引用模板或者查找模板时更高效,更准确

#3
2015-10-31 17:10:38
春哥
  • 访问次数: 2701
  • 注册日期: 2013-08-15
  • 最后登录: 2022-01-11
先记下了。后面处理下。
1/1
联系我们

联系人:ZSITE交流群

电话/微信:

Email:

QQ:

地址:青岛市黄岛区井冈山路157号中南金石国际广场A座3205室