Jump to content

[ASTUCE] [PrestaTIPS] Bye Bye John DOE !


ludo

Recommended Posts

Lorsque vous installez la premier fois Prestashop, vous êtes tenté par prudence, et c'est bien normal, de choisir la version d’installation accompagnée du jeu de tests.

 

Dans ce jeu de test, vous découvrez évidemment le catalogue et tout ses jolies iPod et la désormais célèbre commande de Mister John DOE ! Vous ne prêtez guère attention à cette commande N°1 qui est là juste en exemple... très bien vos tests sont finis... vous êtes sur le point de passer en production et là naturellement vous aimeriez bien faire disparaître ce bon vieux John et sa petite commande de 696€.

 

Mais comment vous débarrassez de cette maudite commande ?? Certes, virer le John et son adresse fut un jeu d'enfant, c'était bien prévu par le système mais par contre aucun bouton dans la partie commande !!!! ... Uniquement un bouton "Modifier" tout seul ... Horreur !!! Vous cherchez partout, vous passez la commande en statuts annulé mais toujours rien !!!

 

Vous dites alors que vous allez vous trainer ce boulet de 696€ toute votre vie (enfin celle de votre shop), que vos belles statistiques seront toutes complètement faussées... Arrrgggg non c'est trop... Non j’arrête ma belle boutique et je vais élever des chèvres dans le Cantal !!!

 

Mais non le brave tips est là pour vous sauver pauvres pécheurs !

  • Connectez vous par FTP
  • Rendez-vous dans le répertoire /admin puis /tabs
  • Editer le fichier AdminOrders.php
  • Reperez en début de page le code suivant (ligne:36)
    $this->colorOnBackground = true;


  • Ajoutez cette ligne juste en dessous
    $this->delete = true;


  • Sauvez le fichier et retournez dans l'administration de votre shop
  • Passez la commande en état "Annulé"
  • cliquez sur l'icone en forme de poubelle !

Ha !!! Ca va tout de suite mieux ! Vous pouvez laisser les chèvres tranquilles et regardez vos stats comme elles sont belles !!!

  • Like 4
Link to comment
Share on other sites

Bonjour,

 

Super info...Je viens de la tester avec une boutique sous PS 1.2.5 et tous fonctionne aussi.

 

Juste noter que ce n'est pas en ligne:36 mais à la ligne:25 que l'on trouve cette phrase :

$this->colorOnBackground = true;

Ensuite on ajoute la meme chose :

 

$this->delete = true;

 

Dernière toute petite modif mais uniquement visuelle, ce n'est pas une poubelle mais un croix rouge qui vous offre la possibilité de supprimer la commande qui a été annulée auparavant.

 

Bien Cordialement,

 

Et un grand grand merci pour cette précision fort utile pour plus d'un je penses.

Link to comment
Share on other sites

Merci m'sieur du Jura et Isa :)

Effectivement c’était pas le même n° de ligne sur 1.2.5 et c'est pas une poubelle ...

 

Jolvil c'est bien tenté ta recherche Google mais John Doe c'est juste une expression en anglais qui équivaut à notre "Monsieur X" ou M'sieur Dupond... "monsieur tout le monde" quoi ! Y a même l'équivalent de Madame Michu... .Jane Doe !

Link to comment
Share on other sites

Bonjour,

C'est effectivement une bonne idée. J'ai d'ailleurs entré quelques commandes test pour tester le module Paypal aussi, et je n'arrive pas à les supprimer non plus.

 

Mais je ne suis pas arrivé à faire la manip : lorsque je transforme le fichier, la page Prestashop n'affiche plus que du vide.

 

Ci-dessous, voici le début du code que j'obtiens quand je l'ouvre avec mon Dreamweaver.

J'ai bien repéré $this->colorOnBackground = true;

J'insère bien $this->delete = true; en laissant un espace comme ceci repris ci-dessous :

 

$this->colorOnBackground = true; $this->delete = true; $this->_select = ' a.id_order AS id_pdf,

 

Pouvez-vous me dire ce qui ne va pas dans la manip ?

 

D'avance merci

 

 

CODE avec Dreamweaver :

 

