thinkphp __PUBLIC__

http://www.cnblogs.com/jiechn/p/3784878.html

_PUBLIC__模板文件路径配置

 
__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__')

原文地址:https://www.cnblogs.com/chuanqideya/p/6364599.html