Jump to content
  • 0

Prestashop 1.7 Kopie (Klonen) des Banküberweisung Moduls ps_wirepayment (früher bankwire)


maniwic

Question

Prestashop 1.7 Kopie (Klonen) des Banküberweisung Moduls ps_wirepayment (früher bankwire)

Hallo,
für ein shop, das ich gerade aufsetze (PS 1.7.5.2, Standard Template), brauche ich eine Kopie des Banküberweisung Moduls ps_wirepayment (früher bankwire).  
Dazu habe ich folgende Anleitung gefunden, allerdings ist sie für die Version 1.6

http://rocinantesoftware.blogspot.com/2015/11/how-to-make-copy-of-prestashop-16-bank_2.html

So habe ich das auch gemacht (natürlich unter Berücksichtigung, dass das Modul jetzt „ps_wirepayment“ und nicht „bankwire“ heißt).
Das neu erstellte Modul „ps_transferpayment“ funktioniert leider nicht zu 100 %.
Es ist in BO als Modul sichtbar, man kann es als Zahlungsart konfigurieren, und die Parameter setzen.
Im FrontEnd kann man es als Zahlungsart auswählen und Bestellung durchführen.
An drei Stellen funktioniert es leider nicht richtig.
1.)     (Für mich das größte Problem) Als Vorlage für die Email nach dem Kauf wird wie bei dem ursprünglichen Modul die Datei „bankwire.html“ statt der neu erstellten Datei „banktransfer.html“ genommen. 

Daher die Frage: An welcher Stelle im Modul wird gesetzt, welche Datei als Vorlage für die Email nach dem Kauf genommen wird?
2.)    Ich kann die englischen Texte des Moduls nicht übersetzen. Im Übersetzungspanel im BO erscheinen beim Auswählen des neuen Moduls keine Felder für die Übersetzung.  
Version 1.7 hat vielleicht ein anders Konzept für Übersetzungen???  
3.)    Im BO erscheint das neue Modul in „Modele Manager“ aber nicht unter „Zahlungsart/Zahlungsarten“. Aber unter „Zahlungsart/Voreinstellungen“ erscheint es als eine eingerichtete Zahlungsart und kann wie andre Zahlungsarten konfiguriert werden. 

Mit Problemen 2) und 3) kann ich leben, bzw. 2) kann ich umgehen daher wäre ich für Hinweise bzgl. Frage 1) besonders dankbar.

Gruß
Marian W.

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Hallo Marian,

Zu 1:
Goldene Regel 1: Klone in 1.7 nie ein natives Modul, denn das gibt immer Probleme, da die Verzahnung mit dem Core zu eng ist. Das gilt auch für deine Frage "An welcher Stelle im Modul wird gesetzt, welche Datei als Vorlage für die Email nach dem Kauf genommen wird?" Die Antwort lautet nämlich: an keiner Stelle! Vermute ich wenigstens.

Zu 2:
Goldene Regel 2: Erwarte nicht, dass du über das Back Office in 1.7 alle Übersetzungen auf Anhieb findest.

Denn in 1.7 ist (fast) alles anders, so auch das Konzept der Übersetzungen. Hier gibt es nämlich zwei Konzepte:
a) das alte Legacy für Fremdmodule (Übersetzungen sind in einer einzigen PHP-Datei im Modulverzeichnis abgespeichert)
b) das neue Twig für Core und native Module (Übersetzungen verteilen sich auf mehrere XLF-Dateien, die in app\Resources\translations\de-DE\ und app\Resources\translations\default\ verteilt sind.
Vertragen tun sie sich nicht sonderlich gut, daher klappt es auch nicht so recht mit der Übersetzungsabteilung im BO.

zu 3:
s. Goldene Regel 1

Goldene Regel 3: Wenn du keine unangenehmen Überraschungen im Tagesgeschäft magst, dann halte dich besser von 1.7 fern.

Gruß
Wuschel

Edited by Wuschel (see edit history)
Link to comment
Share on other sites

  • 0

Schade, ich dachte, ich hätte mich deutlich genug ausgedrückt. Dann eben Klartext:

1. Es ist unsinnig und viel zu aufwendig, mit dem Core eng verzahnte Standardmodule in 1.7 zu klonen. Entsprechende Tutorials für 1.6 sind veraltet, weil sie von einer anderen Systemarchitektur ausgehen.

2. Da PrestaShop 1.7 eine teilweise noch nicht recht funktionierende Hybrid-Version ist (erst die neueren Teile und das Theme sind in Symfony programmiert), gibt es grundlegende Unterschiede in den Übersetzungsmethoden bei Standardmodulen wie ps_legalcompliance und Fremdmodulen. Erstere nutzen Twig und die Übersetzungen sind nach Programmierlogik auf unterschiedliche Dateien verteilt, letztere nutzen das zuvor bekannte Legacy-System, wobei alle Übersetzungen in einer einzelnen Datei im Modulverzeichnis gespeichert sind.

Legacy: 
$this->description = $this->l('Accept payments for your products via bank wire transfer.');
{l s='Do not forget to insert your order number #%d in the subject of your bank wire.' sprintf=$id_order mod='bankwire'}
Twig:
$this->description = $this->trans('Accept payments by bank transfer.', array(), 'Modules.Wirepayment.Admin');
{l s='Please specify your order reference %s in the bankwire description.' sprintf=[$reference] d='Modules.Wirepayment.Shop'}

3. Der Klon eines Standardmoduls müsste sich also an die Twig-Konventionen halten. Ob dann allerdings von PrestaShop entsprechende Übersetzungsdateien in app/Ressources/translations angelegt werden, halte ich für fraglich. Das müsstest du ausprobieren, denn maunell ist das nicht möglich.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...