大家!
我在我的项目中使用 PHP 和 Smarty。 我正在使用命名空间,并且在调用 Smarty 函数时遇到问题,例如 cycle
我遇到此错误:第 23 行模板“.\sys\adm\template\fields\inputFileField.tpl”中的语法错误“{cycle value="um,dois"}"未知标签”循环”
我正在使用 spl_autoload_register 在项目中自动加载类:
function smartyAutoloader($className) {
$file = "sys/classes/smarty/$className.class.php";
if (file_exists($file)) {
require $file;
return true;
}
return false;
}
我没有更改 Smarty 类中的命名空间,因此我以这种方式导入 Smarty:
use \Smarty;
如果我注释cycle代码,我的代码就能正常工作。
以下是有问题的代码:
{for $x = 0 to 10}
{cycle values="um,dois"} {*line 23 on inputFileField.tpl*}
{/for}
我不知道在同一个项目中使用命名空间和 Smarty。我确信这个错误是由于命名空间造成的。 有人可以帮助我吗?
提前致谢
最佳答案
您必须像这样设置 setPluginsDir:
$dirSep = DIRECTORY_SEPARATOR;
$path = dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR;
$smarty->setPluginsDir($path."smarty".$dirSep."libs".$dirSep."plugins");
关于PHP 与命名空间和 Smarty 错误 : unknown tag "cycle",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18647788/