PHP& SMARTY =>无法访问.tpl文件中的附加变量

时间:2011-07-19 19:17:38

标签: php html smarty

我试图通过以下形式分配SMARTY变量$error来显示错误消息:

function validate1() {
  $error['title'] = "Title contains illegal characters...";
  $this->smarty->append('error', $error);
}
function validate2() {
  $error['time'] = "Please enter a time in 12 hour clock (12:30 PM) format.";
  $this->smarty->append('error', $error);
}

我的HTML看起来像:

<p class="message-error">{$error['title']}</p>
<p class="message-error">{$error['time']}</p>

我最近一直在使用下面的代码,它有效;有什么方法可以修改第一个代码块,使其与下面的代码一样工作?

$error['title'] = "Title contains illegal characters...";
$error['time'] = "Please enter a time in 12 hour clock (12:30 PM) format.";
$this->smarty->assign("error", $error);

2 个答案:

答案 0 :(得分:1)

如果以这种方式定义数组并包含合并选项(第3个参数到append()

,它是否有效
function validate1() {
  $error = array('title' => "Title contains illegal characters...");
  $this->smarty->append('error', $error, TRUE);
  // -------------------------------------^^^^
}

编辑忘记包含合并参数。

答案 1 :(得分:0)

阅读smarty manual,关联数组的正确语法是:

{$error.title}