PHP & SMARTY => Невозможно получить доступ к добавленным переменным в файле .tpl - PullRequest
0 голосов
/ 19 июля 2011

Я пытаюсь отобразить сообщения об ошибках, назначив переменную 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 ]

1 голос
/ 19 июля 2011

Работает ли это, если вы определите массив таким образом и включите опцию слияния (от 3-го параметра до append())

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

EDIT Забыл включить параметр слияния.

0 голосов
/ 19 июля 2011

Чтение smarty руководство , правильный синтаксис для ассоциативных массивов:

{$error.title}
...