我位于maindirexample / actions中的ajax php在maindirexample / templates中调用tpl文件一个文件夹
fetch('../templates/popupMyItems.tpl');
然而,这会引发错误
<br /> <b>Fatal error</b>: Uncaught exception 'SmartyException' with message 'Unable to load template file 'list-myItems.tpl' in '../templates/popupMyItems.tpl'
popupMyitems.tpl似乎被称为ok,但list-myItems.tpl失败(这包含在popupMyitems.tpl中)..
{foreach
from=$uniquecategories item=category name=cat}
{if $smarty.foreach.cat.first} {include file="list-myItems.tpl"
category="{$category|replace:' ':''}" active="true"}
{else} {include
file="list-myItems.tpl" category="{$category|replace:' ':''}"
active="false"} {/if}
{/foreach}
使用
{include file="../templates/list-myItems.tpl"}
也失败了:
'SmartyException' with message 'Unable to load template file 'list-myItems.tpl' in '../templates/popupMyItems.tpl'' in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\ex\libs\sysplugins\smarty_internal_templatebase.php:127 Stack trace: #0 C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\ex\libs\sysplugins\smarty_internal_template.php(286): Smarty_Internal_TemplateBase->fetch(NULL, NULL, NULL, NULL, false, false, true) #1 C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\ex\main\actions\templates_c\07c3452c9173e47b89ab427877861e26b839928c.file.popupMyItems.tpl.php(52): Smarty_Internal_Template->getSubTemplate('list-myItems.tp...', NULL, NULL, NULL, NULL, Array, 0) #2 C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\ex\libs\sysplugins\smarty_internal_templatebase.php(180): content_5236279826e113_69075833(Object(Smarty_Internal_Template)) #3 C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\ex\main\actions in <b>C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\ex\libs\sysplugins\smarty_internal_templatebase.php</b> on line
有什么想法吗?
由于
答案 0 :(得分:2)
您还需要从../templates/中包含它。 Smarty不会在“当前文件夹”中搜索包含内容,而是搜索设置中指定的include_dir。所以你应该做这样的事情:
{include file="../templates/list-myItems.tpl" category="{$category|replace:' ':''}" active="true"}