В шаблоне Smarty выводится форма:
{use class='yii\widgets\ActiveForm' type='block'}
{ActiveForm assign='form' id='login-form' action='/form-handler' options=['class' => 'form-horizontal']}
{$form->field($model, 'firstName')}
<div class="form-group">
<div class="col-lg-offset-1 col-lg-11">
<input type="submit" value="Login" class="btn btn-primary" />
</div>
</div>
{/ActiveForm}
Файл шаблона Smarty сохраняется. Эта страница сайта в браузере обновляется - все нормально. Но при повторном обновлении страницы возникает ошибка: Undefined index: ActiveForm. То есть при повторном обращении к этой странице код берется из скомпилированного файла шаблона, в котором следующий код:
<?php
$_smarty_tpl->getGlobal('_viewRenderer')->widgets['blocks']['ActiveForm'] = 'yii\widgets\ActiveForm';
try {
$_smarty_tpl->registerPlugin('block', 'ActiveForm', [$_smarty_tpl->getGlobal('_viewRenderer'), '_widget_block__ActiveForm']);
} catch (SmartyException $e) {
/* Ignore already registered exception during first execution after compilation */
}
?>
<?php $_smarty_tpl->smarty->_tag_stack[] = array('ActiveForm', array('assign' => 'form', 'id' => 'login-form', 'action' => '/backend/login/', 'options' => array('class' => 'uk-panel uk-panel-box uk-form')));
$_block_repeat = true;
echo $_smarty_tpl->smarty->registered_plugins['block']['ActiveForm'][0][0]->_widget_block__ActiveForm(array('assign' => 'form', 'id' => 'login-form', 'action' => '/backend/login/2', 'options' => array('class' => 'uk-panel uk-panel-box uk-form')), null, $_smarty_tpl, $_block_repeat);
while ($_block_repeat) {
ob_start(); ?>
<?php echo $_smarty_tpl->tpl_vars['form']->value->field($_smarty_tpl->tpl_vars['model']->value, 'username')->textInput(array('placeholder' => $_smarty_tpl->tpl_vars['model']->value->getAttributeLabel('username'), 'class' => 'form-group5'))->label(false); ?>
<?php echo $_smarty_tpl->tpl_vars['form']->value->field($_smarty_tpl->tpl_vars['model']->value, 'password')->passwordInput(array('placeholder' => $_smarty_tpl->tpl_vars['model']->value->getAttributeLabel('password')))->label(false); ?>