Настройка верстки для каждого поля при использовании webforms add — различия между версиями
VITL' (обсуждение | вклад) (Новая страница: «Макрос %webforms add()%, для отображения каждого поля формы обратной связи, использует шаблон tpls/d…») |
Cmac (обсуждение | вклад) |
||
Строка 29: | Строка 29: | ||
в кастомном макросе, в case'ах прописаны идентификаторы полей, в зависимости от них макрос custom width() будет отдавать определенное значение. Аналогичным образом можно написать макрос который будет выдавать значения по умолчанию для атрибута 'value'. | в кастомном макросе, в case'ах прописаны идентификаторы полей, в зависимости от них макрос custom width() будет отдавать определенное значение. Аналогичным образом можно написать макрос который будет выдавать значения по умолчанию для атрибута 'value'. | ||
+ | [[Категория:Модуль Обратная связь]] |
Текущая версия на 11:03, 8 сентября 2011
Макрос %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'.