php smarty是不是可以调用上级或同级目录的模板

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php smarty是不是可以调用上级或同级目录的模板相关的知识,希望对你有一定的参考价值。

是否可以这样设置 $smarty->templates_dir = "../templates"; $smarty->compile_dir = "../templates_c"; $smarty->cache_dir = "../cache"; 也就是说 这几个目录都和上级目录中的 然后我把模板放到 上级目录的 templates smarty会找不到? 请问高手哪里的问题?

参考技术A 这个上级目录指的应该是你的
php文件的上级目录
调用的时候直接
$smarty->display('xxx.tpl');
今天才开始看smarty,呵呵
这个问题我也试过很多次了。
我的结论是设置$smarty->templates_dir
=
"../templates";时是相对于你的php文件来说的
实现$smarty->display('xxx.tpl');里的模板路径是相对于你的模板目录说的
————————————————
建议你自己写个子类继承Smarty类,里面写绝对路径。

当位于顶级栏目显示下级栏目,当位于二级栏目显示同级栏目,当位于三级目录,显示上级栏目

        $row2 = $dsql->GetOne("SELECT * FROM `#@__arctype` WHERE id=‘$typeid‘ ");
        $typeid = $row2[id];
        $reid = $row2[reid];
        $topid = $row2[topid];
        $issetInfos = true;
    }
    
    if($type==‘‘ || $type==sun) $type=son;
    if($type==‘reid‘ && $topid == ‘0‘  ) $type=‘son‘;
    if($innertext==‘‘) $innertext = GetSysTemplets("channel_list.htm");

include aglibchannel.lib.php 

 

        {dede:channel type=reid noself=yes currentstyle=        <li class="thisclass"><a href="~typelink~">~typename~</a></li>
        }
        <li><a href="[field:typeurl/]">[field:typename/]</a></li>{/dede:channel}

 

以上是关于php smarty是不是可以调用上级或同级目录的模板的主要内容,如果未能解决你的问题,请参考以下文章

Smarty基础

php获取上级文件绝对路径

python 怎么引入上上级目录的文件

php页面中的包含文件用相对路径(require_once("./smarty/smarty.class.php"))出错了怎么解决

php smarty 配置

PHP Smarty 模板 自定义插件