Jump to content

Seit Shop-Update funktioniertn Ziffern als Bestellnummmer nicht mehr (Bestellnr aus Buchstaben)


citoma

Recommended Posts

Hallo!

 

Ich hatte vor einiger Zeit gefragt, wie man Bestellnummer aus Ziffern erstellen lassen kann. Die ist ja seit einigen Prestashop-Versionen in Buchstaben (soll mal einer verstehen warum).

 

Der gute Eleazar hatte mir mit diesem Link geantwortet:

 

https://www.prestashop.com/forums/topic/229275-tipp-bestell-nr-automatisch-als-nummer-erzeugen/?fromsearch=1

 

Das entsprechende Modul hatte ich heruntergeladen und installiert - und es hat geklappt: Bestellnummer aus Ziffern.

 

Seit dem letzten Shop-Update funktioniert aber weder das Modul, noch die in der oben genannten Seite erklärte Lösung, bei der man die order.php entsprechend ändern muss.

 

Beides funktioniert nicht! Ich will aber die Bestellnummer aus Buchstaben nicht mehr haben! Damit blamiert man sich ja! :-(

 

Kann mir jemand weiterhelfen?

 

Danke schonmal vielmals!

 

 

 

EDIT: Hier die Lösung:

 

https://www.prestashop.com/forums/topic/460933-how-to-change-order-id-to-numbers-instead-of-letters-ver-1610/?do=findComment&comment=2118314

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

Guter Tipp! Denn die alte Variable $custom_last_order_id funktionierte ja nur unter 1.5x.
Das Override für die Order.php sieht demnach für die PrestaShop-Versionen ab 1.6.0.9 jetzt so aus:
class Order extends OrderCore
{

public static function generateReference()

{
    $last_id = Db::getInstance()->getValue('
        SELECT MAX(id_order)
        FROM '._DB_PREFIX_.'orders');
    return str_pad((int)$last_id + 1, 9, '000000000', STR_PAD_LEFT);


}
}

Diesen Code als Order.php abspeichern im Verzeichnis /overrides/classes/order, anschließend einmal den Cache löschen. Falls dort bereits ein Override für diese Datei existiert, nur den folgenden Code vor die letzten geschweifte Klammer setzen:

public static function generateReference()

{
    $last_id = Db::getInstance()->getValue('
        SELECT MAX(id_order)
        FROM '._DB_PREFIX_.'orders');
    return str_pad((int)$last_id + 1, 9, '000000000', STR_PAD_LEFT);
}

Dann sollte es auch unter 1.6 funktionieren. :)

 

Wer mehr Optionen haben möchte, sollte sich aber die neue Version des Moduls modrefchange installieren: https://www.prestashop.com/forums/index.php?app=core&module=attach&section=attach&attach_id=124185

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

  • 10 months later...

Hallo ich habe das gerade probiert bei Version 1.6.1.4,

funktioniert leider nicht  - ist mit cache löschen der Browsercache gemeint oder gibt es einen SHOP-Cache,

ich habe es auch mit order.php (kleinschreibung) probiert...

 

Danke für die Hilfe

Link to comment
Share on other sites

Und ändere bitte niemals die Schreibweise eines Dateinamens. Im Gegensatz zum heimischen PC oder der Verarbeitung von E-Mail-Adressen wird im Internet fein säuberlich zwischen Groß- und Kleinschreibung unterschieden. Die Datei heißt: Order.php!

Link to comment
Share on other sites

  • 1 month later...

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