<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[BUG connus]]></title><description><![CDATA[Des bugs connus et quelques fois leurs solutions]]></description><link>https://bb.enter-solutions.net/category/5</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Apr 2026 08:42:33 GMT</lastBuildDate><atom:link href="https://bb.enter-solutions.net/category/5.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 05 Nov 2024 11:28:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[blockcategory et left_column]]></title><description><![CDATA[<p dir="auto">Bon, cela fait quelques temps que je rame dessus et j'ai trouvé une piste peut être?</p>
<p dir="auto">j'ai activé le blockcategory dans mon hook_left_column. MAIS il ne s'affiche pas à la première visite , il faut choisir un produit et revenir pour qu'il reste affiché. Certains pensent que cela vient du cache navigateur, mais mes test semblent montrer que non. vider le cache navigateur, partir d'une nouvelle session.... vider les cokkies... vider le cache smarty... la totale</p>
<p dir="auto">Donc je lis le code.. schématisons</p>
<pre><code>public function hookLeftColumn($params)
    {
				
        if(!$this-&gt;setLastVisitedCategory()) {
            return;
        }
        $phpself = $this-&gt;context-&gt;controller-&gt;php_self;
        $current_allowed_controllers = array('category');

blablabla
}
</code></pre>
<p dir="auto">Si je commente ce return, elle s'affiche comme désiré. Mais disons que j'hésite à faire le bourrinr, je vais plus loin...</p>
<pre><code>public function setLastVisitedCategory()
    {
        if(method_exists($this-&gt;context-&gt;controller, 'getCategory')
            &amp;&amp; ($category = $this-&gt;context-&gt;controller-&gt;getCategory())
        ) {
            if(!$category-&gt;active) { // c'est pas le bon controller donc on passe à la suite
                return false;  
            }
        }
 $cache_id = 'blockcategories::setLastVisitedCategory'; // normalement vide
        if(!Cache::isStored($cache_id)) {
            if(method_exists($this-&gt;context-&gt;controller, 'getCategory') // probablement pas
                &amp;&amp; ($category = $this-&gt;context-&gt;controller-&gt;getCategory())
            ) {
                $this-&gt;context-&gt;cookie-&gt;last_visited_category = $category-&gt;id; // pas de cookie déposé
            }
            elseif(method_exists($this-&gt;context-&gt;controller, 'getProduct') // non plus, sauf quand
                &amp;&amp; ($product = $this-&gt;context-&gt;controller-&gt;getProduct())) { // on a vu une page produit
                if(!isset($this-&gt;context-&gt;cookie-&gt;last_visited_category)
                    || !Product::idIsOnCategoryId($product-&gt;id, array(array('id_category' =&gt; $this-&gt;context-&gt;cookie-&gt;last_visited_category)))
                    || !Category::inShopStatic($this-&gt;context-&gt;cookie-&gt;last_visited_category, $this-&gt;context-&gt;shop)
                ) { //// la il ne dépose pas de cookie
                    $this-&gt;context-&gt;cookie-&gt;last_visited_category = (int)$product-&gt;id_category_default;
                }
            } //// donc au saute là... ??? mais  pas de cookies non plus....
            Cache::store($cache_id, $this-&gt;context-&gt;cookie-&gt;last_visited_category);
        }
    //// et donc pas pastèque return false... tout le temps.....
        return Cache::retrieve($cache_id);
    }

}
</code></pre>
<p dir="auto">De ce que je comprends... Lorsque l'on arrive sur la page la première fois, il n'y a pas de catégorie disponible donc on demande d'activer la dernière catégorie visitée, ce qui ne donne rien et renvient rien et donc return vide....<br />
il n'y a pas de dépôts de cookie lors de cette navigation... je vais prendre le temps d'investiguer</p>
<p dir="auto">"" je ne sais pas si c'est vraie ou pas, ce navigateur de m* firefox à jour, me dit qu'il n'y pas de cookie alors même qu'il y en a puisque je me suis logué sur un site... p*tain je devrais regarder d'un autre navigateur...</p>
<p dir="auto">en ce moment je n'ai pas le temps de faire dans la dentelle alors je vai commenter à la bourrin, mais il faudrait se pencher plus sur la question, ce que je ferais si le soucis persiste et que personne ne voit la solution évidente.</p>
]]></description><link>https://bb.enter-solutions.net/topic/1203/blockcategory-et-left_column</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1203/blockcategory-et-left_column</guid><dc:creator><![CDATA[herve_02]]></dc:creator><pubDate>Tue, 05 Nov 2024 11:28:30 GMT</pubDate></item><item><title><![CDATA[ONePageCheckout]]></title><description><![CDATA[Merci à vous. Belle journée. Hervé
]]></description><link>https://bb.enter-solutions.net/topic/1188/onepagecheckout</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1188/onepagecheckout</guid><dc:creator><![CDATA[hpalmier42]]></dc:creator><pubDate>Mon, 22 Jul 2024 13:23:27 GMT</pubDate></item><item><title><![CDATA[[1.6.0.5 - 1.6.1.18] Fatal error lors de la suppression d&#x27;image du themeconfigurator]]></title><description><![CDATA[<p dir="auto">Lors de la suppression d'image du themeconfigurator vous obtenez l'erreur:<br />
Call to a member function rowCount() on boolean<br />
ou<br />
Table 'presta16.ps_ps_themeconfigurator' doesn't exist avec le mode debug activé</p>
<hr />
<p dir="auto">Modifiez le fichier modules/themeconfigurator/themeconfigurator.php @397<br />
Remplacer</p>
<pre><code>Db::getInstance()-&gt;delete(_DB_PREFIX_.'themeconfigurator', 'id_item = '.(int)$id_item);
</code></pre>
<p dir="auto">par</p>
<pre><code>Db::getInstance()-&gt;delete('themeconfigurator', 'id_item = '.(int)$id_item);
</code></pre>
]]></description><link>https://bb.enter-solutions.net/topic/1079/1-6-0-5-1-6-1-18-fatal-error-lors-de-la-suppression-d-image-du-themeconfigurator</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1079/1-6-0-5-1-6-1-18-fatal-error-lors-de-la-suppression-d-image-du-themeconfigurator</guid><dc:creator><![CDATA[doekia]]></dc:creator><pubDate>Wed, 13 Feb 2019 21:09:10 GMT</pubDate></item><item><title><![CDATA[[1.7.x] Impossible de gérer le menu du BO, même en SuperAdmin]]></title><description><![CDATA[<p dir="auto">Les auteurs de la 1.7 pensent que vous êtes des idiots incompétents, aussi ont-ils totalement supprimé la possibilité pour vous de gérer le menu du BO. (pratique quand un module buggué à pollué ce dernier)</p>
<p dir="auto">Même si vous connaissez le contrôleur et tentez de l'appeler vous obtiendrez un "accès interdit" même en SuperAdmin<br />
<a href="https://domain.com/admin-lab17/index.php?controller=AdminTabs" target="_blank" rel="noopener noreferrer nofollow ugc">https://domain.com/admin-lab17/index.php?controller=AdminTabs</a></p>
<p dir="auto">Vous pouvez reprendre le contrôle de votre BO avec l'override suivante:</p>
<p dir="auto">/override/controllers/admin/AdminTabsController.php</p>
<pre><code>&lt;?php

