Skip to main content

Format d'affichage date sur facture avec champ date picker

More
2 years 8 months ago #358338 by STEVENDU17
-- HikaShop version -- : 5.0.2
-- Joomla version -- : 4.4.2
-- PHP version -- : 8.1.27

Bonjour,

Le bon de livraison a été modifié en devis et j'aimerais ajouter sous le numéro de devis, "Devis Valable jusqu'au XX/XX/XX".

J'ai donc crée un champ commande (devisvalablejusquau) en sélecteur de date avancée, avec un format %d/%m/%Y. Dans ma commande, j'ai sélectionné la date du 29/02/2024 pour ce champ.

Sur la Vue Order/Invoice, quand j'applique le code suivant :
Code:
<?php echo $this->order->devisvalablejusquau; ?>

J'obtiens : 20240229000000

Et quand, je met celui-ci :
Code:
<?php echo hikashop_getDate($this->order->devisvalablejusquau, $this->params->get('date_format', '%d/%m/%Y')); ?>
Le format est bon mais pas la date, il est affiché : 28/04/2057

1. Il y a t-il une solution pour que la bonne date et au bon format s'affiche ? Est-ce peut-être plus simple de mettre directement un champ texte ?
2. Pour aller plus loin, est-il possible que la date de fin de validité, soit calculée automatiquement, par exemple à J+15 de la date de création de commande ?
3. Je voulais ajouter du texte uniquement sur le bon de livraison et non sur la facture. Pour faire l'inverse, cibler uniquement la facture, j'ai trouvé que c'était le code suivant :
Code:
if($this->invoice_type == 'full')
Or pour modifier uniquement le bon de livraison, je n'ai pas trouvé plus simple que :
Code:
if($this->invoice_type == 'full') { echo ''; } else { echo "<p style='border-top:1px solid #000;'></p><div><b>« Bon pour Accord de Prestation »";

Ou du coup le premier echo est pour la facture et le deuxième pour le bon de livraison, n'y a-t-il pas plus simple comme remplacer 'full' par autre chose ?


Merci pour votre aide.

Please Log in or Create an account to join the conversation.

More
2 years 8 months ago - 2 years 8 months ago #358348 by nicolas
Bonjour,

1. Le formattage des champs personnalisés de type date n'est pas compatible avec le formattage des dates de hikashop_getDate
Le plus serais de faire manuellement:
Code:
<?php $year = substr($this->order->devisvalablejusquau, 0 ,4); $month = substr($this->order->devisvalablejusquau, 4 ,2); $day = substr($this->order->devisvalablejusquau, 6 ,2); echo $day.'/'.$month.'/'.$year; ?>

2. Oui. C'est même plus simple ainsi:
Code:
<?php echo hikashop_getDate($this->order->order_created+1209600,'%d %B %Y'); ?>
1209600 est le nombre de secondes dans 2 semaines.

3. Comme cela:
Code:
if($this->invoice_type != 'full') { echo "<p style='border-top:1px solid #000;'></p><div><b>« Bon pour Accord de Prestation »"; }
Last edit: 2 years 8 months ago by nicolas.

Please Log in or Create an account to join the conversation.

More
2 years 8 months ago #358355 by STEVENDU17
Super, ça fonctionne à merveille.

Merci beaucoup Nicolas !

Please Log in or Create an account to join the conversation.

Time to create page: 0.172 seconds
Powered by Kunena Forum