Skip to content

Conversation

@mdcoderu
Copy link

При добавлении своих полей в веб-формы, которые должен заполнить пользователь при переводе отправления в указанный статус нет возможности переопределить параметры элемента. Мне нужно добавить свою "обертку" (control_wrapper)

public function getStateFields($state, waOrder $order = null, $params = array())
    {
        $fields = parent::getStateFields($state, $order, $params);
        switch ($state) {
            case self::STATE_READY:
                $fields['myplugin_field'] = array(
                    'control_wrapper' => '%s %s',
                    'control_type' => waHtmlControl::CUSTOM . ' ' . 'mypluginShipping::customField',
                );
                break;
        }
        return $fields;
    }

если метод mypluginShipping::customField добавляет скрытый html то начинает ехать верстка
image

@WinterSilence
Copy link
Contributor

WinterSilence commented Dec 25, 2019

Все там нормально

  1. wrapper содержит 3 параметра, а нет 2: title, value, description.
  2. использовать custom_ поля, в данном случае custom_control_wrapper
  3. передавать обязательные поля: value, title, description
public function getStateFields($state, waOrder $order = null, $params = array())
{
    $fields = parent::getStateFields($state, $order, $params);
    $fields[$this->id . '_field'] = [
        'value' => '',
        'title' => $this->id,
        'description' => '',
        'control_type' => waHtmlControl::INPUT,
        'custom_control_wrapper' => '<div style="padding:10px 0">%s %s<div class="hint">%s</div></div>',
    ];
    return $fields;
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants