Yii2 pole formularza

Autor: Rafal Marguzewicz
Opublikowany:
Kategorie: Yii2
Tagi:


yii2 logo
Jest to lista metod generujących formularze (z modelem).
Formularze mogą posiadać wiele rodzajów pól, np:

  1. Pole tekstowe (input)
  2. Pole tekstowe wieloliniowe (textarea)
  3. Pole wyboru jednokrotnego (radio)
  4. Pole wyboru jednokrotnego lub wielokrotnego (checkbox)
  5. Pole wyboru jednokrotnego lub wielokrotnego (select/dropDownList)
  6. Pole ukryte (najczęściej pole tekstowe input)
  7. Pole przesłania pliku
  8. Pole hasła
  9. Pole z wyborem typu HTML5
    • Text
    • Email
    • Hasło
    • Data
    • Liczba
    • Adres URL
    • Telefon
    • Kolor
    • Zasięg (suwak)

Dodatkowe opcje pola formularza:

  • Zmiana etykiety pola (zamiast tej przypisanej z modelu)
  • Dodatkowe tagi (np. class i ID)
  • Domyślna wartość
  • Zaznaczony lub wybrany element listy

Klasa odpowiedzialna za tworzenie formularza to yii\widgets\ActiveForm która generuje pola za pomocą klasy yii\widgets\ActiveField.

Jeżeli potrzebujemy dodatkowych funkcjonalności, które daje szablon bootstrap, egzemplarz formularza możemy stworzyć za pomocą klasy , który generuje pola za pomocą yii\bootstrap\ActiveField

Aby dodać pole formularza do widoku, najpierw tworzymy opakowującą instancję obiektu ActiveForm

<?php
use yii\widgets\ActiveForm; // lub yii\bootstrap\ActiveForm

$form = ActiveForm::begin() ?>
// tutaj dodamy kod renderujący elementy HTML
<?php ActiveForm::end() ?>

Możemy przystąpić do dodawania elementów formularza.

1. Pole tekstowe (input)

 $form->field($model,  'name_field')->textInput();

2. Pole tekstowe wieloh2niowe (textarea)

$form->field($model,  'name_field')->textArea();

3. Pole wyboru jednokrotnego (radio)

<?=$form->field($model, 'nazwa_pola')->radioList([
    1 => 'opcja 1', 
    2 => 'opcja 2'
]); ?>

4. Pole wyboru jednokrotnego lub wielokrotnego (checkbox)

<?= $form->field($model, 'nazwa_pola')->checkboxList([
    1 => 'opcja 1', 
    2 => 'opcja 2'
]); ?>

Jeżeli potrzebujesz pojedynczego checkboxa (np. zatwierdzenie regulaminu)

<?= $form->field($model, 'nazwa_pola')->checkbox() ?>

5. Pole wyboru jednokrotnego lub wielokrotnego (select)

<?= $form->field($model, 'nazwa_pola')->dropDownList() ?>

6. Pole ukryte (najczęściej pole tekstowe input)

<?= $form->field($model, 'nazwa_pola')->hiddenInput() ?>

7. Pole przesłania pliku

<?= $form->field($model, 'nazwa_pola')->fileInput() ?>

8. Pole hasła

<?= $form->field($model, 'nazwa_pola')->passwordInput() ?>

9. Pole z wyborem typu HTML5

  1. Text: $form->field($model, 'nazwa_pola')->input('text')
  2. Email: $form->field($model, 'nazwa_pola')->input('email')
  3. Hasło: $form->field($model, 'nazwa_pola')->input('password')
  4. Data: $form->field($model, 'nazwa_pola')->input('date')
  5. Liczba: $form->field($model, 'nazwa_pola')->input('number')
  6. Adres URL: $form->field($model, 'nazwa_pola')->input('url')
  7. Telefon: $form->field($model, 'nazwa_pola')->input('tel')
  8. Kolor: $form->field($model, 'nazwa_pola')->input('color')
  9. Zasięg (suwak): $form->field($model, 'nazwa_pola')->input('range')

Zmiana etykiety pola (zamiast tej przypisanej z modelu)

 $form->field($model, 'name_field')->textInput()->label('Inna etykieta');

Dodatkowe tagi (np. class i id)

 $form->field($model, 'name_field')->textInput([
'class' => 'input-sm', 'placeholder' => 'text wewnątrz',
]);

Domyślna wartość

 $form->field($model, 'name_field')->textInput(['value' => 'domyślny tekst']);

Zaznaczony element listy

<php
$model->nazwa_pola = 1;
echo $form->field($model, 'nazwa_pola')->checkboxList([
    1 => 'opcja 1', 
    2 => 'opcja 2'
]); ?>
Yii2 pole formularza
5 / 2 votes


Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Nazwa *
Email *

Przeczytaj poprzedni wpis:
Yii2 SEO: Przyjazne adresy URL, meta tytuły i meta opisy

Na optymalizację SEO składa się wiele elementów. To kilka z nich:

Zamknij