2015-01-18 3 views
0

У меня есть следующий Smarty шаблон:умник показывает переменную, только если отладки acitve

<div class="col-md-4 col-sm-4 col-lg-4 col-xs-12 col-md-offset-4 col-lg-offset-4 col-sm-offset-4 login-box"> 
{$validation_errors} 
    <p class="heading">Please Log In!</p> 
    {form url='user/login'} 
     <div class="form-group"> 
      <label for="Email">Email address</label> 
      <input type="text" class="form-control" id="Email" placeholder="Enter email" name="email" /> 
     </div> 
     <div class="form-group"> 
      <label for="Password">Email address</label> 
      <input type="password" class="form-control" id="Password" placeholder="Enter password" name="password" /> 
     </div> 
     <button type="submit" class="btn btn-success pull-right">Submit</button> 
    {form} 
</div> 

Это PHP-код, чтобы назначить $validation_errors:

$this->smartyci->assign('validation_errors', $error); 

Так что моя проблема теперь в том, что $validation_errors является только показано в шаблоне, если я настроил smarty в режиме отладки следующим образом:

<div class="col-md-4 col-sm-4 col-lg-4 col-xs-12 col-md-offset-4 col-lg-offset-4 col-sm-offset-4 login-box"> 
{debug} 
{$validation_errors} 
    <p class="heading">Please Log In!</p> 
    {form url='user/login'} 
     <div class="form-group"> 
      <label for="Email">Email address</label> 
      <input type="text" class="form-control" id="Email" placeholder="Enter email" name="email" /> 
     </div> 
     <div class="form-group"> 
      <label for="Password">Email address</label> 
      <input type="password" class="form-control" id="Password" placeholder="Enter password" name="password" /> 
     </div> 
     <button type="submit" class="btn btn-success pull-right">Submit</button> 
    {form} 
</div> 

У меня действительно есть идея, почему переменная отображается только при вводе {debug} в шаблон. Btw любые другие переменные работают нормально.

+0

$ this-> smartyci-> assign ('validation_errors', $ error); - Это ошибка с $ this-smartyci ??? –

+0

Нет $ this-> smartyci в порядке :) – Tewdyn

ответ

1

Как-то переменная $ validation_errors выполнялась путем кэширования smarty. Я отключил chaching, и теперь все работает нормально.

Смежные вопросы