刘峰
|
建议官方对模板文件的嵌套定一个一个方法 出现这一个问题的原因是,发现需要对头部文件进行修改但是修改的地方在头部文件引用的一个小模板中 这样的结果导致每个模块都要在扩展文件中定义一遍header.html.php和header.lite.html.php两个模板文件
建议这个方法的逻辑是这样子的如果是公用文件 可以直接读取common模块中扩展的模板文件,这样只定义一次就可以了,如果common模块中的扩展模板文件不适用于当前模块则在当前模块创建,首先检查当前模块有没有,没有的话检查common模块
当前使用的PHP内置的方法include无法满足以上逻辑,建议官方在新的版本中增加文件嵌套特性
|
刘峰
|
$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的模板进行扩展, 所以还是建议官方增加对模板获取的方法来保证引用模板或者查找模板时更高效,更准确 |