Jump to content
  • 0

id_carrier wechselt nach edit


Claudiocool

Question

Ich habe in meinem Presta 1.6.1.7 folgendes Problemchen:

 

Bei mir sollen bei bestimmten Versandarten nur bestimmte Zahlungen möglich sein, dazu schließe ich in den jeweiligen Zahlungmodulen bestimmte Carrier über deren ID aus. In der bankwire.php beispielsweise so:

 

    public function hookDisplayPaymentEU($params)
    {
        if (!$this->active)
            return;
    if ($this->context->cart->id_carrier == 13)
            return;       
    if ($this->context->cart->id_carrier == 6)
            return;            

        if (!$this->checkCurrency($params['cart']))
            return;

 

Das funktioniert solange, bis ich in den Cariiern editiere, also z.B. Versandkosten anpasse etc. dann erhält der Carrier eine neue ID und die bankwire (Vorkasse per Überweisung) erschein bei dem Carrier, bis ich dann die bankwire.php editiere und die id_carrier dort aktualisiere. Insgesamt natürlich ein schwieriges Unterfangen...

 

Entweder sollte man also irgendwie hinkriegen, dass die Carrier-ID nicht mehr wechselt oder aber z.B. die id_reference verwendet, da diese nicht zu wechseln scheint.

 

Der Versuch, weiter unten in der bankwire.php

$helper->id = (int)Tools::getValue('id_carrier');

in

$helper->id = (int)Tools::getValue('id_reference');

zu ändern und die Abfrage der id_carrier auf die id_reference umzubiegen, hat nicht funktioniert.

 

Wo setze ich denn hier am Besten an?

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Ich würde dir nicht empfehlen, einen dynamischen Hook wie DisplayPaymentEU zu ändern - zumindest ist er das in allen Versionen vor PrestaShop 1.7 mit PS_Legalcompliance.

 

Leichter geht es mit dem kostenlosen Modul Ship to Pay: https://www.prestashop.com/forums/index.php?app=core&module=attach&section=attach&attach_id=130515

 

Diese von Daresh erweiterte Version unterstützt auch Download-Artikel: https://www.prestashop.com/forums/index.php?app=core&module=attach&section=attach&attach_id=145582

 

In jedem Fall muss aber eine Datei ausgewechselt werden, damit es im Zusammenspiel mit AdvancedEUCompliance klappt. Im Unterverzeichnis

 /modules/shiptopay/override/classes

befindet sich nach der Installation ein Override für die gleichnamige Datei Hook.php. Diese muss ersetzt werden durch die folgende von mir angepasste Version: Hook.php

 

Für die Puristen unter uns, die eisern an PrestaShop 1.5 festhalten: Beide Versionen laufen ohne Änderungen leider nicht unter 1.5, sondern erst ab 1.6.

  • Like 1
Link to comment
Share on other sites

  • 0

Eine Kleinigkeit fällt mir noch zumindest bei mir auf....

 

Wenn man eine Versandart wieder übermnimmt, also nicht extra anklickt, weil sie gesetzt war von der letzten Bestellung, kann es passieren, daß keine versandmethode angezeigt wird (mit Fehler, daß es keine Zahlungsmöglichkeit gibt.

geht man nun zurück, klickt kurz auf eine andere Methode und dann wieder auf die ursprüngöliche, geht es.

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