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