class AdminTabsController extends AdminTabsControllerCore
{

    public function access($action, $disable = false)
    {
        return Profile::getProfileAccess($this-&gt;context-&gt;employee-&gt;id_profile, Tab::getCurrentTabId());
    }

}
</code></pre>
<p dir="auto">Videz votre cache, vous pouvez a nouveau piloter votre menu du BO, en saisissant l'url directe et acceptant l'alerte de sécurité.</p>
<p dir="auto"><strong>TIP</strong>: Insérer le contrôleur( ajouter menu) avec comme parent Configure afin d'avoir l'entrée directe dans le menu</p>
]]></description><link>https://bb.enter-solutions.net/topic/1077/1-7-x-impossible-de-gérer-le-menu-du-bo-même-en-superadmin</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1077/1-7-x-impossible-de-gérer-le-menu-du-bo-même-en-superadmin</guid><dc:creator><![CDATA[doekia]]></dc:creator><pubDate>Wed, 06 Feb 2019 12:16:06 GMT</pubDate></item><item><title><![CDATA[[1.5.x],[1.6.x],[1.7.x] Pas de redirection canonical pour page manufacturer &amp; supplier]]></title><description><![CDATA[@doekia
Attention il y a eu une grosse coquille dans le code publié plus tôt.
Il est maintenant corrigé mais pensez à le vérifier si vous avez appliqué le patch précédemment
]]></description><link>https://bb.enter-solutions.net/topic/1076/1-5-x-1-6-x-1-7-x-pas-de-redirection-canonical-pour-page-manufacturer-supplier</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1076/1-5-x-1-6-x-1-7-x-pas-de-redirection-canonical-pour-page-manufacturer-supplier</guid><dc:creator><![CDATA[doekia]]></dc:creator><pubDate>Fri, 16 Nov 2018 21:10:17 GMT</pubDate></item><item><title><![CDATA[[ganalytics-2.0.0] Le module peut provoquer une erreur ajax lors de l&#x27;ajout au panier]]></title><description><![CDATA[<p dir="auto">Dans le cas où le nom d'un produit contient les caractères | ou ¤ le module provoque une erreur fatale prévenant l'ajout au panier.<br />
Ce problème est induit par l'injection dans le cookie de PrestaShop du nom du produit. Ces 2 caractères sont interdit dans le contenu des cookies de PrestaShop.</p>
<p dir="auto">Dans modules/ganalytics/ganalytics.php dans la fonction ganalytics::public function hookActionCartSave()<br />
Remplacer (en fin de fonction)</p>
<pre><code>$gacart[$id_product] = $ga_products;
$this-&gt;context-&gt;cookie-&gt;ga_cart = serialize($gacart);
</code></pre>
<p dir="auto">par</p>
<pre><code>$gacart[$id_product] = $ga_products;
$this-&gt;context-&gt;cookie-&gt;ga_cart = str_replace(array('¤','|'),'-',serialize($gacart));
</code></pre>
]]></description><link>https://bb.enter-solutions.net/topic/1074/ganalytics-2-0-0-le-module-peut-provoquer-une-erreur-ajax-lors-de-l-ajout-au-panier</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1074/ganalytics-2-0-0-le-module-peut-provoquer-une-erreur-ajax-lors-de-l-ajout-au-panier</guid><dc:creator><![CDATA[doekia]]></dc:creator><pubDate>Fri, 02 Nov 2018 14:08:22 GMT</pubDate></item><item><title><![CDATA[[1.6.x.x]+ BO - Sélection de langue pour contrôle orthographique impossible dans tinyMCE]]></title><description><![CDATA[<p dir="auto">Dans une boutique multi-langue, lors de l'utilisation de tinymce (description produit, ...), la langue du contrôle orthographique du navigateur ne peux être choisi, le menu contextuel remplaçant le menu du navigateur.</p>
<p dir="auto">Pour palier ce problème il suffit de supprimer le menu contextuel de tinymce<br />
Supprimer le répertoire <strong>/js/tiny_mce/plugins/contextmenu</strong></p>
<p dir="auto">Après suppression il est de nouveau possible de choisir la langue utilisée par le navigateur.</p>
]]></description><link>https://bb.enter-solutions.net/topic/1073/1-6-x-x-bo-sélection-de-langue-pour-contrôle-orthographique-impossible-dans-tinymce</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1073/1-6-x-x-bo-sélection-de-langue-pour-contrôle-orthographique-impossible-dans-tinymce</guid><dc:creator><![CDATA[doekia]]></dc:creator><pubDate>Thu, 25 Oct 2018 08:14:50 GMT</pubDate></item><item><title><![CDATA[[1.7.x] Erreur 500 lors de la collecte des statistiques - pas de statistiques de visites]]></title><description><![CDATA[<p dir="auto">Le module statsdata provoque un appel au contrôleur statistique /index.php?controller=statistics</p>
<p dir="auto">Le contrôleur provoque une erreur 500 et ne remonte aucune données</p>
<pre><code>Smarty exception:
0():Missing '$template' parameter
</code></pre>
<p dir="auto">Pour corriger le problème, modifier le fichier controllers/front/StatisticsController.php, ajoutez cette fonction dans la classe:</p>
<pre><code>    public function run()
    {
        $this-&gt;init();
        $this-&gt;postProcess();
        die(Tools::getValue('id_connections').'!'.Tools::getValue('id_guest'));
    }
