在prestashop 1.7中,FormField类用于定义注册和地址表单的表单字段,如下所示:
$format['firstname'] = (new FormField)
->setName('firstname')
->setLabel(
$this->translator->trans(
'First name',
[],
'Shop.Forms.Labels'
)
)
->setRequired(true);
现在使用旧的帮助器表单可以在表单字段上设置一个类,以便可以在CSS中设置表单的样式。
FormField类似乎没有任何与此相关的属性
private $name = '';
private $type = 'text';
private $required = false;
private $label = '';
private $value = null;
private $availableValues = [];
private $maxLength = null;
private $errors = [];
private $constraints = [];
fieldFormatter实现核心中定义的render方法。
要回答我的问题,是否可以在不修改核心的情况下向FormField添加属性?
答案 0 :(得分:0)
看起来像在formField和form-fields.tpl
的附加值中的解决方案->addAvailableValue('class', 'left')
在form-fields.tpl
中{block name='form_field_item_other'}
<label {if $field.required and isset($field.availableValues.class)}
class="required {$field.availableValues.class}"
{elseif $field.required} class="required"{/if} >
<span>{$field.label}</span>
<input name="{$field.name}" type="{$field.type}" value="{$field.value}" {if $field.required}required{/if}>
</label>
{/block}
通过这种方式,您还可以添加表单组,ID和其他有趣的内容。