2016-05-05 7 views
0

In einer Prestashop 1.6-Site muss ich eine dynamische Klasse zum body-Element hinzufügen (nur im Frontend).Prestashop 1.6 - Hinzufügen einer dynamischen Klasse zum Body-Element

Die Klasse sollte 'group- [group-name-id]' sein, wobei group-name-id die Gruppenname-ID des Besuchers ist.

Standardgruppen in Presashop sind:

'1' -

'Besucher

'2' -

'Gast'

'3' - 'Costumer'

Gibt es eine Möglichkeit, dies zu tun?

fand ich das, aber es scheint veraltet, da es für PS 1.4 ist: https://www.prestashop.com/forums/topic/179593-adding-category-class-id-to-product-page-body/

enter image description here

UPDATE:

ich fast bekommen es dank Antwort auf @TheDrot (knapp unter).

Das einzige Problem ist das: [0]. Ich erhalte diesen Fehler: "Parse-Fehler: Syntaxfehler, unerwartet '[', erwartet ')' in /home/temporal-4/www/override/classes/controller/FrontController.php in Zeile 36".

Wenn ich '[0]' entfernen funktioniert es aber dann in der Klasse bekomme ich "group-array". Ich muss alle Werte des Arrays wie Klasse = "Gruppe-1 Gruppe-2 Gruppe-3" drucken.

Antwort

1

Sie benötigen FrontControllerCore Klasse so erstellen Sie eine Datei FrontController.php in Ordner 'überschreiben/classes/Controller /' und setzen in diesem Code

class FrontController extends FrontControllerCore { 
    public function init() 
    { 
     parent::init(); 
     $this->context->smarty->assign('group_id', $this->context->customer->getGroups()[0]; // user can exist in multiple groups, so for this example im just grabbing first group id 
    } 
} 

Dann öffnen header.tpl Datei in ‚Themen/your_theme außer Kraft zu setzen /‘und

group-{$group_id} 

Wenn in Körperklassencode zu Körper Klasse hinzufügen Sie sehen gruppen- nur, sicher sein class_index.php aus dem Cache-Ordner und laden Seite zu löschen.

+0

In der Datei 'FrontController.php' habe ich bereits diesen Code: http://pastebin.com/raw/bm9yY3TT Können Sie mir sagen, wo ich Ihren Code in das Array einfügen? Vielen Dank. – chefnelone

+0

Es spielt keine Rolle, wo im Array Sie es setzen. Sie müssen lediglich 'group_id' => $ this-> context-> customer-> getGroups() [0] in das Array einfügen. – TheDrot

+0

Ich habe es gerade getan. Ich habe den Code hier kopiert und eingefügt: http://pastebin.com/raw/ZuCUdpyQ Sie können es an der letzten Position des Arrays sehen. Aber jetzt bekomme ich empy Seite mit einem 500 FEHLER auf meiner Seite. – chefnelone