Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forum osCommerce-fr _ Echanges développeurs _ Numero de commande sur la facture

Écrit par : ROUAUD 11 Jan 2019, 11:32

Bonjour,

Je tourne en rond depuis une semaine
J'ai la version OSCommerce 2.3.4.

je souhaite pouvoir faire figurer sur la facture client, catalog/admin/invoice.php
le numero de commande proposé par le logiciel,

Mais aussi créer une date de commande à moi, basée sur la date de la commande existante,
sous la forme : aaaammjj tout attaché si possible
qui pourrait être nommée NUMDATE par exemple.
elle s'afficherait aujourd'hui comme cela 20190111
(à noter que que je n'ai qu'une commande par jour)

J'ai déjà réalisé des modifs qui fonctionnent mais c'est trop pour moi.
je pense que le sujet peut être utile.
Si cela est faisable je remercie par avance les menbres qui me répondrons.

Rouaud.

Écrit par : Bonbec 11 Jan 2019, 15:13

Bonjour,

Citation (ROUAUD @ 11 Jan 2019, 11:32) *
Je tourne en rond depuis une semaine

Houlà ! J'en ai le tournis biggrin.gif

Citation
J'ai la version OSCommerce 2.3.4.
je souhaite pouvoir faire figurer sur la facture client, catalog/admin/invoice.php
le numero de commande proposé par le logiciel,

Le numéro de commande se récupère avec :
Code
(int)$_GET['oID']


Citation
Mais aussi créer une date de commande à moi, basée sur la date de la commande existante,
sous la forme : aaaammjj tout attaché si possible
qui pourrait être nommée NUMDATE par exemple.
elle s'afficherait aujourd'hui comme cela 20190111
(à noter que que je n'ai qu'une commande par jour)

Voilà comment faire en utilisant une variable $numdate (pas compris pourquoi NUMDATE et non $numdate) :
Code
$convertdate = substr($order->info['date_purchased'], 0, -9); // 2019-01-11 14:22:17
$numdate = str_replace("-", "", $convertdate);


En espérant que cela puisse aider.

Écrit par : ROUAUD 12 Jan 2019, 20:04

Bonsoir,

Grace à vos conseils j'ai pu mettre le numéro de commande sur la facture admin/invoice.php
en ajoutant la ligne: <td class="main"><?php echo $_GET['oID']; ?></td>

par contre je ne sais pas oû et comment mettre la variable $numedate
peut-etre dans orders.php ??
comment on la récupère ou on l'écrit dans invoice.php ??

Comme vous le voyez je débute.




Écrit par : ROUAUD 13 Jan 2019, 17:12

Rebonjour,

J'ai placé le code suivant dans invoice.php et ça marche; sauf que les tirets sont toujours là: 2019-01-11
et ç'est bien actualisé pour chaque client:

<td class="main"><?php echo $convertdate = substr($order->info['date_purchased'], 0, -9); // 2019-01-11 14:22:17
$numdate = str_replace("-", "", $convertdate); ?></td>

il y a donc un code ou la variable peut-être a placer dans un autre fichier (orders.php)??
pour obtenir 20190111
je vois bien que ce bout de code cherche à le faire!
$numdate = str_replace("-", "", $convertdate

merci pour le temps que vous consacrez à m'aider

Écrit par : Bonbec 13 Jan 2019, 18:03

Bonjour,

Citation (ROUAUD @ 12 Jan 2019, 20:04) *
Grace à vos conseils j'ai pu mettre le numéro de commande sur la facture admin/invoice.php
en ajoutant la ligne: <td class="main"><?php echo $_GET['oID']; ?></td>

Il faut garder le (int) que j'avais placé, c'est une sécurité qui empêchera toutes tentatives de hack en ne gardant que ce qui est numérique.
Code
<td class="main"><?php echo (int)$_GET['oID']; ?></td>


Citation
par contre je ne sais pas oû et comment mettre la variable $numedate
peut-etre dans orders.php ??
comment on la récupère ou on l'écrit dans invoice.php ??
Comme vous le voyez je débute.

C'est dans invoice.php et on l'affiche avec un simple echo

Citation (ROUAUD @ 13 Jan 2019, 17:12) *
J'ai placé le code suivant dans invoice.php et ça marche; sauf que les tirets sont toujours là: 2019-01-11
et ç'est bien actualisé pour chaque client:
Code
<td class="main"><?php echo $convertdate = substr($order->info['date_purchased'], 0, -9); // 2019-01-11 14:22:17
$numdate = str_replace("-", "", $convertdate); ?></td>

Mettre comme ceci, çà devrait fonctionner :
Code
<td class="main"><?php echo $convertdate = substr($order->info['date_purchased'], 0, -9); // 2019-01-11 14:22:17
echo str_replace("-", "", $convertdate); ?></td>


Écrit par : ROUAUD 13 Jan 2019, 19:36

voila j'ai corrigé le code mais le résultat donne:

2019-01-1120190111

donc la date est là deux fois

il doit s'agir d'un petit détail d'écriture que j'ignore

Écrit par : Bonbec 13 Jan 2019, 20:03

Ben ... le WE çà me fatigue, j'ai plus les yeux en face des trous wacko.gif
A la première ligne, supprimer le echo dans echo $convertdate comme cela :

Code
<td class="main"><?php $convertdate = substr($order->info['date_purchased'], 0, -9); // 2019-01-11 14:22:17
echo str_replace("-", "", $convertdate); ?></td>

Écrit par : ROUAUD 13 Jan 2019, 21:14


REUSSITE FORMIDABLE
J'aurai du me douter qu'il y avait deux echo !

Vous m'avez donné le goût de continuer et d'apprendre la programmation
Je vous souhaite un bon week-end
et merci encore.

Une pauvre ceinture blanche.

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)