</code></pre>
]]></description><link>https://bb.enter-solutions.net/topic/1072/1-7-x-erreur-500-lors-de-la-collecte-des-statistiques-pas-de-statistiques-de-visites</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1072/1-7-x-erreur-500-lors-de-la-collecte-des-statistiques-pas-de-statistiques-de-visites</guid><dc:creator><![CDATA[doekia]]></dc:creator><pubDate>Sat, 20 Oct 2018 08:04:32 GMT</pubDate></item><item><title><![CDATA[[1.6.1.0]+ Duplicate entry XXXXXX for key id_product_2 - INSERT INTO ps_specific_price - BackOffice, créer&#x2F;éditer un produit (SpecificPriceRule.php)]]></title><description><![CDATA[<p dir="auto">Lorsqu'il existe des règles catalogues avec des conditions sur catégories, à l'enregistrement d'un produit, vous rencontrez cette erreur.<br />
Le code impliqué réside dans SpecificPriceRule.php fonction SpecificPriceRule::getAffectedProducts()</p>
<p dir="auto">Vous devez remplacer la ligne:</p>
<pre><code>$query-&gt;select('p.`id_product`');
</code></pre>
<p dir="auto">par</p>
<pre><code>$query-&gt;select('DISTINCT p.`id_product`');
</code></pre>
<p dir="auto">Ce bug est également lié à celui-ci: <a href="https://bb.enter-solutions.net/topic/1070/1-6-1-0-too-many-tables-mysql-can-only-use-61-tables-in-a-join-backoffice-cr%C3%A9er-%C3%A9diter-un-produit">https://bb.enter-solutions.net/topic/1070/1-6-1-0-too-many-tables-mysql-can-only-use-61-tables-in-a-join-backoffice-créer-éditer-un-produit</a></p>
]]></description><link>https://bb.enter-solutions.net/topic/1071/1-6-1-0-duplicate-entry-xxxxxx-for-key-id_product_2-insert-into-ps_specific_price-backoffice-créer-éditer-un-produit-specificpricerule-php</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1071/1-6-1-0-duplicate-entry-xxxxxx-for-key-id_product_2-insert-into-ps_specific_price-backoffice-créer-éditer-un-produit-specificpricerule-php</guid><dc:creator><![CDATA[doekia]]></dc:creator><pubDate>Tue, 16 Oct 2018 08:17:10 GMT</pubDate></item><item><title><![CDATA[[1.6.1.0]+ Too many tables, MySQL can only use 61 tables in a join - Backoffice, créer&#x2F;éditer un produit (SpecificPriceRule.php)]]></title><description><![CDATA[<p dir="auto">Lorsque vous avez plus de 59 catégories dans une condition de règle catalogue, PrestaShop crash lors de l'enregistrement produit. Le problème peut survenir avec moins de règles catégories, si vos règles utilisent d'autres conditions (features, attributes, suppliers, manufacturers,</p>
<p dir="auto">Le code en cause réside dans classes/SpecificPriceRule.php fonction SpecificPriceRule::getAffectedProducts()</p>
<pre><code>} elseif ($condition['type'] == 'category') {
   $query-&gt;leftJoin('category_product', 'cp'.(int)$id_condition, 'p.`id_product` = cp'.(int)$id_condition.'.`id_product`')
     -&gt;where('cp'.(int)$id_condition.'.id_category = '.(int)$condition['value']);
} elseif ($condition['type'] == 'supplier') {
</code></pre>
<p dir="auto">Vous devez remplacer cette section par:</p>
<pre><code>                    } elseif ($condition['type'] == 'category') {
                        if ($once) {
                            $query-&gt;innerJoin('specific_price_rule_condition_group', 'sprg', 'sprg.id_specific_price_rule='.(int)$this-&gt;id);
                            $query-&gt;innerJoin('specific_price_rule_condition','sprc', 'sprc.type = "category" and sprc.id_specific_price_rule_condition_group = sprg.id_specific_price_rule_condition_group');
                            $query-&gt;innerJoin('category_product', 'cp', 'p.`id_product` = cp.`id_product` and cp.id_category = sprc.value');
                            $once = false;
                        }
                    } elseif ($condition['type'] == 'supplier') {
</code></pre>
<p dir="auto">Ajoutez ensuite la ligne $once = true; juste avant le foreach:</p>
<pre><code>                // Add the conditions
                $once = true;
                foreach ($condition_group as $id_condition =&gt; $condition) {
</code></pre>
<p dir="auto">Enfin créez un index dans votre schéma (sql):</p>
<pre><code>ALTER TABLE `ps_specific_price_rule_condition`
ADD INDEX `id_specific_price_rule_condition_group_type` (`id_specific_price_rule_condition_group`, `type`);
</code></pre>
<p dir="auto">Ce bug est également lié à celui-ci: <a href="https://bb.enter-solutions.net/topic/1071/1-6-1-0-duplicate-entry-xxxxxx-for-key-id_product_2-insert-into-ps_specific_price-backoffice-cr%C3%A9er-%C3%A9diter-un-produit-specificpricerule-php">https://bb.enter-solutions.net/topic/1071/1-6-1-0-duplicate-entry-xxxxxx-for-key-id_product_2-insert-into-ps_specific_price-backoffice-créer-éditer-un-produit-specificpricerule-php</a></p>
]]></description><link>https://bb.enter-solutions.net/topic/1070/1-6-1-0-too-many-tables-mysql-can-only-use-61-tables-in-a-join-backoffice-créer-éditer-un-produit-specificpricerule-php</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1070/1-6-1-0-too-many-tables-mysql-can-only-use-61-tables-in-a-join-backoffice-créer-éditer-un-produit-specificpricerule-php</guid><dc:creator><![CDATA[doekia]]></dc:creator><pubDate>Mon, 15 Oct 2018 12:03:56 GMT</pubDate></item><item><title><![CDATA[[1.5.0.17+] Erreur de protocole lors de la génération de pdf]]></title><description><![CDATA[<p dir="auto">Si votre boutique est en https et que la génération des pdf crashe car le tpl utilise $img_ps_dir modifier la ligne 141 de /classes/pdf/HTMLTemplate.php en remplaçant:</p>
<pre><code>'img_ps_dir' =&gt; 'http://'.Tools::getMediaServer(_PS_IMG_)._PS_IMG_,
</code></pre>
<p dir="auto">Par</p>
<pre><code>'img_ps_dir' =&gt; Tools::getShopProtocol().Tools::getMediaServer(_PS_IMG_)._PS_IMG_,
</code></pre>
<p dir="auto">idem dans /classes/pdf/HTMLTemplateSupplyOrderForm.php à la ligne 175.</p>
]]></description><link>https://bb.enter-solutions.net/topic/1069/1-5-0-17-erreur-de-protocole-lors-de-la-génération-de-pdf</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1069/1-5-0-17-erreur-de-protocole-lors-de-la-génération-de-pdf</guid><dc:creator><![CDATA[eolia]]></dc:creator><pubDate>Sun, 14 Oct 2018 09:28:39 GMT</pubDate></item><item><title><![CDATA[[1.5.0.17]+ Redirection vers http forcée suite à redirection shop domain (en https)]]></title><description><![CDATA[header('Location: '. Tools::getShopProtocol() . $url);

]]></description><link>https://bb.enter-solutions.net/topic/1068/1-5-0-17-redirection-vers-http-forcée-suite-à-redirection-shop-domain-en-https</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1068/1-5-0-17-redirection-vers-http-forcée-suite-à-redirection-shop-domain-en-https</guid><dc:creator><![CDATA[eolia]]></dc:creator><pubDate>Sun, 14 Oct 2018 08:58:28 GMT</pubDate></item><item><title><![CDATA[[1.4.0.17]+ Tools::redirect() n&#x27;accepte pas les query string de l&#x27;url]]></title><description><![CDATA[Merci @doekia qui m'a enlevé une belle épine du pied :slight_smile:
]]></description><link>https://bb.enter-solutions.net/topic/1055/1-4-0-17-tools-redirect-n-accepte-pas-les-query-string-de-l-url</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1055/1-4-0-17-tools-redirect-n-accepte-pas-les-query-string-de-l-url</guid><dc:creator><![CDATA[eolia]]></dc:creator><pubDate>Wed, 20 Jun 2018 08:10:05 GMT</pubDate></item><item><title><![CDATA[[1.6.0.5]+ Reference error: $ is undefined dans le BackOffice]]></title><description><![CDATA[Le code à corriger a été changé afin de ne pas interférer avec certains contrôleurs (Category  avec les scènes activés par exemple), qui implémentent du code dans setMedia() pour lequel init() doit avoir été exécuté au préalable (Product::initPricesComputation())
]]></description><link>https://bb.enter-solutions.net/topic/1054/1-6-0-5-reference-error-is-undefined-dans-le-backoffice</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1054/1-6-0-5-reference-error-is-undefined-dans-le-backoffice</guid><dc:creator><![CDATA[doekia]]></dc:creator><pubDate>Wed, 13 Jun 2018 06:40:54 GMT</pubDate></item><item><title><![CDATA[[1.6.1.12]- Header de cross-orgin invalide avec les CDN]]></title><description><![CDATA[Merci perso comme un  con j'avais ajouté en dessous sans me demander pourquoi :
# ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again

