__PUBLIC__模板文件路径配置

时间:2023-03-08 16:39:44
__PUBLIC__ 默认指向 项目文件下的Public文件夹

注意:
 __PUBLIC__不是一个常量,只在模板中进行替换,__ROOT__是一个常量 项目文件路径

defined('__PUBLIC__')判断一个常量是否存在
更改模板Public文件映射路径?

'TMPL_PARSE_STRING'=>array(
'__PUBLIC__'=>__ROOT__.'/'.APP_NAME.'/Includes'.GROUP_NAME.'/Tpl/Public',
),
'TMPL_TEMPLATE_SUFFIX'=>'html' 模板文件后缀名设置

Public文件夹下放入(js、css、images)文件

  TMPL_PARSE_STRING-----》模板替换规则  array()
    TMPL_FILE_DEPR -----》模板文件模块与操作之间的分割符,只对项目分组部署有效  /
  TMPL_TEMPLATE_SUFFIX -----》默认模板文件后缀  .html
    DEFAULT_THEME -----》默认模板主题名称

return array (
'TMPL_FILE_DEPR'=>'_',
'DEFAULT_THEME'=>'default',
'TMPL_PARSE_STRING' =>array(
'__IMG__' => THEME_PATH.'Statics/Images',
'__JS__' => THEME_PATH.'Statics/Js',
'__CSS__' => THEME_PATH.'Statics/Css',
),
);

问题1.我想修改Public目录的位置,所以修改了模板常量__PUBLIC__,但发现import等标签导入的位置仍然为Public目录
 在配置项中增加
'TMPL_PARSE_STRING' => array (
'__PUBLIC__' => __ROOT__ . '/Static' // 更改默认的/Public 替换规则
),
这样,模板中的__PUBLIC__是被替换了,但是使用import标签。
例如<import file="Js.Base" />,仍然是在Public目录下导入,必须添加basepath属性才能正常使用。

问题2.如何在model中调用由TMPL_PARSE_STRING定义的常量?
例如你定义为'TMPL_PARSE_STRING'  =>array(   
 '__PUBLIC__' => __ROOT__.'/'.APP_NAME.'/Tpl/Public',    
'__JS__'   => __ROOT__.'/'.APP_NAME.'/Tpl/Public/js',
)

你用C方法就可以C('TMPL_PARSE_STRING.__PUBLIC__')