<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Archives des Liste - Agence BeComWeb</title>
	<atom:link href="https://preprod.agence-becomweb.fr/blog/mot-clef/liste/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>Modules Prestashop à petit prix pour votre boutique en ligne</description>
	<lastBuildDate>Thu, 14 Oct 2021 11:03:10 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1.7</generator>

<image>
	<url>https://preprod.agence-becomweb.fr/wp-content/uploads/2019/05/cropped-logo_carre_large-32x32.gif</url>
	<title>Archives des Liste - Agence BeComWeb</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Prestashop &#8211; Afficher le logo du transporteur dans la  liste des commandes</title>
		<link>https://preprod.agence-becomweb.fr/blog/prestashop-afficher-le-logo-du-transporteur-dans-la-liste-des-commandes/</link>
					<comments>https://preprod.agence-becomweb.fr/blog/prestashop-afficher-le-logo-du-transporteur-dans-la-liste-des-commandes/#comments</comments>
		
		<dc:creator><![CDATA[becomweb]]></dc:creator>
		<pubDate>Tue, 10 Sep 2019 18:00:14 +0000</pubDate>
				<category><![CDATA[Développement Prestashop]]></category>
		<category><![CDATA[E-Commerce]]></category>
		<category><![CDATA[Prestashop]]></category>
		<category><![CDATA[Tips divers]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[back-office]]></category>
		<category><![CDATA[Commandes]]></category>
		<category><![CDATA[Icone]]></category>
		<category><![CDATA[Liste]]></category>
		<category><![CDATA[Livraison]]></category>
		<category><![CDATA[Logo]]></category>
		<category><![CDATA[Transporteur]]></category>
		<guid isPermaLink="false">https://preprod.agence-becomweb.fr/?p=622</guid>

					<description><![CDATA[<p>Ce tutorial va vous permettre d'ajouter une colonne contenant l'icône du transporteur dans la liste des commandes</p>
<p>L’article <a rel="nofollow" href="https://preprod.agence-becomweb.fr/blog/prestashop-afficher-le-logo-du-transporteur-dans-la-liste-des-commandes/">Prestashop &#8211; Afficher le logo du transporteur dans la  liste des commandes</a> est apparu en premier sur <a rel="nofollow" href="https://preprod.agence-becomweb.fr">Agence BeComWeb</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Dans le back-office de Prestashop, la liste des commandes contient un certain nombre de colonnes : le nom du client, le mode de paiement, le statut de la commande,&#8230; Mais de nombreux commerçants se retrouvent souvent face à cette limite : <strong>pour connaître le mode de transport choisi par le client il faut ouvrir chaque commande</strong>, impossible d&rsquo;obtenir cette information d&rsquo;un simple coup d&rsquo;oeil depuis la liste.</p>



<p>Or vous êtres nombreux à organiser la préparation des commandes sur la base de ce critère ; parce que le type de livraison est synonyme de degré de priorité (vous avez un mode de livraison rapide, de type « express ») ou parce que vous préparez vos commandes par lots en fonction du transporteur.</p>



<p>Nous allons donc voir comment palier à ce problème.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="428" src="https://preprod.agence-becomweb.fr/wp-content/uploads/2019/11/liste_commandes_icone_transporteur-1024x428.png" alt="Ajouter une colonne avec le logo du transporteur dans Prestashop" class="wp-image-623" srcset="https://preprod.agence-becomweb.fr/wp-content/uploads/2019/11/liste_commandes_icone_transporteur-1024x428.png 1024w, https://preprod.agence-becomweb.fr/wp-content/uploads/2019/11/liste_commandes_icone_transporteur-480x200.png 480w, https://preprod.agence-becomweb.fr/wp-content/uploads/2019/11/liste_commandes_icone_transporteur-768x321.png 768w, https://preprod.agence-becomweb.fr/wp-content/uploads/2019/11/liste_commandes_icone_transporteur-1536x641.png 1536w, https://preprod.agence-becomweb.fr/wp-content/uploads/2019/11/liste_commandes_icone_transporteur-400x167.png 400w, https://preprod.agence-becomweb.fr/wp-content/uploads/2019/11/liste_commandes_icone_transporteur-800x334.png 800w, https://preprod.agence-becomweb.fr/wp-content/uploads/2019/11/liste_commandes_icone_transporteur.png 1638w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>En modifiant le back-office de Prestashop on peut facilement ajouter une colonne contenant l&rsquo;icone du transporteur dans la liste des commandes</figcaption></figure>



<h2>Intégration de la colonne « Transporteur » dans le tableau des commandes</h2>



<p><strong>Mise-à-jour 27/09/2021</strong> : Dans la version Prestashop 1.7.7 la page « Commandes » du back-office a été migré vers le système moderne / Symfony. Le méthode de surcharge de cette page expliqué ci-dessous ne fonctionne plus. La bonne nouvelle c&rsquo;est qu&rsquo;un développeur a mis au point un module permettant d&rsquo;ajouter la colonne « Transporteur » à la liste des commandes. Le module dispose même d&rsquo;une option permettant de choisir si vous voulez afficher le nom du transporteur ou son logo. Merci donc à <a href="https://github.com/Matt75" target="_blank" rel="noreferrer noopener">Matt75</a> de proposer gratuitement le module <em><a href="https://github.com/Matt75/displayordercarrier" target="_blank" rel="noreferrer noopener">Colonne transporteur sur la liste des commandes</a></em>.</p>



<div class="wp-block-file"><a href="https://preprod.agence-becomweb.fr/wp-content/uploads/2021/09/displayordercarrier.zip">Module « Colonne transporteur sur la liste des commandes »</a><a href="https://preprod.agence-becomweb.fr/wp-content/uploads/2021/10/displayordercarrier.zip" class="wp-block-file__button" download="">Télécharger</a></div>



<hr class="wp-block-separator"/>



<p>Pour <strong>ajouter la colonne permettant d&rsquo;indiquer le mode de livraison dans la liste des commandes</strong> nous allons créer une surcharge (ou « override ») du contrôleur qui gère l&rsquo;affichage des commandes dans le backoffice.</p>



<p>Commencez donc par créer un fichier intitulé <em>AdminOrdersController.php</em> dans le répertoire <em>override/controllers/admin</em>.   Nous allons ensuite ajouter 3 éléments dans le constructeur du contrôleur (autrement dit la fonction <em>__construct()</em>) : </p>



<ul><li>la récupération de l&rsquo;identifiant du transporteur dans la requête SQL</li><li>la nouvelle colonne du tableau</li><li>une méthode qui récupère l&rsquo;image du logo</li></ul>



<p>Pour la requête SQL on va donc ajouter le champ <em>id_carrier</em>, qui sera récupéré dans la table <em>order_carrier</em>, pour laquelle il faudra mettre en place une jointure.</p>



<p> Ensuite on intègre la nouvelle colonne à la liste existante. Comme elle a déjà été générée par le constructeur parent, on doit aussi la « positionner » vers le début du tableau pour que le logo ne s&rsquo;affiche pas tout à droite du tableau.</p>



<p>Le code du constructeur ressemble donc maintenant à ça</p>



<pre class="wp-block-code"><code>public function __construct()
{
  // On appelle le constructeur du parent (le controleur natif)
  parent::__construct(); 
  // On recupere l'id_carrier qui va servir pour la methode printCarrierIcon()
  $this-&gt;_select .= ', oc.`id_carrier`,';
  // On ajoute une jointure pour atteindre l'id_carrier
  $this-&gt;_join .= 'LEFT JOIN `'._DB_PREFIX_.'order_carrier` oc ON (a.`id_order` = oc.id_order)';
 // On definit la nouvelle colonne avec icone du transporteur
 // NB : pour Prestashop 1.7 utiliser le nouveau systeme de traduction en remplacant $this-&gt;l('Carrier') par $this-&gt;trans('Carrier', array(), 'Admin.Global')
 $carrier_column = array(
      'title' =&gt; $this-&gt;l('Carrier'),
      'align' =&gt; 'text-center',
      'callback' =&gt; 'printCarrierIcon',
      'orderby' =&gt; true,
       'search' =&gt; false,
  );
  // On l'integre a la liste (ici en 3eme position)
  $part1 = array_slice($this-&gt;fields_list, 0, 2);
  $part2 = array_slice($this-&gt;fields_list, 2);
  $part1&#91;'id_carrier'] = $carrier_column;
  $this-&gt;fields_list = array_merge($part1, $part2);
}</code></pre>



<p>Il ne nous reste plus qu&rsquo;à créer la méthode déclarée en callback et qui va se charger de retourner le logo. On ajoute donc le code suivant à la fin de notre fichier</p>



<pre class="wp-block-code"><code>// Recuperation de l'image du transporteur
public function printCarrierIcon($id_order, $tr)
{
  if (file_exists(_PS_TMP_IMG_DIR_ . 'carrier_mini_' . $tr&#91;'id_carrier'] . '_1.jpg')) {
    return '&lt;img src="../img/tmp/carrier_mini_' . $tr&#91;'id_carrier'] . '_1.jpg'.'" class="imgm img-thumbnail" /&gt;';
 }
  return null;
 }</code></pre>



<p>Pour faire plus simple vous pouvez également télécharger le fichier qui correspond à votre version de Prestashop. </p>



<div class="wp-block-file"><a href="https://preprod.agence-becomweb.fr/wp-content/uploads/2019/11/AdminOrdersController_ps1-6.zip">AdminOrdersController_ps1-6</a><a href="https://preprod.agence-becomweb.fr/wp-content/uploads/2019/11/AdminOrdersController_ps1-6.zip" class="wp-block-file__button" download>Télécharger</a></div>



<div class="wp-block-file"><a href="https://preprod.agence-becomweb.fr/wp-content/uploads/2019/11/AdminOrdersController_ps1-7.zip">AdminOrdersController_ps1-7</a><a href="https://preprod.agence-becomweb.fr/wp-content/uploads/2019/11/AdminOrdersController_ps1-7.zip" class="wp-block-file__button" download>Télécharger</a></div>



<p>Attention, comme pour toutes les overrides vous devez faire une manipulation pour qu&rsquo;elle soit prise en compte. Sous Prestashop 1.6 il faut supprimer le fichier <em>cache/class_index.php</em> manuellement. Sous  Prestashop  1.7 il suffit de vider le cache depuis le menu <em>Paramètres avancés &gt; Performances</em>.</p>



<h2>En complément : modifier le transporteur associé à une commande</h2>



<p>Pour différentes raisons <strong>vous êtes peut-être parfois amené à devoir changer le transporteur associé à une commande</strong>. Il existe beaucoup de cas de figures :</p>



<ul><li>Vous proposez des modes de transports génériques sur votre boutique (ex : « Livraison à domicile », « Livraison express »,&#8230;) puis vous confiez les colis à différents transporteurs en fonction de certains critères (poids, distance,&#8230;)</li><li>Un élément de la commande a varié et vous devez opter pour un transporteur plutôt qu&rsquo;un autre</li></ul>



<p>Dans ce cas vous êtes bloqué, <strong>impossible d&rsquo;effectuer cette manipulation dans le back-office de Prestashop</strong>&#8230; sauf si vous passez par le module que nous avons conçu à cet effet.</p>



<p>Cliquez sur le boton ci-dessous pour en apprendre plus le module <em>Modifier le transporteur final</em> pour Prestashop, qui vous permettra de changer très facilement l&rsquo;option de livraison d&rsquo;une commande.</p>


<div data-block-name="woocommerce/handpicked-products" data-columns="1" data-edit-mode="false" data-content-visibility="{&quot;title&quot;:true,&quot;price&quot;:true,&quot;rating&quot;:false,&quot;button&quot;:false}" data-products="[156]" class="wc-block-grid wp-block-handpicked-products wc-block-handpicked-products has-1-columns has-multiple-rows"><ul class="wc-block-grid__products"><li class="wc-block-grid__product">
				<a href="https://preprod.agence-becomweb.fr/modules-prestashop/modifier-le-transporteur-final/" class="wc-block-grid__product-link">
					<div class="wc-block-grid__product-image"><img width="400" height="234" src="https://preprod.agence-becomweb.fr/wp-content/uploads/2019/03/setfinalcarrier-400x234.jpg" class="attachment-woocommerce_thumbnail size-woocommerce_thumbnail" alt="Modifier le transporteur d&#039;une commande depuis le back-office de Prestashop" decoding="async" loading="lazy" srcset="https://preprod.agence-becomweb.fr/wp-content/uploads/2019/03/setfinalcarrier-400x234.jpg 400w, https://preprod.agence-becomweb.fr/wp-content/uploads/2019/03/setfinalcarrier-480x281.jpg 480w, https://preprod.agence-becomweb.fr/wp-content/uploads/2019/03/setfinalcarrier-768x450.jpg 768w, https://preprod.agence-becomweb.fr/wp-content/uploads/2019/03/setfinalcarrier.jpg 1024w, https://preprod.agence-becomweb.fr/wp-content/uploads/2019/03/setfinalcarrier-800x469.jpg 800w, https://preprod.agence-becomweb.fr/wp-content/uploads/2019/03/setfinalcarrier-300x176.jpg 300w" sizes="(max-width: 400px) 100vw, 400px" /></div>
					<div class="wc-block-grid__product-title">Modifier le transporteur final</div>
				</a>
				
				<div class="wc-block-grid__product-price price"><span class="woocommerce-Price-amount amount">19,00<span class="woocommerce-Price-currencySymbol">&euro;</span></span></div>
				
				
			</li></ul></div><p>L’article <a rel="nofollow" href="https://preprod.agence-becomweb.fr/blog/prestashop-afficher-le-logo-du-transporteur-dans-la-liste-des-commandes/">Prestashop &#8211; Afficher le logo du transporteur dans la  liste des commandes</a> est apparu en premier sur <a rel="nofollow" href="https://preprod.agence-becomweb.fr">Agence BeComWeb</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://preprod.agence-becomweb.fr/blog/prestashop-afficher-le-logo-du-transporteur-dans-la-liste-des-commandes/feed/</wfw:commentRss>
			<slash:comments>23</slash:comments>
		
		
			</item>
	</channel>
</rss>
