Jump to content

Zahlungsarten und Versand an Bedingungen knüpfen


termes3

Recommended Posts

Hallo Liebe Community,

ich setze zurzeit einen neuen Shop mit Prestashop 1.7.1 auf. Es ist meine zweite Installation nach einer Bruchlandung mit der verbuggten Version von Prestashop (1.7). Bei Prestashop 1.7.1 ist zwar auch noch vieles zutun, durch selbständiges anpassen einiger Module und Kernelemente habe ich mittlerweile tatsächlich ein funktionierendes Gesamtsystem mit paar weniger gravierenden Bugs, die alle mittlerweile im Bugtracker gemeldet sind.

 

Jetzt, nachdem ich ein funktionierendes System habe, stellen sich mir folgende Fragen die ich noch nicht selber lösen konnte.

 

1. Wie kann man den Versanddienstleister bei Virtuellen Artikel zum Beispiel auf die E-Mail beschränken? Mein Gedanke dazu, die E-Mail als Standardversand anzulegen und weitere, wie z.B. DHL nur bei physischen Produkten zu aktivieren. Das scheint nur bedingt zu funktionieren, da er meine virtuellen Artikel auch mit DHL verschicken möchte und eine Option den Versanddienstleister zu wechseln nicht anbietet im Checkout.

 

2. Kann man die Anzeige der Zahlungsart an Bedingungen knüpfen? Sprich, das die Rechnung  z.B. nur bis zu einem Warenkorbwert von 1000€ verfügbar ist oder das die Kreditkarte erst ab einem Bestellwert von 20€ auswählbar ist?

Ich würde dies durch Anpassungen an den Zahlungsmodulen durchaus selber hinbekommen, würde es nur blöd finden, das bei einem Update ebendieser jegliche "Einstellungen" wieder verloren gehen würden. Gibt es dort in Prestashop ein vor implementiertes System um so was zu realisieren? Gefunden habe ich dazu bis jetzt noch nichts.

 

Vielen Dank für eure Bemühungen

 

Liebe Grüße

Björn

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

Hallo Björn,

 

ja, es gibt ein System, um solche Kleinigkeiten updatefähig zu programmieren: Overrides.

 

Vorab die Frage: Warum Prestashop 1.7? Die Community rät aktuell noch davon ab... fang lieber mit der 1.6er an :) nur ein Vorschlag.

 

Zu deinen Fragen für die Zahlungsmodule:

 

1. Du musst für deine virtuellen Artikel ein eigenes Versandunternehmen anlegen, das kannst du dann z.B. Download nennen. Jeder Artikel, der virtuell ist, muss dann diesen Lieferanten zugewiesen bekommen. NemoPS hat ein schönes Modul für die Massenaktualisierung von Versandunternehmen geschrieben (für 1.6), da kannst du sogar Kategorieweise oder via ID Versandunternehmen zuweisen. (Das Modul heisst ps carrier assigner von NemoPS).

Du kannst auch einen Cronjob dafür erstellen, der dann automatisch die Versandunternehmen pro Artikel zuweist (so mache ich das aktuell auch), das geht jedoch nicht mit dem Modul, sondern eigener Code. Als Kriterium kannst du dann z.B. den Lieferanten deines Produktes benutzen, das müsste man sich dann aber genauer ansehen.

 

2. Du kannst entweder via override's (http://doc.prestashop.com/display/PS16/Overriding+default+behaviors) arbeiten, damit bist du updatesicher.

Du kannst aber evtl. auch direkt in der Templatedatei arbeiten, unzwar mit Smartyvariablen. (Hier ein kleiner Denkanstoss: https://www.prestashop.com/forums/topic/57122-global-smarty-variables-used-in-prestashop/)

 

So kannst du den Preis abfangen und via if-Schleife die verschiedenen Zahlungsoptinen anzeigen lassen. Wenn du das Standard-Template verwendest, kann es beim nächsten Update wieder futsch sein.

 

Viele Grüße

Link to comment
Share on other sites

vielen Dank für die Antwort. Meine erste Berührung war mit Prestashop 1.7 wie bereits eingangs geschrieben. Das ganze war nicht sehr erfolgreich, da ich mir mehrere Testinstallationen zerschossen hatte, über diesen Weg habe ich mir jedoch bereits einige Module gebastelt und auch ein schickes Theme hergerichtet.

 

Ich danke für den Vorschlag, habe jedoch jetzt tatsächlich ein rund um funktionierenden Shop, der bereits zum Größenteil meinen Anforderungen genügt und mit all unseren Zahlungsarten im Unternehmen verknüpft ist (Bonitätsprüfungen etc). Daher halte ich zurzeit an Prestashop 1.7 fest, sollte es in nichts führen, werde ich mir 1.6 nochmal anschauen. 

 

1.) Das hat jetzt wunderbar funktioniert :) Bei virtuellen Artikeln wird jetzt die E-Mail als Versandoption genommen, bei physischen Artikeln die anderen Versandarten.

 

