Jump to content

[gelöst] Kennt jemand das Modul „modrefchange“


Recommended Posts

Hallo an Alle und schönen guten Tag

 

Habe das Modul „modrefchange“ installiert.

 

Soweit so gut, es läuft und es werden nicht mehr, bei einem neuen Auftrag, die Buchstaben
angezeigt sondern eine Nummer.

 

Wie Ihr nun im angehängtem Bild sehen könnt, gibt es da einen Option, wo man das Datum, respektive die Jahreszahl vorsetzten kann.

 

post-919129-0-03295900-1424272350_thumb.jpg

 

Nun habe ich im darüber liegenden Feld die beiden Zeichen %Y, wie beschrieben, eingegeben und dann sieht die Auftragsnummer dann so aus: %Y20150000236.

Die beiden Zeichen sind auch ersichtlich.

 

Dann habe ich noch den Versuch gestartet die Zeichen wie folgt einzugeben:

'%Y', <%Y>, "%Y" usw.
 

Leider ohne Erfolg.

 

Weiss jemand wie man da die Eingabe vornehmen muss, damit die Jahreszahl ohne Zeichen vorsteht?

 

Der Link von "strftime" geht nicht, kommt immer „Seite nicht gefunden“.

 

Besten Dank für die Antworten.

 

Herzliche Grüsse

Rolando

 

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

Vergiss es! :)

Das würde einige Änderungen am Modul erfordern, denn Variablen oder selbst ganzen Befehlssequenzen werden rausgefiltert bzw. nur als String angezeigt. Die einfachste Möglichkeit ist wirklich, einmal pro Jahr im Feld

Use Character(s) to prefix Order ID 

die Jahreszahl einzugeben, aktuell also z.B. 2015-

Das ist entschieden stressfreier und erfordert keinen großen Aufwand.

Link to comment
Share on other sites

Na ja, der andere Weg ohne Modul ist wirklich ein Override der Funktion generateReference(), den ich hier beschrieben habe: https://www.prestashop.com/forums/topic/229275-tipp-bestell-nr-automatisch-als-nummer-erzeugen/?do=findComment&comment=1127123

public static function generateReference()
{
return Db::getInstance()->getValue('SELECT CONCAT((MAX(id_order)+1),"/",SUBSTRING(YEAR(MAX(date_add)+1),3,2)) FROM '._DB_PREFIX_.'orders');
}

ergibt: <id_order>/15, also z.B. 2348/15

public static function generateReference()
{
return Db::getInstance()->getValue('SELECT CONCAT((SUBSTRING(YEAR(MAX(date_add)+1),1,4),"-",MAX(id_order)+1)) FROM '._DB_PREFIX_.'orders');
}

ergibt: 2015-<id_order>, also z.B. 2015-2348

 

Als Override der Order.php für das Verzeichnis /override/classes/order:

<?php

class Order extends OrderCore
{
public static function generateReference()
{
return Db::getInstance()->getValue('SELECT CONCAT((SUBSTRING(YEAR(MAX(date_add)+1),1,4),"-",MAX(id_order)+1)) FROM '._DB_PREFIX_.'orders');
}
}
Link to comment
Share on other sites

Das ist alternativ zu verstehen. Entweder das Modul oder das kleine Override von mir - nicht beides zusammen!

 

Das Override, das ich gepostet habe, wird als Order.php im Verzeichnis Override mit dem o.g. Pfad abgespeichert. Danach nur noch einmal den Cache löschen, dann überschreibt es automatisch die ursprünglich Funktion.

Link to comment
Share on other sites

  • 1 year 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...