Плагин доставки customFields Есть решение
В плагине доставки, вставляю текстовое поле такого вида:
public function customFields(waOrder $order)
{
return array(
'address' => array(
'control_type' => waHtmlControl::INPUT,
'title' => 'ПВЗ',
)
);
}как к нему привязать дополнительные атрибуты required и disabled, и прочие произвольные.
Эта тема в архиве. Добавление комментариев к ней отключено.










6 ответов
return array( 'address' => array( 'control_type' => waHtmlControl::INPUT, 'title' => 'ПВЗ', 'disabled' => true, //пример ) );Другие доступные для установки свойства элементов управления перечислены в описании параметра $params метода getControl() класса waHtmlControl.
перепутал readonly c disabled, с readonly все ок, прицепилось, необходимо еще и required. В документации его нету, и способа прописать походу тоже? Может есть какое то "костыльное" решение кроме как JS
Попробуйте зарегистрировать свой элемент управления и использовать его.
Я предлагаю это сделать, чтобы создать свой клон элемента waHtmlControl::INPUT, но с возможностью передать в него параметр для установки атрибута required, который пока что не поддерживается в системном элементе.
Спасибо за помощь, есть еще один момент, как в плагине доставки в методе calculate() получить текущие значения полей из метода customFields().
Это нужно для того что бы на шаге подтверждения заказа, повторно (почему там стоимость пересчитывается заново), верно рассчитать стоимость доставки.
в этой версии не знаю, но в прошлых эти поля добавлялись в заказ и соответственно в расчете не участвовали. можно попробовать поискать в $this->params['address'] или $this->address (не проверял).
используйте кеширование результатов