使用Smarty,语法错误:无法识别的标签'扩展'

时间:2018-03-30 02:56:08

标签: php smarty smarty3

试图用谷歌搜索和文件,没有运气。

default_shirts.tpl

<body>{block name="chicken"}{/block}</body>

chefsquad_rice.tpl

{extends file="default_shirts.tpl"}

chefsquad_rice.php

require ("../../libs/Smarty/Smarty.class.php");

$smarty = new Smarty();
$smarty->template_dir = '../../templates';
$smarty->compile_dir  = '../../templates_c';
$smarty->config_dir   = '../../configs';
$smarty->cache_dir    = '../../cache';

$smarty->debugging = false; //Disable to remove popup
$smarty->caching = false;

$smarty->display('../../templates/chefsquad_rice.tpl');

我在PHP页面上收到此错误,我已经尝试了所有内容,而且我现在已经陷入困境。运气好吗?

  

致命错误:Smarty错误:[in ../../templates/chefsquad_rice.tpl第1行]:语法错误:无法识别的标签&#39;延伸&#39; (Smarty_Compiler.class.php,第585行)在C:\ Users \ Owner \ Dropbox \ Samm&s和Richard's Work \ Richard的工作\ htdocs \ chefsquadent \ Actual Website \ libs \ Smarty中第104行的Smarty.class.php

2 个答案:

答案 0 :(得分:0)

您需要设置父页面。

检查以下代码:

$smarty->display('extends:../../templates/default_shirts.tpl|../../templates/chefsquad_rice.tpl');
  

$smarty->display('extends:parent.tpl|child.tpl|grandchild.tpl');

参考:https://www.smarty.net/docs/en/resources.extends.tpl

答案 1 :(得分:0)

从您的错误来看,我认为您使用的是Smarty v2(而非v3)。 (检查Smarty.class.phpSmarty_Compiler.class.php的源代码,它们正是发生错误的行)。

Smarty v2中不包含{extends}(仅支持v3)。相反,您应该使用{include}

示例:

{include file="default_shirts.tpl"}