&lt;FilesMatch "\.(ttf|otf|eot|woff)$"&gt;
    &lt;IfModule mod_headers.c&gt;
        Header set Access-Control-Allow-Origin "*"
    &lt;/IfModule&gt;
&lt;/FilesMatch&gt;

Voilà c'est corrigé.
]]></description><link>https://bb.enter-solutions.net/topic/1053/1-6-1-12-header-de-cross-orgin-invalide-avec-les-cdn</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1053/1-6-1-12-header-de-cross-orgin-invalide-avec-les-cdn</guid><dc:creator><![CDATA[okom3pom]]></dc:creator><pubDate>Sun, 03 Jun 2018 12:04:12 GMT</pubDate></item><item><title><![CDATA[[1.5.5.0]+ Ajax error lors de ma mise à jour des ranges transporteur (AdminCarrierWizard)]]></title><description><![CDATA[Pensez également à contrôler la valeur de max_input_vars (par défaut à 1000 si non configurée sur le serveur) dans le cas d'un nombre important de zones / tranches de poids / prix
Cette variable correspond au nombre maximum de champs acceptés par le serveur lors de la soumission d'un POST.
Mettez-là à 10 000 et vous serez tranquilles également pour les traductions 
]]></description><link>https://bb.enter-solutions.net/topic/1046/1-5-5-0-ajax-error-lors-de-ma-mise-à-jour-des-ranges-transporteur-admincarrierwizard</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1046/1-5-5-0-ajax-error-lors-de-ma-mise-à-jour-des-ranges-transporteur-admincarrierwizard</guid><dc:creator><![CDATA[eolia]]></dc:creator><pubDate>Thu, 19 Apr 2018 16:09:38 GMT</pubDate></item><item><title><![CDATA[[1.6.0.9] BO: Paniers, Bad query lors de l&#x27;ajout d&#x27;un filtre &#x27;paniers abandonnés&#x27;]]></title><description><![CDATA[<p dir="auto">Lors de l'ajout du filtre 'paniers abandonnés', la page sort l'erreur:<br />
Bad SQL query<br />
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'id_order = 'Panier abandonné' ORDER BY a.<code>id_cart</code> DESC LIMIT 0,50' at line 15</p>
<p dir="auto">Appliquer ce patch:<br />
<a href="https://github.com/PrestaShop/PrestaShop/commit/d5a728c869e8931d33e9b8d752322f4c07471a0d#diff-5fbca4f1456bafff9d3bd87107eedb61" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/PrestaShop/PrestaShop/commit/d5a728c869e8931d33e9b8d752322f4c07471a0d#diff-5fbca4f1456bafff9d3bd87107eedb61</a></p>
]]></description><link>https://bb.enter-solutions.net/topic/1043/1-6-0-9-bo-paniers-bad-query-lors-de-l-ajout-d-un-filtre-paniers-abandonnés</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1043/1-6-0-9-bo-paniers-bad-query-lors-de-l-ajout-d-un-filtre-paniers-abandonnés</guid><dc:creator><![CDATA[doekia]]></dc:creator><pubDate>Sun, 01 Apr 2018 14:38:36 GMT</pubDate></item><item><title><![CDATA[[1.6.1.16] Unknown table &#96;ps_customized_data&#96; in MULTI DELETE]]></title><description><![CDATA[<p dir="auto">L'erreur apparaît lors de la suppression de panier depuis le BO, ou lorsque le mode debug est activé en suppression de produit au panier.</p>
<p dir="auto">Ce bug affecte la version 1.6.1.16 (corrigé 1.6.1.17)</p>
<p dir="auto">Remplacer dans classes/Cart.php à la ligne 271:</p>
<pre><code>        Db::getInstance()-&gt;execute('
                        DELETE `' . _DB_PREFIX_ . 'customized_data`
                        FROM `' . _DB_PREFIX_ . 'customized_data` cd, `' . _DB_PREFIX_ . 'customization` c
                        WHERE cd.`id_customization` = c.`id_customization`
                        AND `id_cart` = ' . (int) $this-&gt;id
        );
