Anleitung Bei Packstation nur Versandart xy anbieten

Thema wurde von Manuel, 31. August 2014 erstellt.

  1. Manuel

    Manuel Erfahrener Benutzer

    Registriert seit:
    26. Mai 2011
    Beiträge:
    238
    Danke erhalten:
    18
    Danke vergeben:
    12
    Hallo Gemeinde,

    da unsere Kunden zum geistigen Hochadel gehören, es immer wieder schaffen, Hermes und GLS für Lieferungen an Packstationen zu wählen und dann zu meckern, wenn die Sendung unzustellbar ist, habe ich diesen Kunden - wieder einmal - etwas mehr geistige Eigenleistung abgenommen.

    Folg. Erweiterung einfach in den Versandarten einbinden, die bei Sonderleistungen eines gewissen Transportpartners nicht eingezeigt werden sollen (z.B. Packstation, Postfiliale o.ä.)
    Die Erweiterung halte ich persönlich durchaus sinnvoll beim im Portal angebotenen Postfinder.

    Einfach in den nicht gewünschten /includes/modules/shipping/*.php Dateien innerhalb der
    PHP:
    function *_ORIGIN()
    vor
    PHP:
     if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_*_ZONE 0) ) {
                
    $check_flag false;
    folg. Abfrage einbauen:
    PHP:
     if(preg_match('/.*(packstation|postfiliale|postfach|postagentur).*/i'$order->delivery['street_address'])) {
                            
    $this->enabled false;
                    }
    fertig.

    * bitte mit der jeweiligen Versandart ersetzen (außer in der preg_match regex)
     
  2. MP Solution

    MP Solution Erfahrener Benutzer

    Registriert seit:
    2. Oktober 2013
    Beiträge:
    2.945
    Danke erhalten:
    456
    Danke vergeben:
    93
    Hallo,

    sowas kenn ich...Hochadel verpflichtet...Ist das ganze auch Updatesicher hinzubekommen?

    LG
    Jörg
     
  3. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Ja, natürlich.

    In dem man den Konstruktor der Klasse (in dem ja die Änderung gemacht wird) nicht modifiziert, sondern diesen durch ein Overload-Modul überlädt...

    Das ups-Modul könnte man z.B. so überladen:

    PHP:
    class pt_ups extends pt_ups_parent {
      public function 
    __construct() {
            
    parent::__construct();
            if (
    preg_match('/.*(packstation|postfiliale|postfach|postagentur).*/i'$order->delivery['street_address'])) {
                
    $this->enabled false;
          }
        }
    }
     
  4. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.699
    Danke erhalten:
    889
    Danke vergeben:
    288
    Eine treffendere Beschreibung der Zustände habe ich noch nicht gelesen. Sowas sollte auf jeden Fall mit ins Voting einfliessen.
    (Vor allem weil es schon eine fertige Lösung gibt)