注意:
__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__')