Afficher infos client (login ou email) sur facture

  • Posts: 13201
  • Thank you received: 2322
11 years 5 months ago #109990

Bonjour,

Ces infos sont présentes dans l'object php $this->order.
Vous pouvez utiliser le code:
var_dump($this->order);
pour voir ce qui est contenu dans cet objet et après afficher les éléments désirés.

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

  • Posts: 138
  • Thank you received: 2
11 years 5 months ago #110032

Bonjour,

Merci.
Mais "utiliser le code..." consiste en quoi concrètement ?
J'ai tenté par exemple <? echo var_dump($this->order); ?> mais le résultat est confus :unsure:
Cordialement.

PS

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

  • Posts: 72
  • Thank you received: 0
11 years 5 months ago #110047

Bonjour,

Je cherche depuis hier à faire exactement la même chose (client non-inscrit), j'ai essayer le :

<?php echo 'email: '.$this->order->customer->user_email; ?>

mais ca ne fonctionne pas...

Merci

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

  • Posts: 82868
  • Thank you received: 13378
  • MODERATOR
11 years 5 months ago #110147

Bonjour,

@WebConseil
Le résultat de var_dump va vous afficher tout le contenu de la variable. Comme cela vous pouvez facilement voir quelle information est où et comment l'utiliser.

Si vous avez trouvé le numéro de facture, le numéro de facture est facil à trouver, c'est: $order->order_number
La date de la commande, c'est $order->order_created
La date de la facture, c'est $order->order_invoice_created

@testy60 C'est comme cela qu'il faut faire.
Si cela ne fonctionne pas, c'est que vous n'éditez pas la vue pour le bon template

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

  • Posts: 72
  • Thank you received: 0
11 years 5 months ago #110180

Bonjour,

@Nicolas, je modifie bien le Template utilisé et ça ne fonctionne pas (rien sur le PDF ni sur le site).

Voilà où j'ai inséré le code :

<fieldset class="adminform" id="htmlfieldset_billing">
              <legend style="background-color: #FFFFFF;"><?php echo JText::_('HIKASHOP_BILLING_ADDRESS'); ?></legend>
                <?php
                  $this->setLayout('address_template');
                  $html = $this->loadTemplate();
                  foreach($this->element->fields as $field){
                    $fieldname = $field->field_namekey;
                    $html=str_replace('{'.$fieldname.'}',$this->fieldsClass->show($field,$this->element->billing_address->$fieldname),$html);
                  }
                echo str_replace("\n","<br/>\n",trim(str_replace("\n\n","\n",preg_replace('#{(?:(?!}).)*}#i','',$html)),"\n"));

                echo 'email: '.$this->order->customer->user_email; 

                ?>
              </fieldset>

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

  • Posts: 2334
  • Thank you received: 403
11 years 5 months ago #110224

Bonjour,

Essayez avant le echo str_replace.
Au passage, si "email" ne s'affiche même pas c'est que vous modifiez la mauvaise vue.

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

  • Posts: 72
  • Thank you received: 0
11 years 5 months ago #110238

Merci, ça ne fonctionne toujours.

Est ce qu'il est possible d'afficher directement l'email dans le PDF en modifiant directement le fichier : "plugins/hikashop/attachinvoice/attachinvoice/invoice.php" ? Sans passer par le backoffice parce que je bloque dessus (et les utilisateurs n'auront pas accès à la facture depuis le site de toute façon).

Merci beaucoup

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

  • Posts: 82868
  • Thank you received: 13378
  • MODERATOR
11 years 5 months ago #110242

Vous dites que vous afficher un PDF, mais la modification dont nous parlons sur ce sujet concerne les factures en HTML, pas celles en PDF.
Pour les factures en PDF il faut en effet éditer le fichier "plugins/hikashop/attachinvoice/attachinvoice/invoice.php" de la même manière. Il n'y a pas d'autre façon de faire, et cela n'est pas un problème.

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

  • Posts: 72
  • Thank you received: 0
11 years 5 months ago #110244

Ahh ! Moi je modifiait la vue.

J'ai réussi à insérer le tout dans invoice.php, j'ai le "email :" mais pas l'adresse du client... :S

Le code :

<td valign="top">

<fieldset>

<legend><?php echo JText::_('HIKASHOP_'.strtoupper($oneAddress)); ?></legend>

<?php

if(!empty($order->$oneAddress->address_company)) echo $order->$oneAddress->address_company.'<br/>';

echo 'email: '.$this->order->customer->user_email;

echo $order->$oneAddress->address_title.' '.$order->$oneAddress->address_firstname.' '.$order->$oneAddress->address_lastname.'<br/>';

echo $order->$oneAddress->address_street.'<br/>';

echo $order->$oneAddress->address_post_code.' '.$order->$oneAddress->address_city.' '.$order->$oneAddress->address_state.'<br/>';

echo $order->$oneAddress->address_country.'<br/>';

if(!empty($order->$oneAddress->address_telephone)) echo JText::sprintf('TELEPHONE_IN_ADDRESS',$order->$oneAddress->address_telephone).'<br/>';

if(!empty($order->$oneAddress->address_vat)) echo JText::_('VAT_NUMBER').' : '.$order->$oneAddress->address_vat.'<br/>';

?>

</fieldset>

</td>

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

  • Posts: 2334
  • Thank you received: 403
11 years 5 months ago #110251

Ce n'est pas $this->order->customer->user_email qu'il faut mais $order->customer->user_email comme pour les autres variables que vous affichez ;)

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

  • Posts: 72
  • Thank you received: 0
11 years 5 months ago #110255

Tip TOP !! Ca fonctionne à merveille.

Merci beaucoup :-)

Juste une dernière question : pour faire la même chose mais avec le code produit (afficher le code produit) ?

Merci :-)

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

  • Posts: 2334
  • Thank you received: 403
11 years 5 months ago #110259

Probablement $order->order_id.
N'hésitez pas à faire un var_dump($order); pour voir ce qu'il y a à l'intérieur de l'object ;)

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

  • Posts: 72
  • Thank you received: 0
11 years 5 months ago #110336

Bonjour,

J'ai essayer mais ça ne fonctionne pas. Ca affiche le code de la facture mais je souhaite avoir le CODE PRODUIT.

Pour le " var_dump($order); " je n'ai pas bien compris :-)

Merci pour votre aide

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

  • Posts: 82868
  • Thank you received: 13378
  • MODERATOR
11 years 5 months ago #110339

pour le code produit c'est:
echo $product->order_product_code;

Vous pouvez le mettre par exemple après:
echo $product->order_product_name;

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

  • Posts: 72
  • Thank you received: 0
11 years 5 months ago #110345

Bonjour Nicolas,

Merci ça marche nickel :-) :-)

Bon courage.

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

  • Posts: 138
  • Thank you received: 2
11 years 5 months ago #110491

Bonjour,

Pour ce qui me concerne, j'ai trouvé toutes les données que je voulais afficher grâce à vos indications.
Il me manque le n° de commande : $order->order_number (et ses déclinaisons :)) ne fonctionne pas.
Cordialement.

PS

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

  • Posts: 138
  • Thank you received: 2
11 years 5 months ago #110492

Re,

Non, non, c'est bon !!
Désolé, c'est moi qui ai fait une erreur dans le php !
Merci pour toutes vos indications.
Cordialement.

PS

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

Time to create page: 0.083 seconds
Powered by Kunena Forum