Client imprime sa facture

Programmation, discussions et suggestions pour l'amélioration de OpenCart

Client imprime sa facture

Messagepar eric02 » 06 Mars 2012, 15:26

Bonjour,

Je cherchais et j'ai trouvé : http://www.opencart.com/index.php?route=extension/extension/info&extension_id=5299&filter_search=vqmod&filter_download_id=23&sort=e.date_modified&order=DESC&page=4

Ce mod VQmod ajoute sur la page "Information commande" du client, un bouton permettant d'imprimer la page (facture) avec auto print.
Je voudrais modifier ceci de façon à ce que le client puisse vraiment imprimer qq chose qui ressemble à une facture (et non ce qui est affiché à l'ecran avec le design du site).
Question : Suis je dans le delire, si j'envisage de faire la chose suivante :
- 1 Puis je du catalog appeler le fichier "admin/view/template/sale/order_invoice.tpl" sans que cela pose des probleme de droit ... Voir meme de securité ???
- 2 Ou alors, en recuperant ce fichier, en lui apportant les modifs si besoin et de le placer dans "catalog/view/theme/default/template/sale/autoprint.tpl"
en creant au passage un repertoire "sale" .
le but de la manip etant
Au clic sur le bouton "print", affichage de la page "autoprint.tpl" et impression en autoprint.
Objectif de la manoeuvre, le client à ses factures à disposition de façon permanente, et de mon coté je n'ai plus à imprimer sa facture (gain de temps et petite economie).
Puis dans le mail de confirmation de commande, je l'informe que sa facture est disponible sur son compte.

A l'écoute de vos avis, avec mes remerciements

Eric
Opencart 1.5.5.1
- Production nouveau site en local : EasyPhp 5.3.8.1
- Multi-boutiques (3) en local
Mod : quelques modifications maison, VQmod -
Autres
Templates : maison
http://www.editionsduharicot.fr/
eric02
 
Messages: 181
Inscrit le: 20 Fév 2012, 13:39

Re: Client imprime sa facture

Messagepar Imaxine » 07 Mars 2012, 03:36

Nonjour,

Malheureusement, ce que tu comptes faire n'est pas aussi simplement réalisable. La facture qui se trouve dans l'admin ne peut être utilisée dans le catalog, à moins de bien connaitre le PHP et de consacrer pas mal d'heures à concevoir cette modification.

Par contre tu peux voir avec le concepteur de ce module, si celui-ci n'a pas réalisé ce même module pour les versions 1.5.+ d'OpenCart.

Lire aussi le sujet relatif à ce module dans le forum US.
Imaxine
 
Messages: 3023
Inscrit le: 27 Juil 2009, 19:28

Re: Client imprime sa facture

Messagepar eric02 » 07 Mars 2012, 15:30

Bonjour et merci pour les infos Imaxine, je continue à me plonger sur le sujet en suivant les post et modules.

Cordialement

Eric
Opencart 1.5.5.1
- Production nouveau site en local : EasyPhp 5.3.8.1
- Multi-boutiques (3) en local
Mod : quelques modifications maison, VQmod -
Autres
Templates : maison
http://www.editionsduharicot.fr/
eric02
 
Messages: 181
Inscrit le: 20 Fév 2012, 13:39

Re: Client imprime sa facture

Messagepar eric02 » 09 Mars 2012, 01:47

Bonsoir,

j'ai envoyé un message à l'auteur sans reponse ...
Les denieres modif de ce module date de un an
le forum semble en sommeil depuis cette date là, et je suis toujours avec cette envie de faire imprimer la facture par le client.

Mon idée est la suivante :
Faire une facture sur le modele (aspect final) de la facture coté admin.
de ce coté là mon fichier semble ok

mon soucis à présent est de créer un lien entre la page "Information commande" et ce fichier facture, lien qui va permettre de passer l'ensemble des infos de l'un à l'autre, là ... je seche.

Je ne sais comment dans ce lien passer à la fois lenomdemonfichier&IDdemafacture.

Je suis interesser par des pistes

cordialement
Opencart 1.5.5.1
- Production nouveau site en local : EasyPhp 5.3.8.1
- Multi-boutiques (3) en local
Mod : quelques modifications maison, VQmod -
Autres
Templates : maison
http://www.editionsduharicot.fr/
eric02
 
Messages: 181
Inscrit le: 20 Fév 2012, 13:39

Re: Client imprime sa facture

Messagepar Imaxine » 09 Mars 2012, 15:26

Modification avec les versions de v1.5.1.1 à v1.5.1.3.1.

Dans le fichier catalog/controller/account/order.php :

Chercher cette ligne :
Code: Tout sélectionner
            $this->data['button_continue'] = $this->language->get('button_continue');
Ajouter ces lignes, après ;
Code: Tout sélectionner
         $this->data['button_close'] = $this->language->get('button_close');
         $this->data['button_print'] = $this->language->get('button_print');
         $this->data['button_fullscreen'] = $this->language->get('button_fullscreen');
Chercher cette ligne :
Code: Tout sélectionner
         $this->data['order_id'] = $this->request->get['order_id'];
Ajouter ces lignes, avant :
Code: Tout sélectionner
         if (isset($this->request->get['fullscreen'])) {
            $this->data['fullscreen'] = $this->request->get['fullscreen'];
            $this->data['content'] = 'contentfull';
         } else {
            $this->data['fullscreen'] = false;
            $this->data['content'] = 'content';
         }

Chercher cette ligne :
Code: Tout sélectionner
            $this->data['continue'] = $this->url->link('account/order', '', 'SSL');
Ajouter ces lignes, après :
Code: Tout sélectionner
         $this->data['fullscreenurl'] = $this->url->link('account/order/info&fullscreen=1&order_id=', '', 'SSL') . $order_id;

         $this->data['template'] = $this->config->get('config_template');

Dans le fichier catalog/language/french/french.php :

Chercher cette ligne :
Code: Tout sélectionner
$_['button_quote']         = 'Obtenir une estimation';
Ajouter ces lignes, après :
Code: Tout sélectionner
$_['button_fullscreen']      = 'Édition';
$_['button_print']         = 'Imprimer';
$_['button_close']         = 'Fermer [X]';

Pour les autres fichiers de langue, faire de même.

Dans le fichier catalog/view/theme/default/template/account/order_info.tpl :

Chercher cette ligne :
Code: Tout sélectionner
<?php echo $header; ?><?php echo $column_left; ?><?php echo $column_right; ?>
La remplacer par celles-ci :
Code: Tout sélectionner
<?php if ($fullscreen) { if (isset($_SERVER['HTTP_USER_AGENT']) && !strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6')) echo '<?xml version="1.0" encoding="UTF-8"?>'. "\n"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="<?php echo $direction; ?>" lang="<?php echo $language; ?>" xml:lang="<?php echo $language; ?>">
<head>
<title><?php echo $heading_title; ?></title>
<link rel="stylesheet" type="text/css" href="catalog/view/theme/<?php echo $template; ?>/stylesheet/stylesheet.css" />
</head>
<body>
<?php } else { echo $header; echo $column_left; echo $column_right; } ?>
Chercher cette ligne :
Code: Tout sélectionner
<div id="content"><?php echo $content_top; ?>
Ajouter cette ligne, après :
Code: Tout sélectionner
<?php if (!$fullscreen) { ?>
Chercher cette ligne :
Code: Tout sélectionner
  <h1><?php echo $heading_title; ?></h1>
Ajouter cette ligne, avant :
Code: Tout sélectionner
<?php } ?>
Chercher cette ligne :
Code: Tout sélectionner
          <td width="1" style="text-align: center;"><input type="checkbox" onclick="$('input[name*=\'selected\']').attr('checked', this.checked);" /></td>
La remplacer par celles-ci :
Code: Tout sélectionner
        <?php if (!$fullscreen) { ?>
          <td width="1" style="text-align: center;"><input type="checkbox" onclick="$('input[name*=\'selected\']').attr('checked', this.checked);" /></td>
        <?php } ?>
Chercher cette ligne :
Code: Tout sélectionner
          <td style="text-align: center; vertical-align: middle;"><?php if ($product['selected']) { ?>
Ajouter cette ligne, avant :
Code: Tout sélectionner
        <?php if (!$fullscreen) { ?>
Chercher cette ligne :
Code: Tout sélectionner
          <td class="left"><?php echo $product['name']; ?>
Ajouter cette ligne, avant :
Code: Tout sélectionner
        <?php } ?>
Chercher cette ligne :
Code: Tout sélectionner
          <td colspan="4"></td>
La remplacer par celles-ci :
Code: Tout sélectionner
      <?php if (!$fullscreen) { ?>
          <td colspan="4"></td>
      <?php } else { ?>
        <td colspan="3"></td>
      <?php } ?>
Chercher ces lignes :
Code: Tout sélectionner
    <div class="buttons">
      <div class="right"><?php echo $text_action; ?>
Ajouter cette ligne, avant :
Code: Tout sélectionner
   <?php if (!$fullscreen) { ?>
Chercher cette ligne :
Code: Tout sélectionner
  </form>
Ajouter cette ligne, avant :
Code: Tout sélectionner
   <?php } ?>
Chercher ces lignes :
Code: Tout sélectionner
    <div class="right"><a href="<?php echo $continue; ?>" class="button"><span><?php echo $button_continue; ?></span></a></div>
  </div>
  <?php echo $content_bottom; ?></div>
<?php echo $footer; ?>
Les remplacer par celles-ci :
Code: Tout sélectionner
     <?php if ($fullscreen) { ?>
        <div class="right"><a onclick="window.print()" class="button"><span><?php echo $button_print; ?></span></a>&nbsp;<a onclick="window.close()" class="button"><span><?php echo $button_close; ?></span></a></div>
        <?php } else { ?>
      <div class="right"><a onclick="window.open('<?php echo str_replace('&', '&amp;', $fullscreenurl); ?>')" class="button"><span><?php echo $button_fullscreen; ?></span></a>&nbsp;<a onclick="location = '<?php echo str_replace('&', '&amp;', $continue); ?>'" class="button"><span><?php echo $button_continue; ?></span></a></div>
        <?php } ?>
  </div>
  <?php echo $content_bottom; ?></div>
<?php if ($fullscreen) { ?>
</body>
<?php } else echo $footer; ?>

Voila succinctement les modifications à apporter. Vous pouvez améliorer celles-ci et poster dans ce sujet les améliorations que vous aurez apporté.
Imaxine
 
Messages: 3023
Inscrit le: 27 Juil 2009, 19:28

Re: Client imprime sa facture

Messagepar eric02 » 10 Mars 2012, 00:34

Ooop's Merci Imaxine je sais ce que je vais faire demain ;-)
Merci encore

Bonne fin de soirée

Cordialement

Eric
Opencart 1.5.5.1
- Production nouveau site en local : EasyPhp 5.3.8.1
- Multi-boutiques (3) en local
Mod : quelques modifications maison, VQmod -
Autres
Templates : maison
http://www.editionsduharicot.fr/
eric02
 
Messages: 181
Inscrit le: 20 Fév 2012, 13:39

Re: Client imprime sa facture

Messagepar Imaxine » 10 Mars 2012, 01:47

Vous pourrez trouver le fichier XML pour vQmod, ici.
Imaxine
 
Messages: 3023
Inscrit le: 27 Juil 2009, 19:28

Re: Client imprime sa facture

Messagepar Imaxine » 10 Mars 2012, 17:54

@ eric02

Tu nous dira si mes modifications résolvent ton problème.
Imaxine
 
Messages: 3023
Inscrit le: 27 Juil 2009, 19:28

Re: Client imprime sa facture

Messagepar eric02 » 10 Mars 2012, 20:24

Ok des que je m'en occupe, là je suis sur l'autre sujet

Cordialement

Eric
Opencart 1.5.5.1
- Production nouveau site en local : EasyPhp 5.3.8.1
- Multi-boutiques (3) en local
Mod : quelques modifications maison, VQmod -
Autres
Templates : maison
http://www.editionsduharicot.fr/
eric02
 
Messages: 181
Inscrit le: 20 Fév 2012, 13:39

Re: Client imprime sa facture

Messagepar BeeBop » 24 Fév 2013, 10:39

Au final ?
Quelle modifications sont apportées par le code proposé ?
Est-ce fonctionnel ?

Je vais tenter de m'y atteler car j'ai le même besoin.
Existe-t-il des template de facture déjà prêts en dehors du template par défaut ?

Merci
http://www.destokart.fr
OpenCart v1.5.1.1_FR
Hébergement O2Switch
Modules PayBox / Colissimo / Suivi de colis
Template de base + personnalisation
PHP 5.3
BeeBop
 
Messages: 39
Inscrit le: 30 Oct 2012, 07:59


Retour vers Développement

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

Copyright © 2009-2013 OpenCart France - Tous droits réservés