2017-10-05 2 views
0

Ich habe PrestaShop 1.7.2.0.Überschreiben der Auftragserstellung in PrestaShop Backoffice

Ich muss die Seite im Back-Office anpassen, wo neue Aufträge erstellt werden. Ich möchte die Auswahl der Produktkombinationen verbessern, also nur einen Teil der Seite.

In URL ich ...controller=AdminOrders&addorder... sehen, so dass ich denke, die Steuerung

/controllers/admin/AdminOrdersController.php 

Mit einer Datei zu suchen, die ich, dass die Vorlage gefunden, der die Seite rendert

/admin753xeprta/themes/default/template/controllers/orders/form.tpl 

Meine Fragen sein müssen, sind:

  1. Wie sollte ich diese Dateien anpassen? Ist es besser, sie einfach bei meiner Installation zu überschreiben oder ein Modul zu erstellen, das es tut (wenn es erlaubt ist)?
  2. Wo sollte ich benutzerdefinierte Dateien ablegen? Ich habe viele Orte ausprobiert, ohne Erfolg. Ich bin verrückt nach Ordner-Struktur, vor allem, weil es mit jeder PS-Version zu ändern scheint und PS-Dokumentation auf verschiedene versionsspezifische Abschnitte verteilt ist ...
  3. Mit AdminOrdersController.php Ich denke, ich kann die Klasse und Überladung nur ableiten diese Methoden, die ich brauche. Aber ich frage mich , ob im Falle von form.tpl ich die gesamte Datei überschreiben sollte (dupliziere es und ändere die Teile, die ich brauche).

Antwort

0

Sie können ein Modul erstellen und verwenden Überschreibungen in ihm (wenn Sie es wirklich für die Aufgabe benötigen).

Innerhalb eines Moduls können Sie einige Teile des Flusses Prestashop PHP mit Haken ändern: http://doc.prestashop.com/display/PS17/Hooks+in+PrestaShop+1.7.x

Aber es gibt keinen Haken, alle Daten von controllers/orders/form.tpl zu ändern. Wenn es sich bei der Aufgabe nur um die Vorlage handelt, können Sie sie überschreiben, indem Sie eine Datei /override/controllers/admin/templates/orders/form.tpl platzieren.

In einem Fall von Änderungen an der Vorlage, Sie müssen nicht alle die Datei kopieren, es ist einfach außer Kraft setzen: http://developers.prestashop.com/themes/smarty/parent-child-feature.html#extending-the-same-template http://developers.prestashop.com/themes/smarty/template-inheritance.html

Wenn Sie in der Vorlage neue Daten benötigen, können Sie die Steuerung außer Kraft setzen: /override/controllers/admin/AdminOrdersController.php.

+0

Danke @ Indrė, Ich habe versucht, benutzerdefinierte Dateien in Ihren vorgeschlagenen Standorten zu setzen, aber es scheint, dass PrestaShop nicht von diesen Überschreibungen betroffen ist. Ich habe auch geputzt/app/cache. Gibt es etwas mehr zu tun? – bluish

+0

Was genau hast du wo platziert? –

+0

Ich habe '/ admin/themes/default/template/controller/orders/form.tpl' in'/modules/mymodule/override/controllers/admin/templates/orders/form.tpl' kopiert und diesen Teil meines Interesses geändert. Ich habe die Datei '/ modules/mymodule/override/controllers/admin/AdminOrdersController.php' erstellt, die ursprüngliche Klasse unterklassifiziert und die Methoden meines Interesses überschrieben. Nun frage ich mich, ob Sie Root-Ordner ('/ override') oder den Override-Ordner überschreiben wollen, sondern innerhalb eines Moduls ('/modules/mymodule/override').Ich gebe zu, sie sind beide richtige Orte zum Übersteuern, liege ich falsch? Vielen Dank @ Indrė! – bluish

Verwandte Themen