• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

thinkphp模板路径有关问题

php 搞代码 3年前 (2022-01-24) 13次浏览 已收录 0个评论

thinkphp模板路径问题
第一次使用thinkphp,关于模板里资源文件路径的设置一直搞不懂。
比如<link rel=”stylesheet” type=”text/css” href=”.__PUBLIC__/Theme/default/css/bootstrap.min.css” />

我的项目采用了分组‘Admin’和‘Content’,之前为了测试模板显示效果简单地写了个PageTestAction只有一个show方法来display模板而且为了方便设置了默认分组、默认模型、默认方法,因而访问地址http://localhost/XBlog(项目名)/index.php一切正常。

而当我使用正常的路径http://localhost/XBlog/index.php/Content/PageTest/show来访问是资源文件便无效了

按照我的理解 ’__PUBLIC__‘=‘/Public’因而 ‘.__PUBLIC__‘=‘./Public’, 而’./’表示当前目录,所以‘./Public’这个相对地址是相对于index.php的,然而当后面加上’/Content/PageTest/show‘就不行来2源gaodaima#com搞(代@码&网了,难道’/Content/PageTest/show‘也是作为路径存在的吗,他改变了当前的路径?他不是用来表示分组、模块、方法的虚拟路径吗?

还有,我发现如果写成网站根目录相对地址是这样的<link rel=”stylesheet” type=”text/css” href=”/XBlog(项目名)/Public/Theme/default/css/bootstrap.min.css” />,不理解分什么中间还夹着一个项目名目录?还有‘__ROOT__: 会替换成当前网站的地址(不含域名)__APP__: 会替换成当前项目的URL地址 (不含域名)’,难道一个网站可以包含多个项目?
__ROOT__和__APP__是什么关系?
虽然在本地WWW文件夹下却是存在多个项目,但是在服务器上正式部署不是这样的吧?/XBlog(项目名)/Public/Theme/default/css/bootstrap.min.css”这种写法会不会对部署有影响?
——解决方案——————–
第一个问题:
/Content/PageTest/show确实改变了路径,因此模板中资源地址要使用相对于根目录的路径而非当前地址。
第二个问题:
/XBlog应该是你在www目录下创建的项目文件夹吧,网站根目录指的是www文件夹而非项目文件夹
第三个问题:
/XBlog(项目名)/Public/Theme/default/css/bootstrap.min.css这种写法对部署当然有影响,因为部署时通常将项目文件夹下的内容直接放到www文件夹下,如果这样就应去掉/XBlog(项目名)


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:thinkphp模板路径有关问题
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址