Я установил последнюю версию yii2 с помощью расширенного шаблона. Веб-сайт работает нормально. По какой-то причине инструмент генерации Gii застревает и не реагирует так, как ожидалось, после нажатия кнопки предварительного просмотра. Вместо того, чтобы показывать новую форму с помощью кнопки "Создать", она показывает ту же форму без изменений без сообщений о том, что происходит.
Используя xdebug, я вижу в методе actionView элемента DefaultController, что значение массива $ _POST ['preview'] не задано, т.е. Оно не существует в массиве $ _POST. Я ничего не изменил в форме представления, и все выглядит нормально. Кнопка отправки имеет имя "предварительный просмотр", и форма отправляется, но массив $ _POST не заполняется значением кнопки отправки. Поэтому контроллер не выполняет следующие шаги процесса генерации.
public function actionView($id)
{
$generator = $this->loadGenerator($id);
$params = ['generator' => $generator, 'id' => $id];
// ###############################################################################
// ### THIS IF STATEMENT IS NOT TRUE BECAUSE $_POST['preview'] IS NOT SET !!! ###
// ###############################################################################
if (isset($_POST['preview']) || isset($_POST['generate'])) {
// ###############################################################################
if ($generator->validate()) {
$generator->saveStickyAttributes();
$files = $generator->generate();
if (isset($_POST['generate']) && !empty($_POST['answers'])) {
$params['hasError'] = !$generator->save($files, (array) $_POST['answers'], $results);
$params['results'] = $results;
} else {
$params['files'] = $files;
$params['answers'] = isset($_POST['answers']) ? $_POST['answers'] : null;
}
}
}
return $this->render('view', $params);
}
Кто-нибудь есть идея, что может быть причиной этого? У меня есть догадка, что это что-то очень простое, что я пропускаю, но у меня никогда не было ситуации, когда переменная POST из формы не отправляется на сервер.
Ложная сигнализация. Я нашел проблему. В представлении Gii некорректно создается HTML-форма.