Настройка верстки для каждого поля при использовании webforms add
Материал из Umicms
Макрос %webforms add()%, для отображения каждого поля формы обратной связи, использует шаблон tpls/data/reflection/webforms.tpl. Несколько строковых полей будут отображены с одинаковым форматированием, но не всегда это приемлемо. Бывают ситуации, когда нужно указать определенную длину для каждого из полей. В данном случае поможет простой кастомный макрос. В файле classes/modules/custom.php после слов //TODO: Write your own macroses here пропишем следующий макрос:
public function width($name){ $width = 300; switch($name){ case 'trete_strokovoe_pole': $width = 250; break; case 'email': $width = 180; break; case 'vtoroe_strokovoe_pole': $width = 200; break; } return $width; }
а в нужных вам блоках шаблона tpls/data/reflection/webforms.tpl, вместо атрибута
style="width:300px;"
пропишем:
style="width:%custom width(%name%)%px;"
в кастомном макросе, в case'ах прописаны идентификаторы полей, в зависимости от них макрос custom width() будет отдавать определенное значение. Аналогичным образом можно написать макрос который будет выдавать значения по умолчанию для атрибута 'value'.
