Jump to content

passer d une commande a l autre


ste0024

Recommended Posts

Bonjour

 

cherche modidfication permettant de passer d une commande a une autre sans avoir a cliquer a chaque fois sur commande + numéro de commande.

 

Avec 1 ou 2 commande par jour c est pas gênant mais avec 25 a 30 commandes ca devient une galère.

 

Merci

 

@++

Link to comment
Share on other sites

Bonjour,

Vous voulez sans doute parler du système de navigation entre les commandes lorsqu'on est déjà sur une fiche de

commande (a partir de PS 1.4). C'est cela ?

 

Pour arriver à faire cela dans PS 1.2.5 et PS 1.3 :

- Ouvrer AdminOrders.php

- Chercher la ligne :

 

$row = array_shift($history);

 

- juste en dessous de cette ligne, rajouter:

 


  	 if ($prevOrder = Db::getInstance()->getValue('SELECT id_order FROM '._DB_PREFIX_.'orders WHERE id_order < '.(int)$order->id.' ORDER BY id_order DESC'))
		$prevOrder = '<a href="'.$currentIndex.'&token='.Tools::getValue('token').'&vieworder&id_order='.$prevOrder.'"><img style="width: 24px; height: 24px" src="../img/admin/arrow-left.gif" alt="'.$this->l('Preview ID Order :').' '.sprintf('%06d', $prevOrder).'" title="'.$this->l('Preview ID Order :').' '.sprintf('%06d', $prevOrder).'" /></a>';
	if ($nextOrder = Db::getInstance()->getValue('SELECT id_order FROM '._DB_PREFIX_.'orders WHERE id_order > '.(int)$order->id.' ORDER BY id_order ASC'))
		$nextOrder = '<a href="'.$currentIndex.'&token='.Tools::getValue('token').'&vieworder&id_order='.$nextOrder.'"><img style="width: 24px; height: 24px" src="../img/admin/arrow-right.gif" alt="'.$this->l('Next ID Order :').' '.sprintf('%06d', $nextOrder).'" title="'.$this->l('Next ID Order :').' '.sprintf('%06d', $nextOrder).'" /></a>';

Pensez à ajouter des images arrow-right.gif et arrow-left.gif dans le répertoire /img/admin !

 

- Puis chercher :

 

  	 // display order header
	echo '
	<div style="float: left;">';
	echo '
		<h2 style="width: 430px;">'.$customer->firstname.' '.$customer->lastname.' '.$this->l('#').sprintf('%06d', $order->id).
		((($currentState->invoice OR $order->invoice_number) AND count($products)) ? ' - <a href="pdf.php?id_order='.$order->id.'&pdf"><img src="../img/admin/tab-invoice.gif" alt="'.$this->l('View invoice').'" title="'.$this->l('View invoice').'" /></a>' : '').
		(($currentState->delivery OR $order->delivery_number) ? ' - <a href="pdf.php?id_delivery='.$order->delivery_number.'"><img src="../img/admin/delivery.gif" alt="'.$this->l('View delivery slip').'" title="'.$this->l('View delivery slip').'" /></a>' : '').
		' - <a href="javascript:window.print()"><img src="../img/admin/printer.gif" alt="'.$this->l('Print order').'" title="'.$this->l('Print order').'" /></a>';
	echo '</h2>';

 

- A la fin de la ligne echo '</h2>';

 

Modifier comme ci-dessous (ou modifier votre présentation à votre guise) :

echo '</h2>'.$prevOrder.' |<span style="padding: 1px; border: 1px solid #000000; color: #000000; font-weight: bold; font-size: 10px;">'.$this->l('Order Navigation').'</span>| '.$nextOrder.'';

 

Voila vous y êtes! Vous avez une navigation entre les commandes à partir de la fiche d'une commande. N'oubliez pas de traduire votre langue.

 

Salutations

Link to comment
Share on other sites

EDIT: résolu, erreur de ma part - mauvais format de commentaire

 

Gros probleme avec cette modif que j'ai testé sur ma boutique 1.3.7

 

J'ai bien mis en place le code ci dessus comme indiqué mais ma page de commande ne s'affichait plus.

 

J'ai donc remis ma page d'origine que j'avais sauvegardée.

 

Mais voilà la page des commandes ne s'affiche plus.... ma boutique en live n'est plus utilisable

 

J'ai effacé les cookies, rechargé, rien n'y fait, que se passe t'il?

 

Merci de votre aide, là je suis dans le caca :wacko:

Link to comment
Share on other sites

Bonsoir jolvil,

Cette modification fonctionne parfaitement de mon coté. J'ai intégralement repris la modification sur un fichier issus de pack original de PS et cest ok.

Quand tu dis que la boutique en live n'est plus utilisable, tu parles du FO ou du BO ?

N'as tu pas raté l'insertion du code en omettant par exemple un ;