* @copyright 2007-2011 PrestaShop SA * @version Release: $Revision: 7551 $ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * International Registered Trademark & Property of PrestaShop SA */ class AdminOrders extends AdminTab { public function __construct() { global $cookie; $this->table = 'order'; $this->className = 'Order'; $this->view = true; $this->colorOnBackground = true; $this->_select = ' a.id_order AS id_pdf, CONCAT(LEFT(c.`firstname`, 1), \'. \', c.`lastname`) AS `customer`, osl.`name` AS `osname`, os.`color`, IF((SELECT COUNT(so.id_order) FROM `'._DB_PREFIX_.'orders` so WHERE so.id_customer = a.id_customer) > 1, 0, 1) as new, (SELECT COUNT(od.`id_order`) FROM `'._DB_PREFIX_.'order_detail` od WHERE od.`id_order` = a.`id_order` GROUP BY `id_order`) AS product_number'; $this->_join = 'LEFT JOIN `'._DB_PREFIX_.'customer` c ON (c.`id_customer` = a.`id_customer`) LEFT JOIN `'._DB_PREFIX_.'order_history` oh ON (oh.`id_order` = a.`id_order`) LEFT JOIN `'._DB_PREFIX_.'order_state` os ON (os.`id_order_state` = oh.`id_order_state`) LEFT JOIN `'._DB_PREFIX_.'order_state_lang` osl ON (os.`id_order_state` = osl.`id_order_state` AND osl.`id_lang` = '.(int)($cookie->id_lang).')'; $this->_where = 'AND oh.`id_order_history` = (SELECT MAX(`id_order_history`) FROM `'._DB_PREFIX_.'order_history` moh WHERE moh.`id_order` = a.`id_order` GROUP BY moh.`id_order`)'; $statesArray = array(); $states = OrderState::getOrderStates((int)($cookie->id_lang)); foreach ($states AS $state) $statesArray[$state['id_order_state']] = $state['name']; $this->fieldsDisplay = array( 'id_order' => array('title' => $this->l('ID'), 'align' => 'center', 'width' => 25), 'new' => array('title' => $this->l('New'), 'width' => 25,

Link to comment
Share on other sites

  • 4 months later...

comment ça "problèmes de compatibilité" ??? Je vois pas en quoi activer une fonction qui est seulement désactivée va provoquer des "problèmes de compatibilité" !!!

Expliques nous ça et de quel module tu parles ???

 

suite de la conversation ici...

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

Hello Ludo,

 

Je reviens un peu tard ^^

Je me suis très certainement mal exprimé, je voulais dire des problème d'intégrité des données.

 

En effet, tu supprimes l'utilisateur mais quid des adresses, des commandes, des paniers ?

 

C'est pour cela que je conseille de passer par un module pour le faire.

 

A+

Link to comment
Share on other sites

  • 2 months later...
  • 4 weeks later...
  • 2 weeks later...

Merci ! Super astuce ! Explications très claires !

 

Fonctionne très bien sur la version 1.4.7.0 (dans cette version c'est bien ligne 36 et on a bien une poubelle affichée pour chaque commande).

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...
  • 2 weeks later...

Bonjour a tous,

pour la version 1.5.0.17 il faut ajouter une ligne à AdminOrdersController.php que vous trouvez dans /controllers/admin

$this->addRowAction('delete')

 

come ça : http://www.prestasho...lare-un-ordine/

 

Utiliser cette modification avec attention , elle semble fonctionner correctement mais la prudence est obbligatoire .

Edited by lucamax (see edit history)
  • Like 1
Link to comment
Share on other sites

  • 6 months later...
  • 2 months later...
  • 5 weeks later...

Bonjour,

Pour supprimer toute trace de la commande supprimée :

DELETE FROM ps_order_carrier where id_order = X

DELETE FROM ps_order_detail where id_order = X (X étant le numéro de la commande supprimée). Avant la suppression, n'oubliez pas de récupérer le numéro de "order_detail" (on l'appellera Y) correspondant à votre X pour la manipulation suivante

DELETE FROM ps_order_detail_tax where id_order_detail = Y

DELETE FROM ps_order_history where id_order = X

 

Ceci n'est valable que pour les commandes non validées, non payées.

Link to comment
Share on other sites

  • 1 month later...

Bonjour, je reviens sur le sujet car j'ai installé 2 boutiques en PS1.4.6.2 et sur chacune en modifiant le code tel qu'indiqué, la partie sous l'onglet commande disparaît.

Une explication ?

Merci.

commandes.jpg

Pour info :

Version de Prestashop: 1.4.6.2

Informations sur votre serveur: Linux #2 SMP Wed May 15 18:28:22 CEST 2013 x86_64

Version du logiciel serveur: Apache

Version de PHP: 5.3.16

Version de MySQL: 5.1.66-0+squeeze1-log

Edited by jdespringer (see edit history)
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...