/ / Formularz logowania w nagłówku na każdej stronie w yii2 - php, yii, yii-components, yii2

Formularz logowania w nagłówku na każdej stronie w yii2 - php, yii, yii-components, yii2

Jak mogę wyświetlić formularz logowania w nawigacji nagłówka na każdej stronie za pomocą Yii2?

Próbowałem użyć:

$form = ActiveForm::begin(..);
$form->field(..);
ActiveForm:end();

Ale muszę dodać model LoginForm dla każdej strony w kontrolerze witryny.

Czy istnieje lepszy sposób na zrobienie tego?

Dzięki.

Odpowiedzi:

2 dla odpowiedzi № 1

1- Musisz umieścić swój kod w widgecie

2- w widoku widżetu musisz zdefiniować absolutną ścieżkę akcji, lubię to :

            <?php $form = $this->beginWidget("CActiveForm", array(
"id" => "contact-form",
"action" => Yii::app()->createUrl("//index.php/site/contact"),
"enableAjaxValidation" => true,
"enableClientValidation" => false,
"clientOptions" => array(
"validateOnSubmit" => true,
),
"htmlOptions" => array("class" => "form-horizontal", "role" => "form"),
));
?>

W Yii2:

// In Yii 2
$form = ActiveForm::begin([
"method" => "get",
"action" => Url::to(["//index.php/site/contact"]),
]);

// In Yii 1.x
$form = $this->beginWidget("CActiveForm", [
"method" => "get",
"action" => $this->createUrl("//index.php/site/contact"),
]);

Powiązany link: Kroki, aby utworzyć widget na Yii?