ThinkPhp view 路径用到的常量 __STATIC__ __JS__ __CSS__等
https://www.edoou.com/articles/1556848583530922
ThinkPHP5.1 里面__PUBLIC__无法生效的问题
在用PHP模板的时候需要引用外部的样式文件,之前的版本直接用__PUBLIC__就可以定位到指定的位置。
<Link href="__PUBLIC__/static/css/main.css" rel="stylesheet" />
但是页面中__PUBLIC__并没有解析成对应的路径。
在查询TP5.1的文档时候,有这么一句话。“view_replace_str配置参数改成template配置文件的tpl_replace_string配置参数。”所以需要在config/template.php中设置tpl_replace_string的值。
我们直接添加这条配置项,代码如下。
'tpl_replace_string' =>[
'__PUBLIC__' => $_SERVER['REQUEST_SCHEME']."://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['SCRIPT_NAME'])),
],
你也可以自己设置成固定样式。
'tpl_replace_string' => ['__PUBLIC__'=>'/项目名/public'],
这时候刷新页面看一下,发现还是__PUBLIC__并没有转义。这里是由于Runtime下面有缓存文件。把Runtime下的文件都删除一下,就可以了。
一.index.php 入口文件加入
define('SCRIPT_DIR', rtrim(dirname($_SERVER['SCRIPT_NAME']), '\/\\'));
thinkphp5.1以下版本设置__STATIC__ __JS__ __CSS__等常量thinkphp在think目录的view.php
$baseReplace = [
'__ROOT__' => $root,
'__URL__' => $base . '/' . $request->module() . '/' . Loader::parseName($request->controller()),
'__STATIC__' => $root . '/static',
'__CSS__' => $root . '/static/css',
'__JS__' => $root . '/static/js',
];
可以在config中修改和重新定义
// 视图输出字符串内容替换
'view_replace_str' => [
'__IMAGE__' => '/static/images',
'__UPLOAD__' =>'/upload', ],
thinkphp5.1版本设置
在config目录的template.php加入
'tpl_replace_string' =>[
'__STATIC__'=> SCRIPT_DIR . '/static', //后台程序css,img,js所在文件
'__COMMON__'=> SCRIPT_DIR . '/common', //前后共有css,img,js所在文件
'__APP__' => SCRIPT_DIR . '/', //定义首页
'__JS__'=> SCRIPT_DIR . '/static/js', //js文件
'__CSS__'=> SCRIPT_DIR . '/static/css', //css文件
'__IMAGE__'=> SCRIPT_DIR . '/static/images', //image文件
],
ThinkPhp view 路径用到的常量 __STATIC__ __JS__ __CSS__等的更多相关文章
- thinkphp配置文件路径
thinkphp配置文件路径在入口文件index.php中配置. 如果Public目录在应用程序目录同等级位置: 2.如果Public在app内部则: 3.如果使用Public在app外部,但定义为: ...
- thinkphp的路径问题
无法加载模块?验证码无法显示?__URL__没有替换成当前模块路径?那么你可能遇到了跟我一样的问题.如果你是通过超链接(或者是在地址栏输入该页面的地址)来访问某个页面(即模版)时,如果你在这个页面使用 ...
- 第一次用THINKPHP 报路径错
我第一次 看网上写的代码 define('THINK_PATH','ThinkPHP');define('App_NAME','43');define('App_PATH','.'); require ...
- thinkphp __PUBLIC__的定义 __ROOT__等常量的定义
2 3 4 5 6 7 8 9 '__TMPL__' => APP_TMPL_PATH, // 项目模板目录 '__ROOT__' => __ROOT__, ...
- thinkPHP 获得当前请求的全部常量信息
tp框架提供了常量: http://网址/shop/index.php/分组/控制器/操作方法/名称1/值/名称2/值 __MODULE__: 路由地址分组信息 (/shop/index.php/分组 ...
- struts2开发action 的三种方法以及通配符、路径匹配原则、常量
struts2开发action 的三种方法 1.继承ActionSupport public class UserAction extends ActionSupport { // Action中业务 ...
- thinkphp框架的路径问题 - 总结
thinkphp框架的路径问题 - 总结 (2011-06-21 11:01:28) 转载▼ 标签: thinkphp 框架 路径 杂谈 分类: Php TP中有不少路径的便捷使用方法,比如模板中使用 ...
- thinkphp执行流程
1. 入口文件index.php 用户对url的访问首先被定位到http://<serverIp>/<appName>/index.php, 这里的入口文件index.php做 ...
- thinkphp修改和删除数据
1.在控制器MainController里面写一个方法,调用Nation表中的数据. public function zhuyemian() { $n = D("Nation"); ...
随机推荐
- 尚硅谷Docker---1-5、docker简介
尚硅谷Docker---1-5.docker简介 一.总结 一句话总结: docker是环境打包:有点像windows镜像 docker的实质:缩小版.精细版.高度浓缩版的一个小型的linux系统 1 ...
- JavaVM & JNIEnv
JNIEnv提供了大多数的JNI函数.你的本地方法都会接收JNIEnv作为第一个参数.JNIEnv用于本地线程存储.因此,你不能在线程间共享同一个JNIEnv.如果一个代码段没有其他方式获取它自身线程 ...
- hyperworks2019x中模型简化
Defeature→Fillets
- react 配置ant时遇见的一个Error: Multiple configuration files found. Please remove one: – package.json#babel – .babelrc 解决方案
这个问题是create react app 里面的package.json里面已经配置了 "babel": { "presets": [ ...
- ContentProvider,ContentResolver和ContentObserver 使用
1 ContentProvider内容提供者 四大组件之一,实现不同程序实现数据的共享.联系人应用就使用了ContentProvider,比如你在自己的应用可以读取和修改联系人的数据(获得相应权限). ...
- LinkedHashSet 源码分析
LinkedHashSet 1)底层由 LinkedHashMap 支持的 Set 接口实现,该 Set 中的元素具有可预知的迭代顺序. 创建实例 /** * 构造一个新的空 set,其底层 Link ...
- PEP8中文版 -- Python编码风格指南
Python部落组织翻译, 禁止转载 目录 缩进 制表符还是空格? 行的最大长度 空行 源文件编码 导入 无法忍受的 其 ...
- json模块:字符串与字典之间的转换--loads,dumps,load,dump
一.json转化成字典: product.json文件:将该文件内容转换成python中字典,方法如下: 方法一:使用.loads(),先读后转换 import json #导入json, 注: ...
- Components controls 区别
http://www.cnblogs.com/del/archive/2008/10/23/1317862.html 一个容器控件如果被其他控件指定为属主(Owner), 那么它的 Component ...
- JS-在本页面禁止页面返回
这个问题是最近遇到的 解决方案我百度的并测试有效 // 如果你希望用户不用有返回功能 可缩写如下 或使用location.replace('url')跳转链接 history.pushState(nu ...