CakePHP 3.7.1 Добавление классов в форму Выберите параметры управления - PullRequest
0 голосов
/ 19 сентября 2019

Из документации я смог создать элемент управления выбора формы, однако мне неясно, как добавить классы к параметрам выбора ...

Вот мой элемент управления выбора в форме CakePHP

<?= $this->Form->select('type', [
        'Value 1' => 'Name 1',
        'Value 2' => 'Name 2'
    ],[
        'class' => 'js-custom-select w-100 u-select-v2 u-shadow-v19 g-brd-none g-color-black g-color-primary--hover g-bg-white text-left g-rounded-30 g-pl-30 g-py-12',
        'data-open-icon' => "fa fa-angle-down", 
        'data-close-icon' => "fa fa-angle-up"
    ]
) ?>

Вот мой элемент управления для выбора в HTML

<select name="type" class="js-custom-select w-100 u-select-v2 u-shadow-v19 g-brd-none g-color-black g-color-primary--hover g-bg-white text-left g-rounded-30 g-pl-30 g-py-12" data-placeholder="Type" data-open-icon="fa fa-angle-down" data-close-icon="fa fa-angle-up">
    <option class="g-brd-secondary-light-v2 g-color-black g-color-white--active g-bg-primary--active" value="value 1">Name 1</option>
    <option class="g-brd-secondary-light-v2 g-color-black g-color-white--active g-bg-primary--active" value="value 2">Name 2</option>
</select>

Как получить классы из опций в CakePHP Form элемента управления?

1 Ответ

1 голос
/ 19 сентября 2019

Чтобы добавить классы к вашим опциям, вам нужно использовать определенную структуру массива опций:

$options = [
    [
        "text" => "Text to display for option 1",
        "value" => "Value to set for option 1",
        "class" => "Class list to set for option 1"
    ],
    [
        "text" => "Text to display for option 2",
        "value" => "Value to set for option 2",
        "class" => "Class list to set for option 2"
    ],
    /** ... **/
]

После подготовки такого массива вы можете использовать его с FormHelper::select() или FormHelper::control():

$this->Form->select("field_name",$options);

$this->Form->control("field_name",[
    "label" => "My Label",
    "type" => "select",
    "options" => $options
]);
...