</code></pre>
<p dir="auto">par</p>
<pre><code>        Db::getInstance()-&gt;execute('
                        DELETE cd
                        FROM `' . _DB_PREFIX_ . 'customized_data` cd, `' . _DB_PREFIX_ . 'customization` c
                        WHERE cd.`id_customization` = c.`id_customization`
                        AND `id_cart` = ' . (int) $this-&gt;id
        );
</code></pre>
]]></description><link>https://bb.enter-solutions.net/topic/1041/1-6-1-16-unknown-table-ps_customized_data-in-multi-delete</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1041/1-6-1-16-unknown-table-ps_customized_data-in-multi-delete</guid><dc:creator><![CDATA[doekia]]></dc:creator><pubDate>Fri, 16 Mar 2018 12:06:45 GMT</pubDate></item><item><title><![CDATA[[1.6.X.X] Le module loyalty s&#x27;affiche sur les articles en promotion]]></title><description><![CDATA[Pour les versions 1.6.1.X
$(document).ready(function() {
	$(document).on('change', '#our_price_display', function(e){
		updateLoyaltyView(priceWithDiscountsDisplay);
	})
	updateLoyaltyView(priceWithDiscountsDisplay);
});

function updateLoyaltyView(new_price) {
	if (typeof(new_price) == 'undefined' || typeof(productPriceWithoutReduction) == 'undefined')
		return;

	var points = Math.floor(new_price / point_rate);
	var total_points = points_in_cart + points;
	var voucher = total_points * point_value;

	if (none_award == 0 &amp;&amp; productPriceWithoutReduction != new_price) {
		$('#loyalty').html(loyalty_already);
	}
	else if (!points) {
		$('#loyalty').html(loyalty_nopoints);
	}
	else
	{
		var content = loyalty_willcollect + " &lt;b&gt;&lt;span id=\"loyalty_points\"&gt;"+points+'&lt;/span&gt; ';
		if (points &gt; 1)
			content += loyalty_points + "&lt;/b&gt;. ";
		else
			content += loyalty_point + "&lt;/b&gt;. ";

		content += loyalty_total + " &lt;b&gt;&lt;span id=\"total_loyalty_points\"&gt;"+total_points+'&lt;/span&gt; ';
		if (total_points &gt; 1)
			content += loyalty_points;
		else
			content += loyalty_point;

		content += '&lt;/b&gt; ' + loyalty_converted + ' ';
		content += '&lt;span id="loyalty_price"&gt;'+formatCurrency(voucher, currencyFormat, currencySign, currencyBlank)+'&lt;/span&gt;.';
		$('#loyalty').html(content);
	}
}