Quoi qu'il en soit, en remettant ton fichier initial tu dois retrouver ton BO. As-tu vidé le cache dans \tools\smarty\compile !!

Link to comment
Share on other sites

La modif fonctionne bien, fausse alerte de ma part

Je ne comprenais pas j'ai un peu paniqué... comme d'hab

 

Je propose d'utiliser des images de flèches déja existantes dans le dossier admin:

 

 

if ($prevOrder = Db::getInstance()->getValue('SELECT id_order FROM '._DB_PREFIX_.'orders WHERE id_order < '.(int)$order->id.' ORDER BY id_order DESC'))
	$prevOrder = '<a href="'.$currentIndex.'&token='.Tools::getValue('token').'&vieworder&id_order='.$prevOrder.'"><img style="width: 16px; height: 16px" src="../img/admin/previous.gif" alt="'.$this->l('Preview ID Order :').' '.sprintf('%06d', $prevOrder).'" title="'.$this->l('Preview ID Order :').' '.sprintf('%06d', $prevOrder).'" /></a>';
	if ($nextOrder = Db::getInstance()->getValue('SELECT id_order FROM '._DB_PREFIX_.'orders WHERE id_order > '.(int)$order->id.' ORDER BY id_order ASC'))
	$nextOrder = '<a href="'.$currentIndex.'&token='.Tools::getValue('token').'&vieworder&id_order='.$nextOrder.'"><img style="width: 16px; height: 16px" src="../img/admin/next.gif" alt="'.$this->l('Next ID Order :').' '.sprintf('%06d', $nextOrder).'" title="'.$this->l('Next ID Order :').' '.sprintf('%06d', $nextOrder).'" /></a>';

 

et les flèches je les met au-dessus du nom du client sans texte:

 

'.$prevOrder.' '.$nextOrder.' <!-- Ajout fleches pour navigation entre commandes -->
<h2 style="width: 430px;">'.$customer->firstname.' '.$customer->lastname.' '.$this->l('#').sprintf('%06d', $order->id).

 

 

Link to comment
Share on other sites

Bonjour,

Vous voulez sans doute parler du système de navigation entre les commandes lorsqu'on est déjà sur une fiche de

commande (a partir de PS 1.4). C'est cela ?

 

Pour arriver à faire cela dans PS 1.2.5 et PS 1.3 :

- Ouvrer AdminOrders.php

- Chercher la ligne :

 

$row = array_shift($history);

 

- juste en dessous de cette ligne, rajouter:

 


  	 if ($prevOrder = Db::getInstance()->getValue('SELECT id_order FROM '._DB_PREFIX_.'orders WHERE id_order < '.(int)$order->id.' ORDER BY id_order DESC'))
		$prevOrder = '<a href="'.$currentIndex.'&token='.Tools::getValue('token').'&vieworder&id_order='.$prevOrder.'"><img style="width: 24px; height: 24px" src="../img/admin/arrow-left.gif" alt="'.$this->l('Preview ID Order :').' '.sprintf('%06d', $prevOrder).'" title="'.$this->l('Preview ID Order :').' '.sprintf('%06d', $prevOrder).'" /></a>';
	if ($nextOrder = Db::getInstance()->getValue('SELECT id_order FROM '._DB_PREFIX_.'orders WHERE id_order > '.(int)$order->id.' ORDER BY id_order ASC'))
		$nextOrder = '<a href="'.$currentIndex.'&token='.Tools::getValue('token').'&vieworder&id_order='.$nextOrder.'"><img style="width: 24px; height: 24px" src="../img/admin/arrow-right.gif" alt="'.$this->l('Next ID Order :').' '.sprintf('%06d', $nextOrder).'" title="'.$this->l('Next ID Order :').' '.sprintf('%06d', $nextOrder).'" /></a>';

Pensez à ajouter des images arrow-right.gif et arrow-left.gif dans le répertoire /img/admin !

 

- Puis chercher :

 

  	 // display order header
	echo '
	<div style="float: left;">';
	echo '
		<h2 style="width: 430px;">'.$customer->firstname.' '.$customer->lastname.' '.$this->l('#').sprintf('%06d', $order->id).
		((($currentState->invoice OR $order->invoice_number) AND count($products)) ? ' - <a href="pdf.php?id_order='.$order->id.'&pdf"><img src="../img/admin/tab-invoice.gif" alt="'.$this->l('View invoice').'" title="'.$this->l('View invoice').'" /></a>' : '').
		(($currentState->delivery OR $order->delivery_number) ? ' - <a href="pdf.php?id_delivery='.$order->delivery_number.'"><img src="../img/admin/delivery.gif" alt="'.$this->l('View delivery slip').'" title="'.$this->l('View delivery slip').'" /></a>' : '').
		' - <a href="javascript:window.print()"><img src="../img/admin/printer.gif" alt="'.$this->l('Print order').'" title="'.$this->l('Print order').'" /></a>';
	echo '</h2>';

 

