Павел Гвоздь

Павел Гвоздь

Был в сети 28 июля 2026, 22:53
Заказы принимаю
немного схитрить используя свойство fieldNames сниппета FormIt
А разве прописав кастомный параметр при вызове FormIt (или AjaxForm) он не попадает прямиком в чанк формы?
Я делаю примерно так:
{'!AjaxForm' | snippet : [
    ...
    'formFields' => [
        'name' => [
            'type' => 'text',
            'label' => '',
            'placeholder' => 'Ваше имя',
            'required' => true,
        ],
        'email' => [
            'type' => 'email',
            'label' => '',
            'placeholder' => 'Ваш email',
        ],
        'phone' => [
            'type' => 'text',
            'label' => '',
            'placeholder' => 'Контактный телефон',
            'required' => true,
        ],
    ],
    ...
]}

И в чанке формы:
{foreach $formFields as $fk => $fv}
    {if $fv['label']?}
        <div class="form__label-w">
            <label class="form__label">
                {$fv['label']}
            </label>
        </div>
    {/if}

    {switch $fv['type']}
        {case 'text'}
            <div class="form__input-w">
                <input class="form__input" type="text" name="{$fk}" placeholder="{$fv['placeholder']}">
            </div>

        {case 'email'}
            <div class="form__input-w">
                <input class="form__input" type="email" name="{$fk}" placeholder="{$fv['placeholder']}">
            </div>

        {case 'textarea'}
            <div class="form__input-w">
                <textarea class="form__input" name="{$fk}" placeholder="{$fv['placeholder']}"></textarea>
            </div>
    {/switch}

    <div class="form__error error_{$fk}"></div>
{/foreach}
Благодарю за внимательность!
А мне вот не понятно, как так вышло, что в схеме базы у меня tv_id типа varchar… Видимо, когда писал схему был молодой и горячий. =) Новая версия ушла в репозиторий.

UPD:
К сожалению не могу плюсануть.
Почему у вас msearch2/js/web/default.js подключается в шапке, а уже после него идёт
<script type="text/javascript">mse2Config =
?

В этом причина. Сделайте так, чтобы файл JS от mSearch2 был ниже объявления объекта mse2Config и будет вам счастье.

UPD:
К слову, если решили подключать скрипты компонента вручную, то надо понимать, что делаешь, а не «на ощуп»…