Fonctionne également si un produit à une remise que sur une déclinaison.
]]></description><link>https://bb.enter-solutions.net/topic/1035/1-6-x-x-le-module-loyalty-s-affiche-sur-les-articles-en-promotion</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1035/1-6-x-x-le-module-loyalty-s-affiche-sur-les-articles-en-promotion</guid><dc:creator><![CDATA[okom3pom]]></dc:creator><pubDate>Thu, 22 Feb 2018 17:38:20 GMT</pubDate></item><item><title><![CDATA[[1.6+] BO, ajax error dans la page produit - pas d&#x27;autre explication de l&#x27;erreur]]></title><description><![CDATA[<p dir="auto">En Prestashop 1.6, même en mode debug, il est impossible de connaître la cause exacte de l'erreur qui provoque une erreur ajax.</p>
<p dir="auto">Il est possible (utile) de rendre l'erreur sous-jacente compréhensible en appliquant le patch suivant:<br />
<a href="https://github.com/PrestaShop/PrestaShop/pull/8475/files" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/PrestaShop/PrestaShop/pull/8475/files</a></p>
<p dir="auto">js/admin/products.js</p>
<pre><code>				if ((in_array(status, wrong_statuses) || in_array(request.status, wrong_status_code)) &amp;&amp; !self.page_reloading) {

					var current_tab = '';
					try {
					if (request.responseText !== 'undefined' &amp;&amp; request.responseText &amp;&amp; request.responseText.length) {
						current_tab = $(request.responseText).filter('.product-tab').attr('id').replace('product-', '');
					}
					jAlert((current_tab ? 'Tab : ' + current_tab : '') + ' (' + (request.status ? request.status + ' ' : '' ) + request.statusText + ')\n' + reload_tab_description + request.responseText, reload_tab_title);
					self.page_reloading = true;
					self.has_error_loading_tabs = true;
					clearTimeout(tabs_running_timeout);
</code></pre>
<p dir="auto">par</p>
<pre><code>				if ((in_array(status, wrong_statuses) || in_array(request.status, wrong_status_code)) &amp;&amp; !self.page_reloading) {
					var current_tab = '';
					try {
					if (request.responseText !== 'undefined' &amp;&amp; request.responseText &amp;&amp; request.responseText.length) {
						current_tab = $(request.responseText).filter('.product-tab').attr('id').replace('product-', '');
					}
					} catch(e){};
					jAlert((current_tab ? 'Tab : ' + current_tab : '') + ' (' + (request.status ? request.status + ' ' : '' ) + request.statusText + ')\n' + reload_tab_description, reload_tab_title);
					self.page_reloading = true;
					self.has_error_loading_tabs = true;
					clearTimeout(tabs_running_timeout);
</code></pre>
<p dir="auto">Patchez également js/jquery/plugins/alerts/jquery.alerts.css</p>
<pre><code>#popup_message {
	padding-left: 48px;
}
</code></pre>
<p dir="auto">par</p>
<pre><code>#popup_message {
	padding-left: 48px;
	max-height: 350px;
	overflow: auto;
}
</code></pre>
]]></description><link>https://bb.enter-solutions.net/topic/1034/1-6-bo-ajax-error-dans-la-page-produit-pas-d-autre-explication-de-l-erreur</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1034/1-6-bo-ajax-error-dans-la-page-produit-pas-d-autre-explication-de-l-erreur</guid><dc:creator><![CDATA[doekia]]></dc:creator><pubDate>Thu, 15 Feb 2018 15:05:22 GMT</pubDate></item><item><title><![CDATA[[1.6.1.15+] pack produits - impossible de créer ou mise à jour supprimant le pack]]></title><description><![CDATA[<p dir="auto">Depuis la version 1.6.1.15, un patch à rendu les packs totalement non fonctionnels coté BO.</p>
<p dir="auto">La cause: <a href="https://github.com/PrestaShop/PrestaShop/commit/18f57b62e897ed5b472e51f7ed69ce4e390d105e#diff-7d7493bae4eba5d548b7f7f88d16d7ea" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/PrestaShop/PrestaShop/commit/18f57b62e897ed5b472e51f7ed69ce4e390d105e#diff-7d7493bae4eba5d548b7f7f88d16d7ea</a></p>
<p dir="auto">Corriger la ligne 5025 de controllers/admin/AdminProductsController.php<br />
Remplacer:<br />
<code>if (Pack::isPack((int)$item_id || $product-&gt;id == (int)$item_id)) {</code><br />
par<br />
<code>if (Pack::isPack((int)$item_id) || $product-&gt;id == (int)$item_id) {</code></p>
]]></description><link>https://bb.enter-solutions.net/topic/1032/1-6-1-15-pack-produits-impossible-de-créer-ou-mise-à-jour-supprimant-le-pack</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1032/1-6-1-15-pack-produits-impossible-de-créer-ou-mise-à-jour-supprimant-le-pack</guid><dc:creator><![CDATA[doekia]]></dc:creator><pubDate>Mon, 12 Feb 2018 12:36:58 GMT</pubDate></item><item><title><![CDATA[[1.6+] email accentué =&gt; Fatal: Address in mailbox given does not comply with RFC 2822, 3.6.2]]></title><description><![CDATA[<p dir="auto">Prestashop utilise la librairie Swift version 4 pour envoyer les mails.<br />
Cette librarie applique un contrôle de la grammaire selon la RFC 2822 (avril 2001).<br />
Cette RFC a été remplacé par la RFC 6531 (février 2012).<br />
La librarie Swift n'intègre cette grammaire qu'a partir de la version 5.5+ (via package symfony).</p>
<p dir="auto">Pour admettre les emails accentués, il faut désactiver la génération d'erreur en cas de grammaire non reconnu.</p>
<p dir="auto">Dans le fichier tools/swift/classes/Swift/Mime/Headers/MailboxHeader.php aux alentours de la ligne @344</p>
<pre><code>    private function _assertValidAddress($address)
    {
        if (!preg_match('/^'.$this-&gt;getGrammar()-&gt;getDefinition('addr-spec').'$/D',
            $address)) {
            if (0) throw new Swift_RfcComplianceException(
                'Address in mailbox given ['.$address.
                '] does not comply with RFC 2822, 3.6.2.'
                );
        }
    }
