Jump to content

Riferimento Ordine - Order Reference Personalizzato


internew

Recommended Posts

Non ho capito perchè PS utilizza quella stringa senza senso apparente per la codifica di un ordine.

 

Ho eseguito un ovveride e ho riscritto la procedura per personalizzare Il Reference Number in modo 

PROGRESSIVO rispetto all'ANNO in corso, quindi una cosa di questo tipo:

 

 

2015/1, 2015/2, 2015/3, 2015/4, 2015/5, 2015/6 

 

2016/1, 2016/2, 2016/3, 2016/4, 2016/5

 

mantenendo invece progressivo costante l'ID originale dell'ordine.

 

Pre fare questo ho creato un file Order.php da mettere nella cartella /override/classes/order

 

e ho inserito questo codice che esegue la query per la progressività sull'anno

 

===========================================

<?php
Class Order extends OrderCore
{
 
public static function generateReference()
{
   $last_id = Db::getInstance()->getValue('
select right(reference,4) 
from '._DB_PREFIX_.'orders 
where id_order = (SELECT max(id_order) FROM '._DB_PREFIX_.'orders 
where year(date_add) = year(CURRENT_DATE))');
$last_id = intval($last_id);
return str_pad((int)$last_id + 1, 9, date('Y').'/000000000', STR_PAD_LEFT);
}
}
===========================================
 
dopo aver eseguito questo upload, è necessario andare nella cartella /cache ed eliminare il file class_index.php
Prima di partire con un nuovo ordine è necessario andare nel database e modificare il reference dell'ultimo ordine come segue: 2016/0001 
 
In questo modo si da origine alla progressione sull'anno in automatico per tutti gli ordini successivi.
 
Un saluto
Davide
 
find me
personal website @ http://daviderossi.photo
Edited by internew (see edit history)
Link to comment
Share on other sites

  • 1 year later...

ciao.

Grazie a questo topic sono riuscito ad avere il numero di ordine come lo volevo.

Ultimamente ho installato un modulo paypal che installa un nuovo file Order.php elminando il vecchio

 

ho provato in varie maniere ad unificare il codice ma non essendo esperto tutte le volte che vado in moduli il modulo nuovo dice che il file  manca e va reinstallato.

 

nel nuovo file il codice è 

----------------------------------

<?php
class Order extends OrderCore
{
public $payment_fee;
public $payment_fee_rate;
public function getFields()
{
$fields = parent::getFields();
$fields['payment_fee'] = (float)($this->payment_fee);
$fields['payment_fee_rate'] = (float)($this->payment_fee_rate);
return $fields;
}
}
 
?>

----------------------------------

potreste darmi una mano ?

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