head.htm
和footer.htm
:,,“php,{dede:include filename="head.htm" /},{dede:include filename="footer.htm" /},
“在织梦(DedeCMS)系统中,调用当前模板的head.htm
和footer.htm
是常见的需求,尤其是在plus
目录下,本文将介绍如何在dede
中通过几种方法实现这一功能,并给出相关FAQs。
方法一:通过修改文件实现调用
1、打开extend.func.php文件:找到/include/extend.func.php
文件,如果没有这个文件,可以在/include/common.func.php
中添加。
2、添加函数代码:
function pasterTempletDiy2($path) { require_once(DEDEINC."/arc.partview.class.php"); global $cfg_basedir,$cfg_templets_skin; $tmpfile = $cfg_basedir.$cfg_templets_skin.'/'.$path; if(is_file($tmpfile)) { return $tmpfile; } else { return $cfg_basedir.'/templets/default/'.$path; } }
这段代码的作用是在plus
目录中调用风格目录中的模板文件,如果plus
目录中有相应的模板文件,则优先调用;否则调用默认模板目录中的文件。
方法二:使用自定义标签实现调用
1、创建自定义标签:在自定义标签中添加一个标记,例如head
填写为{dede:include filename="head.htm"/}
。
2、生成JS调用代码:保存自定义标签后,回到自定义标签列表,点击JS调用,可以得到类似以下的代码:
<script src='/plus/mytag_js.php?aid=2' language='javascript'></script>
这段JS代码相当于普通文档中的{dede:include filename="head.htm"/}
,可以直接在模板中使用。
方法三:直接包含文件路径
1、直接引用文件路径:在需要调用head.htm
或footer.htm
的地方,直接写上完整的文件路径。
<?php include($_SERVER['DOCUMENT_ROOT'].'/plus/your_template_folder/head.htm'); ?>
这种方法简单直接,但需要注意文件路径的正确性。
相关问答FAQs
问题1:为什么在plus目录中无法直接使用{dede:include}标签调用模板?
答:这是因为在plus
目录中,DedeCMS不支持直接使用{dede:include}
标签进行调用,这是由于plus
目录通常用于存放插件和模块,这些模块有自己的运行机制和安全考虑,因此不允许直接使用DedeCMS的标签系统,为了绕过这一限制,可以采用自定义标签或直接包含文件路径的方法来实现模板调用。
问题2:如何确保修改后的模板文件能够正确生效?
答:确保模板文件正确生效的关键在于路径的准确性,在使用上述方法时,要确保引用的文件路径是正确的,特别是在使用自定义标签和直接包含文件路径的方法时,要仔细检查路径是否正确,修改模板文件后,建议清除浏览器缓存或刷新页面,以确保修改立即生效。
通过以上方法,可以在DedeCMS的plus
目录中有效地调用当前模板的head.htm
和footer.htm
,每种方法都有其适用场景,可以根据具体需求选择最合适的方法。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1196962.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复