小伙伴们在开发模板或者插件的时候,经常会用到include标签。
系统在这个标签上设计的有所欠缺,这里小编为大家对比下include标签在模板和插件中使用的区别。
知识点!知识点!知识点,快拿小本本记住了哈。
1、在index应用中
index应用是系统前台应用,用户看到的页面就是这个应用渲染的
在index应用中include标签不支持“/header”这种方式的相对引用,模板文件的位置是相对于选择的模板所在的文件夹,这句话可能有点绕,举个例子:
当前系统选择模板为defaults,在index.php模板文件中用到了{include:header},那么引用的这个header文件路径应该是
网站根目录/templates/index/defaults/header.php
如果是{include:temp/cms}这种方式的,那么引用的cms文件的路径应该是
网站根目录/templates/index/defaults/temp/header.php
至于有没有使用“/temp/cms”这种方式引用,不影响模板的渲染,因为index应用的模板在渲染的时候会自动在模板文件夹中索引。
2、在非index应用中
什么是非index应用呢?rpcms默认包含有三个应用:admin、index、install。
非index应用就是除了index这个以外的其他应用(rpcms支持应用的扩展开发)。
在其他应用中,include标签是支持“/”相对引用的。
用法一:
{include:header}
表示在当前控制器对应的模板文件夹中引用header.php文件。
如:当前打开的链接为:http://xxx.com/mod1/controller/index.html
那么这个header.php的文件路径应该是
网站根目录/templates/mod1/controller/header.php
用法二:
{include:/header}
表示在当前应用对应的模板文件夹中引用header.php文件。
如:当前打开的链接为:http://xxx.com/mod2/controller/index.html
那么这个header.php的文件路径应该是
网站根目录/templates/mod2/header.php
3、在插件中
在插件模板中使用include标签时,“/”相对引用和在应用中使用就不一样了。
用法一:
{include:header} {include:temp/header2}
表示当前插件文件夹中的header.php文件。
如:当前打开的链接为:http://xxx.com/plugin/demo/index
那么这个header.php的文件路径应该是
网站根目录/plugin/demo/header.php
这个header2.php的文件路径应该是
网站根目录/plugin/demo/temp/header.php
用法二:
{include:/header}
表示当前应用文件夹中的header.php文件。
如:当前插件是在后台打开的,比如插件的配置。那么这个header.php的文件路径应该是
网站根目录/templates/admin/header.php
如:当前插件是在前端打开的,系统选择的模板为defaults。那么这个header.php的文件路径应该是
网站根目录/templates/index/defaults/header.php
小伙伴们明白了吗?
发表评论
评论已关闭,请移步论坛发表,立即前往