2017-05-31 4 views
1

In PrestaShop 1.7 die Formfield-Klasse definiert wird verwendet, um, na ja, die Formularfelder der Registrierung und Adressformen wie folgt aus:eine Klasse zu einem Formularfeld in Prestashop hinzufügen 1.7

$format['firstname'] = (new FormField) 
     ->setName('firstname') 
     ->setLabel(
      $this->translator->trans(
       'First name', 
       [], 
       'Shop.Forms.Labels' 
      ) 
     ) 
     ->setRequired(true); 

nun mit dem alten Helfer Form Es war möglich, eine Klasse in einem Formularfeld zu definieren, damit das Formular in CSS formatiert werden kann.

Die Formfield Klasse scheint kein Attribut zu haben, um diese in Zusammenhang mit

private $name    = ''; 
private $type    = 'text'; 
private $required   = false; 
private $label    = ''; 
private $value    = null; 
private $availableValues = []; 
private $maxLength   = null; 
private $errors    = []; 
private $constraints  = []; 

Die fieldFormatter die Methode implementiert, die in macht den Kern definiert ist.

Um zu meiner Frage zu gelangen, ist es möglich, dem FormField ein Attribut hinzuzufügen, ohne den Kern ändern zu müssen?

Antwort

0

Scheint, wie die Lösung in den zusätzlichen Werten der Formfield und Form-fields.tpl

->addAvailableValue('class', 'left') 

gelogen Und das in der 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} 

diese Weise können Sie Fügen Sie auch Formulargruppen, IDs und andere interessante Dinge hinzu.

Verwandte Themen