- A la fin de la ligne echo '</h2>';

 

Modifier comme ci-dessous (ou modifier votre présentation à votre guise) :

echo '</h2>'.$prevOrder.' |<span style="padding: 1px; border: 1px solid #000000; color: #000000; font-weight: bold; font-size: 10px;">'.$this->l('Order Navigation').'</span>| '.$nextOrder.'';

 

Voila vous y êtes! Vous avez une navigation entre les commandes à partir de la fiche d'une commande. N'oubliez pas de traduire votre langue.

 

Salutations

 

je te remercie pour la motif tres pratique. fonctionne du 1 er coup. je serai aussi intéressé par la même présentation au centre que sur ton site. je trouve ca mieux et plus lisible.

 

est ce qu il est possible d ajouter le même style de motif mais de 10 en 10

 

Merci

 

@++

Link to comment
Share on other sites

Bonjour,

Je me disais bien que cela ne venait pas de mes indications. Voila qui est réglé !

 

@ ste0024,

Que veux-tu dire par "style de motif mais de 10 en 10" ?

Est-ce que veux dire passer d'une commande à l'autre par pas de 10 ?

Mais je ne vois pas trop l'intéret, il y a certaines commandes que tu n'atteindras jamais à travers la navigation !

Toutefois, pour avoir un pas de 10 en 10, tu ajoutes un

-11 pour la variable $prevOrder et un

+11 pour la variable $nextOrder dans les requêtes après le:

 

$row = array_shift($history);

 

exemple:

 

orders WHERE id_order - 11

 

Concernant la présentation telle que tu l'as vu sur mon site de démonstration, je te dirai qu'il faut un peu de créativité et un minimum d'effort. Les styles css et modifications html sont assez personnelles.

Afin de t'aider au moins à positionner le nom du client avec la navigation entre commandes, tout en haut de la page, tu mets ta balise h2 dans une div centrée.

 

Salutations

 

PS : J'ai pas mal de modifications tirées de PS 1.4x à intégrer à PS 1.2.5 et 1.3, telle que sélectionner les facture par statut de commande avant de les imprimer, comme dans PS14 (onglet commandes/factures), si cela peut intéresser.

Link to comment
Share on other sites

bonjour

 

oui je parlais de 10 commande en 10 ou + mais en gardant aussi le principe de 1 commandes en 1 commandes comme explique dans ton 1 er message.

 

Par exemple quand j ai 25 commandes je traites les commandes selon le types d envoi et comme les commande ne se suive pas il me faut sauter pas mal de commandes. Apres un pas de +10 et peut etre trop. +5 me suffirait peut être. A tester.

 

Pour la présentation centre j ai deja teste hier mais ca me décale facture , information transporteur et Détail de la commande..

 

 

Prestashop 1.4 j ai pas teste car pas le temps et vu les problèmes ca ne me donne pas envie. Certain module on l air tres intéressant comme ebay, ou les exports vers les comparateurs ou les modules de paiements.

 

Pour la facture papier ou internet je veux bien l astuce car personnellement je met systématiquement la facture dans le colis et je pense que pas mal de personne risque d etre intéresse. en plus ca va dans le bon sens de l écologie et du réchauffement de la planète.Économie de papier, encre.

 

Merci bien pour la modif et ton aide leeloo

 

Étrange je ne reçois jamais de message pour etre averti d une nouvelle réponse. obliger de surveiller régulièrement.....

Link to comment
Share on other sites

Allez un coup de main pour centrer ta barre de navigation avec le nom du client.

Fais cela entre :

// display order header

et

/* Display current state */

 

tu mets en forme comme cela :

 

   // display order header
	echo '
	<div class="center">';
	echo '
		<h2 >'.$customer->firstname.' '.$customer->lastname.' '.$this->l('#').sprintf('%06d', $order->id).
		((($currentState->invoice OR $order->invoice_number) AND count($products)) ? ' - <a href="pdf.php?id_order='.$order->id.'&pdf"><img src="../img/admin/tab-invoice.gif" alt="'.$this->l('View invoice').'" title="'.$this->l('View invoice').'" /></a>' : '').
		(($currentState->delivery OR $order->delivery_number) ? ' - <a href="pdf.php?id_delivery='.$order->delivery_number.'"><img src="../img/admin/delivery.gif" alt="'.$this->l('View delivery slip').'" title="'.$this->l('View delivery slip').'" /></a>' : '').
		' - <a href="javascript:window.print()"><img src="../img/admin/printer.gif" alt="'.$this->l('Print order').'" title="'.$this->l('Print order').'" /></a>
		</h2>
		'.$prevOrder.' |<span style="padding: 1px; border: 1px solid #000000; color: #000000; font-weight: bold; font-size: 10px;">'.$this->l('Order Navigation').'</span>| '.$nextOrder.'
		</div>';
	echo '<div class="clear"> </div>';

 

Salutations

Link to comment
Share on other sites

  • 2 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...