Настройка верстки для каждого поля при использовании webforms add
Макрос %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'.