2.) Das klingt schon mal sehr vielversprechend :) Das mit den globalen Smartyvariablen ist schon mal ein super Tipp, über diese habe ich eingebaut, das bei einem bestimmten Warenkorbwert nicht mehr alle Zahlungsarten zur Auswahl stehen. Dazu hätte ich noch eine anschließende Frage: Wie greift man auf Daten des laufenden Checkout zurück? In welchen Variablen werden Lieferadresse und Rechnungsadresse gespeichert?

 

Vielen Dank schon mal

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

Hallo Björn,

 

ja, es gibt ein System, um solche Kleinigkeiten updatefähig zu programmieren: Overrides.

 

Vorab die Frage: Warum Prestashop 1.7? Die Community rät aktuell noch davon ab... fang lieber mit der 1.6er an :) nur ein Vorschlag.

 

Zu deinen Fragen für die Zahlungsmodule:

 

1. Du musst für deine virtuellen Artikel ein eigenes Versandunternehmen anlegen, das kannst du dann z.B. Download nennen. Jeder Artikel, der virtuell ist, muss dann diesen Lieferanten zugewiesen bekommen. NemoPS hat ein schönes Modul für die Massenaktualisierung von Versandunternehmen geschrieben (für 1.6), da kannst du sogar Kategorieweise oder via ID Versandunternehmen zuweisen. (Das Modul heisst ps carrier assigner von NemoPS).

Du kannst auch einen Cronjob dafür erstellen, der dann automatisch die Versandunternehmen pro Artikel zuweist (so mache ich das aktuell auch), das geht jedoch nicht mit dem Modul, sondern eigener Code. Als Kriterium kannst du dann z.B. den Lieferanten deines Produktes benutzen, das müsste man sich dann aber genauer ansehen.

 

2. Du kannst entweder via override's (http://doc.prestashop.com/display/PS16/Overriding+default+behaviors) arbeiten, damit bist du updatesicher.

Du kannst aber evtl. auch direkt in der Templatedatei arbeiten, unzwar mit Smartyvariablen. (Hier ein kleiner Denkanstoss: https://www.prestashop.com/forums/topic/57122-global-smarty-variables-used-in-prestashop/)

 

So kannst du den Preis abfangen und via if-Schleife die verschiedenen Zahlungsoptinen anzeigen lassen. Wenn du das Standard-Template verwendest, kann es beim nächsten Update wieder futsch sein.

 

Viele Grüße

Und was noch hinzukommt: Für die Entwickler von 1.7 ist dieses geniale Feature Overrides in der bisherigen Form ein Auslaufmodell.

Core-Dateien lassen sich ab 1.7 überhaupt nicht mehr per Override ändern, Module und Templates nur eingeschränkt über das jeweils eigene Unterverzeichnis views.

 

Ja, und Smarty? Wird ebenfalls auf mittlere Sicht abgeschafft und derzeit nur aus Kompatibilitätsgründen (Fremdmodule) weitergeführt. PrestaShop setzt auf Symfony !

 

Es gibt also viele Gründe, erstmal einen großen Bogen um 1.7 zu machen. :rolleyes:

  • Like 1
Link to comment
Share on other sites

Und was noch hinzukommt: Für die Entwickler von 1.7 ist dieses geniale Feature Overrides in der bisherigen Form ein Auslaufmodell.

Core-Dateien lassen sich ab 1.7 überhaupt nicht mehr per Override ändern, Module und Templates nur eingeschränkt über das jeweils eigene Unterverzeichnis views.

 

Ja, und Smarty? Wird ebenfalls auf mittlere Sicht abgeschafft und derzeit nur aus Kompatibilitätsgründen (Fremdmodule) weitergeführt. PrestaShop setzt auf Symfony !

 

Es gibt also viele Gründe, erstmal einen großen Bogen um 1.7 zu machen. :rolleyes:

 

Wow, danke für die Hinweise, dass wusste ich bisher nicht. Für Entwickler, die sich bisher in Smarty und Overrides eingefahren haben, sicherlich nicht gut. 

 

BTT: Super, das dir die globalen Variablen bereits geholfen haben!

 

Für die Checkoutvariablen würde ich mal in die Templatedatei des Checkoutprozesses schauen (in deinem Theme zum Beispiel), dort sind alle Variablen, die genutzt werden, auch aufgelistet =)

 

Viele Grüße

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...