</code></pre>
]]></description><link>https://bb.enter-solutions.net/topic/1022/1-6-email-accentué-fatal-address-in-mailbox-given-does-not-comply-with-rfc-2822-3-6-2</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1022/1-6-email-accentué-fatal-address-in-mailbox-given-does-not-comply-with-rfc-2822-3-6-2</guid><dc:creator><![CDATA[doekia]]></dc:creator><pubDate>Wed, 13 Dec 2017 10:04:12 GMT</pubDate></item><item><title><![CDATA[[1.5+] Page SAV anormalement lente (plusieurs secondes)]]></title><description><![CDATA[<p dir="auto">La page de SAV peut être synchronisée avec un messagerie IMAP, hélas même lorsque l'on ne souhaite pas faire cette synchronisation il arrive souvent qu'on active ce dispositif par erreur car les réglages se font sur la même page que les réponses au demandes SAV.</p>
<p dir="auto">Le cartouche tout en bas de la page.</p>
<p dir="auto">De plus de nombreux navigateur autofill les champs.</p>
<p dir="auto">Il suffit alors de cliquer par mégarde sur le bouton enregistrer pour que désormais, à chaque appel de la page SAV, le BO tente la synchronisation qui échouera après plusieurs minutes.</p>
<p dir="auto">Le plus simple pour annuler ce défaut est d'exécuter la requête sql suivante:</p>
<pre><code>delete from PREFIX_configuration where name like 'PS\_SAV\_IMAP\_%' where id_shop=99;
</code></pre>
<p dir="auto"><strong>Ajustez cette requête à votre shop!</strong></p>
]]></description><link>https://bb.enter-solutions.net/topic/1019/1-5-page-sav-anormalement-lente-plusieurs-secondes</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1019/1-5-page-sav-anormalement-lente-plusieurs-secondes</guid><dc:creator><![CDATA[doekia]]></dc:creator><pubDate>Mon, 04 Dec 2017 22:27:45 GMT</pubDate></item><item><title><![CDATA[[1.5+] Erreur 404 lors de l&#x27;accès à un fichier vide]]></title><description><![CDATA[<p dir="auto">Lors de l'accès à un fichier vide (signature, ownership verification, ...) vous êtes redirigé sur la page 404 avec le status de réponse 404.</p>
<p dir="auto">Il s'agit d'un bug "implanté" dans le générateur de .htaccess.</p>
<p dir="auto">Il faut patcher classes/Tools.php, remplacer dans la fonction generateHtaccess() la ligne:<br />
<code>fwrite($write_fd, "RewriteCond %{REQUEST_FILENAME} -s [OR]\n");</code><br />
par<br />
<code>fwrite($write_fd, "RewriteCond %{REQUEST_FILENAME} -f [OR]\n");</code></p>
]]></description><link>https://bb.enter-solutions.net/topic/1012/1-5-erreur-404-lors-de-l-accès-à-un-fichier-vide</link><guid isPermaLink="true">https://bb.enter-solutions.net/topic/1012/1-5-erreur-404-lors-de-l-accès-à-un-fichier-vide</guid><dc:creator><![CDATA[doekia]]></dc:creator><pubDate>Tue, 28 Nov 2017 09:58:50 GMT</pubDate></item></channel></rss>