2017-06-26 1 views
0

Ich erstelle ein Prestashops 1.6-Modul. Nach dem Hinzufügen von Eingaben in HelperForm select, dann hat das Skript in html die Klasse fixed-width-x1 hinzugefügt.Prestashop 1.6 HelperForm Klasse hinzufügen feste Breite-x1 zum Selektor

$fields_form[0]['form'] = array(
       'tinymce' => true, 
       'legend' => array(
        'title' => $this->l('Add rule'), 
       ), 
       'submit' => array(
        'name' => 'add', 
        'title' => $this->l('Add'), 
        'class' => 'btn btn-default pull-right' 
       ), 
       'input' => array(
        array(
         'type' => 'select', 
         'label' => $this->l('Category'), 
         'name' => 'category', 
         'required' => true 
        ), 
       ) 
      ); 

Screen Firebug

Warum es falsch funktioniert? Ich möchte eine eigene Klasse hinzufügen, aber fixed-width-x1 überschreibt die Eigenschaftenbreite.

Antwort

0

Diese Klasse wird automatisch von der HelperForm-Klasse in den Vorgang des Renderns der Auswahl eingefügt.

Aber meiner Meinung nach, dass Sie tun können, ist eine Klasse zum Auswählen hinzufügen und ändern Sie den Stil in dieser neuen Klasse.

Um eine neue Klasse an die Auswahl hinzuzufügen, dies erst am Ende der Arrays Option hinzufügen:

'class' => 'name-of-custom-class' 

Seien Sie sicher, dass das Komma nach der letzten Option vorhanden sein.

Zusammenfassend sollte wie folgt sein:

$fields_form[0]['form'] = array(
      'tinymce' => true, 
      'legend' => array(
       'title' => $this->l('Add rule'), 
      ), 
      'submit' => array(
       'name' => 'add', 
       'title' => $this->l('Add'), 
       'class' => 'btn btn-default pull-right' 
      ), 
      'input' => array(
       array(
        'type' => 'select', 
        'label' => $this->l('Category'), 
        'name' => 'category', 
        'required' => true, 
        'class' => 'name-of-custom-class' 
       ), 
      ) 
     ); 

Hoffe, dass es Ihnen hilft.

[EDIT]

Die HelperForm Klasse eine Vorlage verwendet diese Eingaben zu machen. Diese Vorlage ist:

/[admin-folder]/themes/default/template/helpers/form/form.tpl 

In dieser Datei um die Linie 341, können Sie diesen Code finden:

{elseif $input.type == 'select'} 
    {if isset($input.options.query) && !$input.options.query && isset($input.empty_message)} 
     {$input.empty_message} 
     {$input.required = false} 
     {$input.desc = null} 
    {else} 
     <select name="{$input.name|escape:'html':'utf-8'}" 
     class="{if isset($input.class)}{$input.class|escape:'html':'utf-8'}{/if} fixed-width-xl" 

In der letzten Zeile können Sie den Ort sehen, die diese Klasse mit einem beliebigen Steuer zugeordnet ist " fixed-width-xl ".

Die Lösung:

  1. Sie können aus dem tpl direkt die Klasse löschen, aber diese für alle Eingänge auswirken, die im Admin-Panel sind. Und falls Sie die Prestashop-Version aktualisieren möchten, haben Sie diese Änderung wahrscheinlich verloren.

  2. Sie können die Admin-CSS-Datei bearbeiten, indem Sie "! Wichtig" löschen. Diese Datei ist:

    /[admin-folder]/themes/default/css/admin-theme.css

+0

'name-of-custom-Klasse mit fester Breite-xl' Klasse nach Feld hinzufügen zu array. Die Klasse feste Breite-x1 wurde beibehalten. Irgendwelche Ideen? – Arasowsky

+0

Genau diese Prozedur ersetzt nicht die aktuelle Klasse, sondern fügt nur eine neue Klasse hinzu, um die benötigten Stile zuzuweisen. Aber was ist dein Problem mit der Klasse "fixed-width-xl"? – Addis

+0

Diese Klasse hat eine Eigenschaftsbreite mit! Wichtig. Ich möchte diese Klasse nicht im Eingabe-Selektor verwenden. Zum Beispiel hat Eingabetext diese Klasse nicht. – Arasowsky

Verwandte Themen