Eolia Posted July 9, 2023 Author Share Posted July 9, 2023 PhenixSuite 1.6.2.13 est dispo 1 Link to comment Share on other sites More sharing options...
Khundo2023 Posted July 10, 2023 Share Posted July 10, 2023 23 hours ago, Eolia said: PhenixSuite 1.6.2.13 est dispo Génial merci beaucoup, Bonne soirée à vous Link to comment Share on other sites More sharing options...
Khundo2023 Posted July 10, 2023 Share Posted July 10, 2023 23 hours ago, Eolia said: PhenixSuite 1.6.2.13 est dispo Rebonsoir Eolia, Sur mon sitetest.com lorsque je clique sur rubrique module j'ai un Fatal erreur je n'ai plus d'accès au modules pouvez vous m'aider svp merci par avance Link to comment Share on other sites More sharing options...
Eolia Posted July 10, 2023 Author Share Posted July 10, 2023 Vous aviez un module marqué comme installé mais qui n'était plus sur le ftp. C'est corrigé. Link to comment Share on other sites More sharing options...
Khundo2023 Posted July 10, 2023 Share Posted July 10, 2023 1 hour ago, Eolia said: Vous aviez un module marqué comme installé mais qui n'était plus sur le ftp. C'est corrigé. Merci beaucoup Eolia😇 Bonne soirée à vous et à tous Link to comment Share on other sites More sharing options...
docmusicstation Posted July 11, 2023 Share Posted July 11, 2023 On 7/9/2023 at 9:25 PM, Eolia said: PhenixSuite 1.6.2.13 est dispo Bonjour Eolia Merci pour le boulot que vous faites. Sur la 1.6.2.13 je n'ai plus les meilleures ventes d'affichées ! Meme apres avoir enlevé puis remis les urls simplifiées. J'ai fait le test en local deux fois de suite avec toujours le meme resultat, avant mise a jour j'ai bien les meilleures ventes et un fois upgradé l'affichage est vide ! (pas de meilleures ventes a afficher) Bonne journée Link to comment Share on other sites More sharing options...
Eolia Posted July 11, 2023 Author Share Posted July 11, 2023 Il y a 1 heure, docmusicstation a dit : Bonjour Eolia Merci pour le boulot que vous faites. Sur la 1.6.2.13 je n'ai plus les meilleures ventes d'affichées ! Meme apres avoir enlevé puis remis les urls simplifiées. J'ai fait le test en local deux fois de suite avec toujours le meme resultat, avant mise a jour j'ai bien les meilleures ventes et un fois upgradé l'affichage est vide ! (pas de meilleures ventes a afficher) Bonne journée Avez-vous vidé le cache Prestashop ? Link to comment Share on other sites More sharing options...
Eolia Posted July 11, 2023 Author Share Posted July 11, 2023 Dans la 1.6.2.14 Link to comment Share on other sites More sharing options...
docmusicstation Posted July 11, 2023 Share Posted July 11, 2023 (edited) 7 hours ago, Eolia said: Avez-vous vidé le cache Prestashop ? Je viens de le faire manuellement cela ne changeait rien, il m'a fallu Aller dans la module nettoyage prestashop et nettoyer les contraintes d'integrité et nettoyage BDD. Le probleme reviens de suite ... Merci Eolia pour votre aide Edited July 11, 2023 by docmusicstation (see edit history) Link to comment Share on other sites More sharing options...
Asu34 Posted July 12, 2023 Share Posted July 12, 2023 On 7/9/2023 at 9:25 PM, Eolia said: PhenixSuite 1.6.2.13 est dispo Je confirme que l'installation s'est finalisée correctement sous WAMP Suis en train de tester cette version merci ! PI : sauf erreur de ma part le blocksearch rechercher ne fonctionne pas. J'ai cette erreur en console : Link to comment Share on other sites More sharing options...
Eolia Posted July 12, 2023 Author Share Posted July 12, 2023 Il y a 21 heures, docmusicstation a dit : Je viens de le faire manuellement cela ne changeait rien, il m'a fallu Aller dans la module nettoyage prestashop et nettoyer les contraintes d'integrité et nettoyage BDD. Le probleme reviens de suite ... Merci Eolia pour votre aide Effectivement, il y a un bug dans la classe ProductSale.php A remplacer par celui fourni dans le zip joint. ProductSale.zip Link to comment Share on other sites More sharing options...
Asu34 Posted July 12, 2023 Share Posted July 12, 2023 7 minutes ago, Eolia said: Effectivement, il y a un bug dans la classe ProductSale.php A remplacer par celui fourni dans le zip joint. ProductSale.zip 3.35 kB · 0 downloads Merci pour la réactivité. J'ai testé en remplaçant ProductSale.php mais toujours un soucis de mon côté avec en console : Link to comment Share on other sites More sharing options...
Eolia Posted July 12, 2023 Author Share Posted July 12, 2023 il y a 25 minutes, Asu34 a dit : Je confirme que l'installation s'est finalisée correctement sous WAMP Suis en train de tester cette version merci ! PI : sauf erreur de ma part le blocksearch rechercher ne fonctionne pas. J'ai cette erreur en console : Vous n'avez rien modifié dans le module blocksearch ? de base j'ai ça: Link to comment Share on other sites More sharing options...
Eolia Posted July 12, 2023 Author Share Posted July 12, 2023 la variable displayImage est affectée dans le frontControler : Media::addJsDefL('displayimage', (bool)Configuration::get('PS_SEARCH_IMAGE')); Donc doit être définie à true ou false. Avez-vous bien ces réglages dans Performances ? Link to comment Share on other sites More sharing options...
Asu34 Posted July 12, 2023 Share Posted July 12, 2023 Bizarre, le rendu est effectivement plus sympa chez vous et oui pour les réglages dans performance qui par défaut sont déjà ainsi. Oui également avec une installation fraîche de la 1.6.2.13 (prise sur votre site) sans aucune modification... Peux être mon wamp encore ? Link to comment Share on other sites More sharing options...
Eolia Posted July 12, 2023 Author Share Posted July 12, 2023 Dans Préférences => Recherche avez-vous coché "Afficher les images" ? Link to comment Share on other sites More sharing options...
Asu34 Posted July 12, 2023 Share Posted July 12, 2023 Arrff, bien vu ! Je n'avais pas vu l'option qui par défaut est sur non. Merci Link to comment Share on other sites More sharing options...
Asu34 Posted July 12, 2023 Share Posted July 12, 2023 PI : dans commande / états avec envoi mail on ne peut pas choisir de modèle. Il n'en propose aucun et quant on clique également sur visualiser il ne se passe donc rien. Link to comment Share on other sites More sharing options...
docmusicstation Posted July 12, 2023 Share Posted July 12, 2023 2 hours ago, Eolia said: Effectivement, il y a un bug dans la classe ProductSale.php A remplacer par celui fourni dans le zip joint. ProductSale.zip 3.35 kB · 2 downloads Bonsoir Eolia Merci je testerai dans la soirée Link to comment Share on other sites More sharing options...
Khundo2023 Posted July 12, 2023 Share Posted July 12, 2023 On 7/11/2023 at 5:45 PM, docmusicstation said: Je viens de le faire manuellement cela ne changeait rien, il m'a fallu Aller dans la module nettoyage prestashop et nettoyer les contraintes d'integrité et nettoyage BDD. Le probleme reviens de suite ... Merci Eolia pour votre aide bonsoir, j'ai eu à peu près même soucis que vous lors de la mise à jour 13 essayer en remplaçant fichier joint par eolia reconstruir l'index (preference recherche) reconstruir tous les prix etc( dans module navigation facette) réinitialiser module meilleurs vente et là ça refonctionne chez moi les articles meilleurs ventes affichent bien 1 Link to comment Share on other sites More sharing options...
Eolia Posted July 12, 2023 Author Share Posted July 12, 2023 il y a 2 minutes, Khundo2023 a dit : bonsoir, j'ai eu à peu près même soucis que vous lors de la mise à jour 13 essayer en remplaçant fichier joint par eolia reconstruir l'index (preference recherche) reconstruir tous les prix etc( dans module navigation facette) réinitialiser module meilleurs vente et là ça refonctionne chez moi les articles meilleurs ventes affichent bien Après avoir remplacé le fichier il suffit de vider le cache 1 Link to comment Share on other sites More sharing options...
Khundo2023 Posted July 12, 2023 Share Posted July 12, 2023 2 minutes ago, Eolia said: Après avoir remplacé le fichier il suffit de vider le cache ah d'accord 😂 je me suis cassé la tête pour rien c'est noté pour prochaine fois, merci eolia bonne soirée à vous Link to comment Share on other sites More sharing options...
Eolia Posted July 12, 2023 Author Share Posted July 12, 2023 (edited) Il y a 18 heures, Asu34 a dit : PI : dans commande / états avec envoi mail on ne peut pas choisir de modèle. Il n'en propose aucun et quant on clique également sur visualiser il ne se passe donc rien. Ok mais je ne vais pas ré-écrire tout Phenix pour votre Windows... Pour ce cas précis, il faut remplacer la fonction d'origine de AdminStatuses Controller.php par celle-ci: protected function getTemplates() { $array = array(); foreach (Language::getLanguages(false) as $language) { $iso_code = $language['iso_code']; $directory = _PS_THEME_DIR_.'mails/'.$iso_code.'/*\.html'; if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { $directory = _PS_THEME_DIR_.'mails\\'.$iso_code.'\\*.html'; } $theme_paths = glob($directory); $array[$iso_code][] = array( 'id' => '', 'name' => $this->l('Please select a template'), 'folder' => '' ); foreach($theme_paths as $path) { if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { $template = str_replace(_PS_THEME_DIR_.'mails\\'.$iso_code.'\\', '', $path); } else { $template = str_replace(_PS_THEME_DIR_.'mails/'.$iso_code.'/', '', $path); } $array[$iso_code][$template] = array( 'id' => substr($template, 0, -5), 'name' => substr($template, 0, -5), 'folder' => _THEME_DIR_.'mails/'); } $directory = _PS_MAIL_DIR_.'mails/'.$iso_code.'/*\.html'; if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { $directory = _PS_MAIL_DIR_.'mails\\'.$iso_code.'\\*.html'; } $templates = glob($directory); foreach($templates as $path) { if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { $template = str_replace(_PS_MAIL_DIR_.'mails\\'.$iso_code.'\\', '', $path); } else { $template = str_replace(_PS_MAIL_DIR_.'mails/'.$iso_code.'/', '', $path); } if(!isset($array[$template])) $array[$iso_code][$template] = array( 'id' => substr($template, 0, -5), 'name' => substr($template, 0, -5), 'folder' => _THEME_DIR_.'mails/'); } } return $array; } Parce que sous Linux, les séparateurs de fichiers c'est / et sous Windows c'est \ Edited July 13, 2023 by Eolia (see edit history) Link to comment Share on other sites More sharing options...
Asu34 Posted July 13, 2023 Share Posted July 13, 2023 11 hours ago, Eolia said: Ok mais je ne vais pas ré-écrire tout Phenix pour votre Windows... Pour ce cas précis, il faut remplacer la fonction d'origine de AdminStatuses Controller.php par celle-ci: protected function getTemplates() { $array = array(); foreach (Language::getLanguages(false) as $language) { $iso_code = $language['iso_code']; $directory = _PS_THEME_DIR_.'mails/'.$iso_code.'/*\.html'; if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { $directory = _PS_THEME_DIR_.'mails\\'.$iso_code.'\\*.html'; } $theme_paths = glob($directory); $array[$iso_code][] = array( 'id' => '', 'name' => $this->l('Please select a template'), 'folder' => '' ); foreach($theme_paths as $path) { if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { $template = str_replace(_PS_THEME_DIR_.'mails\\'.$iso_code.'\\', '', $path); } else { $template = str_replace(_PS_THEME_DIR_.'mails/'.$iso_code.'/', '', $path); } $array[$iso_code][$template] = array( 'id' => substr($template, 0, -5), 'name' => substr($template, 0, -5), 'folder' => _THEME_DIR_.'mails/'); } $directory = _PS_MAIL_DIR_.'mails/'.$iso_code.'/*\.html'; if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { $directory = _PS_MAIL_DIR_.'mails\\'.$iso_code.'\\*.html'; } $templates = glob($directory); foreach($templates as $path) { if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { $template = str_replace(_PS_MAIL_DIR_.'mails\\'.$iso_code.'\\', '', $path); } else { $template = str_replace(_PS_MAIL_DIR_.'mails/'.$iso_code.'/', '', $path); } if(!isset($array[$template])) $array[$iso_code][$template] = array( 'id' => substr($template, 0, -5), 'name' => substr($template, 0, -5), 'folder' => _THEME_DIR_.'mails/'); } } return $array; } Parce que sous Linux, les séparateurs de fichiers c'est / et sous Windows c'est / Bonjour, et merci encore effectivement ça fonctionne sous mon windows ^^. Link to comment Share on other sites More sharing options...
Khundo2023 Posted July 14, 2023 Share Posted July 14, 2023 Bonsoir Eolia, J'ai un soucis au niveau des vidéo avec le module manage vidéo opart (fonctionne très bien sous prestashop 1.6.1.24) Sous phenix v12 v13, : Aune erreur, Tout semble fonctionne bien avec les produits existants, videos affichent bien Mais si je veux inserrer dans ancienne ou un nouvelle video dans un nouveau produit, puis enregistrer ça ne veut pas enregistrer, donc pas video sur les nouveaux produits. Pouvez-vous jeter un oeil sur mon sitetest.com et me corriger cela si possible svp ? PS : il ne faut pas réinitialiser le module car je risque de perdre +500 vidéos indexés... Merci par avance Link to comment Share on other sites More sharing options...
P i l o u Posted July 14, 2023 Share Posted July 14, 2023 Bonjour Eolia, Merci pour cette nouvelle version. Je suis reparti de une sauvegarde de mon Ps1.6.1.30 et j'ai fait la mise à jour vers la 1.6.2.13 Aucun soucis lors de la mise à jour. J'ai activé "Afficher les images produits dans la recherche Ajax", vidé le cache, mais je n'ai pas d'images. J'ai essayé avec les différents formats proposés, mais rien n'y change. Autre truc bizarre, au delà de 4 caractères tapés dans le champs de recherche, les images de produits ne s'affichent pas. Je suppose que c'est lié à mon thème, mais as-tu une idée où chercher svp ? Merci d'avance. Pilou Link to comment Share on other sites More sharing options...
Eolia Posted July 14, 2023 Author Share Posted July 14, 2023 Il y a 8 heures, P i l o u a dit : Bonjour Eolia, Merci pour cette nouvelle version. Je suis reparti de une sauvegarde de mon Ps1.6.1.30 et j'ai fait la mise à jour vers la 1.6.2.13 Aucun soucis lors de la mise à jour. J'ai activé "Afficher les images produits dans la recherche Ajax", vidé le cache, mais je n'ai pas d'images. J'ai essayé avec les différents formats proposés, mais rien n'y change. Autre truc bizarre, au delà de 4 caractères tapés dans le champs de recherche, les images de produits ne s'affichent pas. Je suppose que c'est lié à mon thème, mais as-tu une idée où chercher svp ? Merci d'avance. Pilou Url de votre site svp ? Link to comment Share on other sites More sharing options...
Eolia Posted July 14, 2023 Author Share Posted July 14, 2023 Il y a 19 heures, Khundo2023 a dit : Bonsoir Eolia, J'ai un soucis au niveau des vidéo avec le module manage vidéo opart (fonctionne très bien sous prestashop 1.6.1.24) Sous phenix v12 v13, : Aune erreur, Tout semble fonctionne bien avec les produits existants, videos affichent bien Mais si je veux inserrer dans ancienne ou un nouvelle video dans un nouveau produit, puis enregistrer ça ne veut pas enregistrer, donc pas video sur les nouveaux produits. Pouvez-vous jeter un oeil sur mon sitetest.com et me corriger cela si possible svp ? PS : il ne faut pas réinitialiser le module car je risque de perdre +500 vidéos indexés... Merci par avance J'ai ajouté un contrôle dans tinymce mais votre module date un peu (2013^^) Link to comment Share on other sites More sharing options...
Eolia Posted July 14, 2023 Author Share Posted July 14, 2023 1.6.2.14: 2 Link to comment Share on other sites More sharing options...
Khundo2023 Posted July 14, 2023 Share Posted July 14, 2023 (edited) 2 hours ago, Eolia said: J'ai ajouté un contrôle dans tinymce mais votre module date un peu (2013^^) Bonsoir Eolia, Mince alors, je ne pourrais plus utiliser ce module? C'était pratique Merci pour le retour, Bonne soirée à vous Edited July 14, 2023 by Khundo2023 (see edit history) Link to comment Share on other sites More sharing options...
Khundo2023 Posted July 15, 2023 Share Posted July 15, 2023 4 hours ago, Eolia said: J'ai ajouté un contrôle dans tinymce mais votre module date un peu (2013^^) Rebonsoir Eolia, Je viens de retélécharger sur opart store en espérant la version est plus recent l'instalation s'est bien déroulé sans erreurs, lorsque je clique sur le bouton "video" il y a erreur 500 Fatal error: Uncaught Error: Call to undefined method Context::getTranslator() in /home/xxx/xxx/modules/opartproductvideo/controllers/admin/AdminOpartproductvideoController.php:64 Stack trace: #0 /home/xxx/xxx/modules/opartproductvideo/controllers/admin/AdminOpartproductvideoController.php(13): AdminOpartproductvideoController->l('Delete selected...') #1 /home/xxx/xxx/classes/controller/Controller.php(144): AdminOpartproductvideoController->__construct(false, false) #2 /home/xxx/xxx/classes/Dispatcher.php(395): ControllerCore::getController('AdminOpartprodu...') #3 /home/xxx/xxxx/xxxx/index.php(79): DispatcherCore->dispatch() #4 {main} thrown in /home/xxxx/xxx/modules/opartproductvideo/controllers/admin/AdminOpartproductvideoController.php on line 64 Il y a t-il moyen de corriger cela svp? Merci par avance Link to comment Share on other sites More sharing options...
P i l o u Posted July 15, 2023 Share Posted July 15, 2023 Il y a 11 heures, Eolia a dit : Url de votre site svp ? mp envoyé 😉 Link to comment Share on other sites More sharing options...
Eolia Posted July 15, 2023 Author Share Posted July 15, 2023 Il y a 12 heures, Khundo2023 a dit : Bonsoir Eolia, Mince alors, je ne pourrais plus utiliser ce module? C'était pratique Merci pour le retour, Bonne soirée à vous Ben si, justement, j'ai adapté tinymce en conséquence et j'ai téléchargé une vidéo^^ Link to comment Share on other sites More sharing options...
Eolia Posted July 15, 2023 Author Share Posted July 15, 2023 (edited) Le 15/07/2023 à 8:51 AM, P i l o u a dit : mp envoyé 😉 Bon, j'arrive à le faire fonctionner mais en désactivant ce module qui a des erreurs js et en supprimant le blocksearch.js de votre thème. Edited July 16, 2023 by Eolia (see edit history) 1 Link to comment Share on other sites More sharing options...
Khundo2023 Posted July 15, 2023 Share Posted July 15, 2023 (edited) 1 hour ago, Eolia said: Ben si, justement, j'ai adapté tinymce en conséquence et j'ai téléchargé une vidéo^^ Bonjour Eolia, Peut-être j'ai mal expliqué et mal compris.. J'utilise tjs depuis des années sous ps 1.6 le module opart manages vidéos pour insserer les videos de youtubes etc dans les articles des produits désirés et ça apparait dans l'onglet video du produit ciblé Sur phenix je viens de rendre compte que avec le module manages vidéos, je ne peux plus ajouter une video youtube etc sur un nouveau article que je viens de créer... Je souhaite rajouter une vidéo via manages videos dans un article et non téléchargé une video J'ai un article test video sur mon sitetest.com Pouvez-vous rajouter une video exemple avec le module manages videos dans l'article nommé test video ? Je n'ai pas réussi à rajouter Et là j'ai plein d'erreurs cités au dessus... Merci par avance Eolia Edited July 15, 2023 by Khundo2023 (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted July 15, 2023 Author Share Posted July 15, 2023 Je vous ai ajouté un lien dans manage video mais la nouvelle version que vous avez chargée est pour les Prestashop 1.7. remettez l'ancienne version svp. Link to comment Share on other sites More sharing options...
Khundo2023 Posted July 15, 2023 Share Posted July 15, 2023 10 minutes ago, Eolia said: Je vous ai ajouté un lien dans manage video mais la nouvelle version que vous avez chargée est pour les Prestashop 1.7. remettez l'ancienne version svp. Voilà j'ai remis l'ancien version merci beaucoup Eolia Link to comment Share on other sites More sharing options...
Khundo2023 Posted July 15, 2023 Share Posted July 15, 2023 Au secours Eolia, c'est le bordel mes videos ne s'affichent plus dans l'onglet video comme ceci maintenant toutes mes videos s'affichent en bas de page de l'onglet "En savoir plus" ce n'est pas ce que je souhaite. Normalement lorsque j'ajoute une video, je peux ajouter sur plusieur article et affiche que dans l'onglet video là je n'ai pas reussi... sous phenix 7 ça passe bien mais le 12 et v13 je n'arrive pas pouvez-vous m'aider svp merci par avance Link to comment Share on other sites More sharing options...
Eolia Posted July 15, 2023 Author Share Posted July 15, 2023 C'est réparé mais je ne vais pas continuer à intervenir à chaque fois. En installant la dernière version du module vous l'avez décroché du hook productTab, je vous l'ai donc réaccroché. 1 Link to comment Share on other sites More sharing options...
Khundo2023 Posted July 15, 2023 Share Posted July 15, 2023 8 minutes ago, Eolia said: C'est réparé mais je ne vais pas continuer à intervenir à chaque fois. En installant la dernière version du module vous l'avez décroché du hook productTab, je vous l'ai donc réaccroché. Mille fois merci excusez du dérangement encore Bonne soirée à vous Link to comment Share on other sites More sharing options...
Khundo2023 Posted July 15, 2023 Share Posted July 15, 2023 23 hours ago, Eolia said: 1.6.2.14: Bonsoir Eolia, Pour la version 14 Auriez vous la possibilité de rajouter un champ video simplifier dans l'éditeur des articles, juste à inserrer liens video youtube etc et qui s'implante directement dans l'onglet nommé vidéo ? Merci par avance Link to comment Share on other sites More sharing options...
P i l o u Posted July 16, 2023 Share Posted July 16, 2023 Il y a 19 heures, Eolia a dit : Bon, j'arrive à le faire fonctionner mais en désactivant ce module qui a des erreurs js et en supprimant le blockcart.js de votre thème. Merci beaucoup Eolia ! Link to comment Share on other sites More sharing options...
Sda33 Posted July 16, 2023 Share Posted July 16, 2023 Bonsoir @Eolia, En 1.6.2.12, j'ai un problème que je n'avais pas vu avec les modes de livraison, dans le process de commande. Pour tous les modes de livraison le système prend la valeur du champ "delay" du premier mode de livraison affiché. Je ne comprends pas d'où ça peut venir, et ça pose un vrai problème de compréhension pour les clients, entre la livraison en boîte aux lettres, en relais ou en click and collect... on voit à chaque fois le texte "delay" correspondant au premier affiché (livraison en 2 jours en boîte aux lettres). La requête de la classe carrier a l'air correcte... C'est un vrai mystère. Savez-vous ce que je dois corriger pour régler cela ? Merci. Link to comment Share on other sites More sharing options...
Eolia Posted July 16, 2023 Author Share Posted July 16, 2023 C'est un bug natif dans tous les thèmes. Il faut mettre déplacer le délai et le mettre dans la boucle foreach (de order-carrier.tpl et order-carrier-opc-advanced.tpl): {if $option.unique_carrier} {foreach $option.carrier_list as $carrier} <strong>{$carrier.instance->name|escape:'htmlall':'UTF-8'}</strong> {if isset($carrier.instance->delay[$cookie->id_lang])} <br />{l s='Delivery time:'} {$carrier.instance->delay[$cookie->id_lang]|escape:'UTF-8'} {/if} {/foreach} {/if} 1 Link to comment Share on other sites More sharing options...
Sda33 Posted July 17, 2023 Share Posted July 17, 2023 9 hours ago, Eolia said: Il faut mettre déplacer le délai et le mettre dans la boucle foreach (de order-carrier.tpl et order-carrier-opc-advanced.tpl) Merci pour votre réponse si rapide, la réponse était sous mes yeux... Vu le code en effet c'est curieux que je n'ai pas eu le problème en 1.6.1.24... on n'entrait peut-être pas dans cette partie du code. Je laisse ma question au cas où elle puisse servir à d'autres que moi. Bonne journée. Link to comment Share on other sites More sharing options...
Eolia Posted July 17, 2023 Author Share Posted July 17, 2023 Vous n'y aviez pas fait attention mais ce bug est là depuis le 1er thème default-bootstrap Link to comment Share on other sites More sharing options...
Eolia Posted July 17, 2023 Author Share Posted July 17, 2023 1.6.2.14: Link to comment Share on other sites More sharing options...
Sda33 Posted July 17, 2023 Share Posted July 17, 2023 (re) Pour un warning sur l'administration, Gestionnaire SQL. Failed opening 'xxx/tools/parser_sql/z.php' for inclusion (include_path='xxx/tools/htmlpurifier/standalone:.:/usr/local/php7.1/lib/php') in xxx/controllers/admin/AdminRequestSqlController.php on line 88 Effectivement la ligne 88 du controller cherche include(_PS_TOOL_DIR_.'parser_sql/z.php'); Or ce fichier n'existe pas. A quoi cela correspond-il ? Merci ! 2 hours ago, Eolia said: Vous n'y aviez pas fait attention mais ce bug est là depuis le 1er thème default-bootstrap Oui oui je n'en doute pas, c'est juste que je n'avais pas de problème d'affichage, mes "delay" étaient correctement affichés en face de chaque mode de livraison sur la page de sélection, et encore en 1.6.2.7 (ou .6?) quand j'ai upgradé mon site vers Phénix pour la première fois tout était en place. Il y a une boucle au-dessus {foreach $option_list as $key => $option} qui suffisait vraisemblablement. Mais pas de problème tout est ok maintenant avec la correction. Link to comment Share on other sites More sharing options...
Eolia Posted July 17, 2023 Author Share Posted July 17, 2023 Il y a 4 heures, Sda33 a dit : Effectivement la ligne 88 du controller cherche include(_PS_TOOL_DIR_.'parser_sql/z.php'); Virez-là, c'était un oubli dans cette version (amélioration du parser) Link to comment Share on other sites More sharing options...
Khundo2023 Posted July 17, 2023 Share Posted July 17, 2023 Bonsoir Eolia, Juste une question dans rubrique groupe clients et l'option : Activer restriction produits lorsque je prends un produits et dans rubrique association je désactive un des groupes exemple "visiteurs" ils ne voient plus le produit. ma question : est ce qu'il y aurait-il un moyen avec Phenixsuite que les visiteurs ou le groupe restictiion désectionner puissent quand même voir le produit mais sans prix ? Merci par avance Link to comment Share on other sites More sharing options...
Eolia Posted July 18, 2023 Author Share Posted July 18, 2023 Il y a 11 heures, Khundo2023 a dit : Bonsoir Eolia, Juste une question dans rubrique groupe clients et l'option : Activer restriction produits lorsque je prends un produits et dans rubrique association je désactive un des groupes exemple "visiteurs" ils ne voient plus le produit. ma question : est ce qu'il y aurait-il un moyen avec Phenixsuite que les visiteurs ou le groupe restictiion désectionner puissent quand même voir le produit mais sans prix ? Merci par avance Non, pour ce genre de spécificité particulière il faudra passer par un module. PhenixSuite n'est pas un fourre-tout, les options restent générales. 1 Link to comment Share on other sites More sharing options...
Khundo2023 Posted July 18, 2023 Share Posted July 18, 2023 3 hours ago, Eolia said: Non, pour ce genre de spécificité particulière il faudra passer par un module. PhenixSuite n'est pas un fourre-tout, les options restent générales. Bonjour Eollia, Merci pour la réponse Bonne journée à vous et à tous Link to comment Share on other sites More sharing options...
Eolia Posted July 18, 2023 Author Share Posted July 18, 2023 1.6.2.14 pour les grosses boutiques 1 Link to comment Share on other sites More sharing options...
Mediacom87 Posted July 18, 2023 Share Posted July 18, 2023 Le 15/07/2023 à 12:38 PM, Eolia a dit : Bon, j'arrive à le faire fonctionner mais en désactivant ce module qui a des erreurs js et en supprimant le blocksearch.js de votre thème. Bon, ben, il va falloir que je teste sa compatibilité avec Phenix Suite. Link to comment Share on other sites More sharing options...
Fab20620 Posted July 19, 2023 Share Posted July 19, 2023 (edited) Bonjour Eolia et encore merci pour tout ce travail colossal. J'ai ce warning qui revient non stop : Creating default object from empty value in /--path--/cache/smarty/compile/9f/1b/94/9f1b94ce5e9e706cd4529214dc55e8c193d06e0f_0.file.blockcart.tpl.php on line 261 Je ne sais pas où chercher, je suppose que l'erreur vient du fichier blockcart.tpl à la base ? Edited July 19, 2023 by Fab20620 (see edit history) Link to comment Share on other sites More sharing options...
Sda33 Posted July 19, 2023 Share Posted July 19, 2023 Bonjour, Je rencontre un problème avec les caractéristiques des produits : j'ai remarqué que parfois elles "sautent". C'est à dire que des valeurs caractéristiques créées, et associées à des produits, disparaissent totalement à la fois de la fiche produit, et des valeurs de caractéristiques en base de données. Je travaille mon catalogue, et quand je reviens sur un article pouf il a perdu deux valeurs de caractéristiques, et elles n'existent même plus du tout, je dois les recréer. Je ne sais pas ce qui produit cela et je n'arrive donc pas à identifier où regarder le code pour comprendre. En base de données j'ai la surprise de voir que pour 30 lignes de valeurs seulement (table feature_value) mes id_feature_value s'étendent de 34 à 791... Et j'ai bien une ligne pour chaque dans feature_value_lang également. Avez-vous déjà noté ce problème et savez-vous ce que je dois corriger pour le résoudre ? Question subsidiaire, à quoi sert la colonne "custom" dans cette table ? Elle a les valeurs 0, 1 ou NULL. Merci. Link to comment Share on other sites More sharing options...
Eolia Posted July 19, 2023 Author Share Posted July 19, 2023 Une petite explication s'impose^^. Prestashop avait la possibilité de créer des valeurs de caractéristiques soit depuis Catalogue => Caractéristiques, soit d'en ajouter directement depuis la fiche produit en tant que "custom" Problème souvent rencontré, le ou la client(e) a rentré 10 ou 20 ou 50 fois la même custom parce que Prestashop ne les propose jamais dans la liste, donc elles sont recrées et associées par produit. Dans Phenix, si vous utilisez cette possibilité depuis le fiche produit, on recherche si cette valeur n'existe pas et si ce n'est pas le cas, on la crée et on l'ajoute au choix des valeurs existantes. Votre cas peut se présenter si vous aviez déjà plein de custom et dans ce cas il faut faire un nettoyage. - Récupérer les valeurs identiques dans ps_feature_value_lang et noter leurs id. - Les supprimer toutes sauf la 1ère dans ps_feature_value et ps_feature_value_lang - Allez dans ps_feature_product et remplacez les id supprimés par celui que vous avez conservé. Exemple, dans ps_feature_value_lang vous avez : donc 2 valeurs identiques. Vous conservez la 1ère et supprimez la seconde en notant son id (ici: 35252012) Avec cette requête vous la supprimez dans ps_feature_value: DELETE FROM `ps_feature_value` WHERE `id_feature_value` IN('35252012'); Et vous mettez à jour la table ps_feature_product: UPDATE `ps_feature_product` SET `id_feature_value` = '35246900' WHERE `id_feature_value` IN('35252012'); Dans mon cas cela a mis à jour 21 produits. PS: J'ai utilisé IN() volontairement si vous aviez plusieurs id à mettre, entourés chacun de simple quote ' Link to comment Share on other sites More sharing options...
Eolia Posted July 19, 2023 Author Share Posted July 19, 2023 Il y a 1 heure, Fab20620 a dit : Bonjour Eolia et encore merci pour tout ce travail colossal. J'ai ce warning qui revient non stop : Creating default object from empty value in /--path--/cache/smarty/compile/9f/1b/94/9f1b94ce5e9e706cd4529214dc55e8c193d06e0f_0.file.blockcart.tpl.php on line 261 Je ne sais pas où chercher, je suppose que l'erreur vient du fichier blockcart.tpl à la base ? Le nom du tpl concerné est indiqué en haut de ce fichier compilé A priori c'est le blockcart-json.tpl dans votre thème. La ligne correcte est celle-ci normalement: "free_ship": {(!$shipping_cost_float && !count($cart->getDeliveryAddressesWithoutCarriers(true)))|json_encode}, Regardez le tpl du thème par défaut au cas où. Link to comment Share on other sites More sharing options...
Sda33 Posted July 19, 2023 Share Posted July 19, 2023 28 minutes ago, Eolia said: Dans Phenix, si vous utilisez cette possibilité depuis le fiche produit, on recherche si cette valeur n'existe pas et si ce n'est pas le cas, on la crée et on l'ajoute au choix des valeurs existantes. Merci pour votre réponse @Eolia, et c'est justement cette fonctionnalité qui m'intéressait. Mais je ne suis pas dans le cas qui justifie des suppressions aléatoires de mes données, et je ne comprends pas. Je suis en création d'une nouvelle boutique, donc je n'ai que très peu de données (8 caractéristiques, chacune avec 4 à 6 valeurs normalement). C'est vraiment peu, et je sais que je n'ai pas pu entrer de doublon. Imaginons une caractéristique "dimension". Sur un produit je vais créer la dimension "carré 75 x 75cm". Sur un autre, "rond diamètre 75cm". Je suis contente de retrouver ces caractéristiques disponibles pour d'autres produits, mais je n'en ai pas encore besoin. Je fais d'autres actions du même type, sur d'autres produits, avec d'autres caractéristiques. Et je reviens sur mon premier produit, je réalise que la caractéristique "carré 75 x 75cm" a disparu, et du produit, et même de la caractéristique "taille". Pourtant je ne me suis plus intéressée à cette valeur, puisque je n'ai entré que des produits différents (une demi douzaine de produits, donc vraiment très peu). Il y a donc un moment où les valeurs sont supprimées de manière totalement inopinée... Sauriez-vous me dire où cela se passe que je puisse regarder quelles conditions génèrent le problème ? Link to comment Share on other sites More sharing options...
Eolia Posted July 19, 2023 Author Share Posted July 19, 2023 Ca se passe dans AdminProductController.php mais jamais le code ne supprime de caractéristique. if(preg_match('/^custom_([0-9]+)_('.$this->context->language->id.')/i', $key, $match)) { if($default_value = $this->checkFeatures($languages, $match[1])) { if($id_feature_value = $product->getFeatureValue($match[1], $default_value, $this->context->language->id)) { // If this feature value already exists, just associate it to the product $product->addFeaturesToDB($match[1], $id_feature_value); } else { // else create it and associate it to the product if($id_value = $product->addFeaturesToDB($match[1], 0, 1)) { foreach($languages as $language) { if($cust = Tools::getValue('custom_'.$match[1].'_'.(int)$language['id_lang'])) { $product->addFeaturesCustomToDB($id_value, (int)$language['id_lang'], $cust); } else { $product->addFeaturesCustomToDB($id_value, (int)$language['id_lang'], $default_value); } } } } } } Vous n'auriez pas un module ou autre chose qui interviendrait sur les caractéristiques ? Link to comment Share on other sites More sharing options...
Sda33 Posted July 20, 2023 Share Posted July 20, 2023 12 hours ago, Eolia said: Vous n'auriez pas un module ou autre chose qui interviendrait sur les caractéristiques ? Non, je n'ai rien greffé, c'est incompréhensible. Le problème c'est de reproduire le bug pour mieux cerner où cela se passe, je vais essayer d'y passer un peu de temps, je vous tiens au courant. Link to comment Share on other sites More sharing options...
Fab20620 Posted July 20, 2023 Share Posted July 20, 2023 15 hours ago, Eolia said: Le nom du tpl concerné est indiqué en haut de ce fichier compilé A priori c'est le blockcart-json.tpl dans votre thème. La ligne correcte est celle-ci normalement: "free_ship": {(!$shipping_cost_float && !count($cart->getDeliveryAddressesWithoutCarriers(true)))|json_encode}, Regardez le tpl du thème par défaut au cas où. Merci Eolia, problème réglé. Je rencontre un souci avec les déclinaisons quand il y en a beaucoup à générer. Le script ne va jamais à terme sans planter (aucune erreur affichée à l'écran) et le timeout n'est pas en cause. Par exemple je dois générer des déclinaisons de couleurs : 3 couleurs avec 19 choix possible pour chacune, cela fait 6859 combinaisons (19^3). Si on indique 10 produits en stock pour chaque déclinaison, ça donne une quantité de 68590. Le script crée d'abord les 6859 combinaisons (cela prend un peu plus de 10 minutes) puis il incrémente les quantités pour chacune des combinaisons créées (cela dure environ 15/20 minutes supplémentaires) puis cela se termine par une page blanche. En local malgré la page "vide" finale, le produit est en stock avec ses quantités et ses déclinaisons mais en live ça ne marche pas, le plantage semble se produire avant la fin de la génération des combinaisons (soit durant les 10 premières minutes). Je profite de ce souci de déclinaisons pour poser la question de la compatibilité de Store Commander avec PhenixSuite, quelqu'un utilise t'il ce module ? Link to comment Share on other sites More sharing options...
bobby4722 Posted July 20, 2023 Share Posted July 20, 2023 2 minutes ago, Fab20620 said: Je profite de ce souci de déclinaisons pour poser la question de la compatibilité de Store Commander avec PhenixSuite, quelqu'un utilise t'il ce module ? Bonjour Fab20620, Oui j'ai ce module mais dans une vieille version qui ne necessitait pas encore d'abonnement etc... J'avais fait des tests brefs sans trop pousser via store commander sur une version hébergée par Eolia et je n'avais rien noté d'anormal mais je n'utilise pas cette fonction. Donc ce message n'aidera sans doute pas vraiment. Bon courage Link to comment Share on other sites More sharing options...
Eolia Posted July 20, 2023 Author Share Posted July 20, 2023 il y a 35 minutes, Fab20620 a dit : Merci Eolia, problème réglé. Je rencontre un souci avec les déclinaisons quand il y en a beaucoup à générer. Le script ne va jamais à terme sans planter (aucune erreur affichée à l'écran) et le timeout n'est pas en cause. Par exemple je dois générer des déclinaisons de couleurs : 3 couleurs avec 19 choix possible pour chacune, cela fait 6859 combinaisons (19^3). Si on indique 10 produits en stock pour chaque déclinaison, ça donne une quantité de 68590. Le script crée d'abord les 6859 combinaisons (cela prend un peu plus de 10 minutes) puis il incrémente les quantités pour chacune des combinaisons créées (cela dure environ 15/20 minutes supplémentaires) puis cela se termine par une page blanche. En local malgré la page "vide" finale, le produit est en stock avec ses quantités et ses déclinaisons mais en live ça ne marche pas, le plantage semble se produire avant la fin de la génération des combinaisons (soit durant les 10 premières minutes). Je profite de ce souci de déclinaisons pour poser la question de la compatibilité de Store Commander avec PhenixSuite, quelqu'un utilise t'il ce module ? Le problème de la génération des déclinaisons est un vaste chantier qui est à l'étude. Le code actuel pète soit en memory_limit soit en timeout vu les ressources que ça demande. Regardez vos paramètres serveur en live. Link to comment Share on other sites More sharing options...
Eolia Posted July 22, 2023 Author Share Posted July 22, 2023 1.6.2.14: 1 Link to comment Share on other sites More sharing options...
Sda33 Posted July 24, 2023 Share Posted July 24, 2023 Bonjour tout le monde, je reviens avec deux questions rapides si ça parle à quelqu'un ? 1. Dans les champs de personnalisation, mettre un < ou un > comme valeur génère une erreur, bloquante (page blanche avec le message d'erreur en rouge). Il me semblait qu'avant on pouvait utiliser ces caractères, le système les encodait avant de les insérer en base. Savez-vous où je peux retrouver ce comportement ? 2. J'ai l'impression que je dois souvent cliquer deux fois sur un lien pour qu'il fonctionne, et surtout : sur le diaporama page d'accueil, et systématiquement sur : le premier des produits associés, sur la page produit. Avez-vous déjà rencontré cela ? Je ne comprends pas d'où ça peut venir, je ne vois rien d'anormal sur la feuille de styles, ni dans la source html, un clic droit + ouvrir le lien fonctionne du premier coup... Si certains d'entre vous ont déjà eu ce problème, et ont trouvé la raison, ça m'intéresse Merci ! Link to comment Share on other sites More sharing options...
Eolia Posted July 24, 2023 Author Share Posted July 24, 2023 La fonction est dans ProductController if (!Validate::isMessage($value)) {... La fonction de Validate.php n'a jamais accepté ces caractères: public static function isMessage($message) { return !preg_match('/[<>{}]/i', $message); } Cela pour éviter le code html ou javascript/json Pour le clic sur les accessoires il semblerait que ce soit le bxslider qui prenne la main au 1er clic, je vais regarder ça. Link to comment Share on other sites More sharing options...
Eolia Posted July 24, 2023 Author Share Posted July 24, 2023 Trouvé! le bug est bien dans le bxslider.js. Partie corrigée: var onTouchStart = function(e) { // Not mobile if (e.type !== 'touchstart') { return; } // watch only for left mouse, touch contact and pen contact // touchstart event object doesn`t have button property if (e.type !== 'touchstart' || e.button !== 0) { return; } // No. See: https://github.com/stevenwanderski/bxslider-4/commit/36dd8ca7614c664d0831936aeb31aa713a13be06 //e.preventDefault(); //disable slider controls while user is interacting with slides to avoid slider freeze that happens on touch devices when a slide swipe happens immediately after interacting with slider controls slider.controls.el.addClass('disabled'); Link to comment Share on other sites More sharing options...
Sda33 Posted July 24, 2023 Share Posted July 24, 2023 (edited) 44 minutes ago, Eolia said: Trouvé! le bug est bien dans le bxslider.js. Merci beaucoup d'avoir trouvé si vite ! Mais je cherche où est bxslider.js, je trouve beaucoup de références à lui mais pas le fichier lui-même 😕 Edited July 24, 2023 by Sda33 (see edit history) Link to comment Share on other sites More sharing options...
Sda33 Posted July 24, 2023 Share Posted July 24, 2023 8 minutes ago, Sda33 said: Mais je cherche où est bxslider.js, je trouve beaucoup de références à lui mais pas le fichier lui-même 😕 Trouvé, et corrigé grâce à vous, merci mille fois c'est parfait !! (pour info \js\jquery\plugins\bxslider) Link to comment Share on other sites More sharing options...
Sda33 Posted July 26, 2023 Share Posted July 26, 2023 (edited) Bonjour, Version 1.6.2.12, avez-vous connaissance d'un problème avec les déclinaisons ? Genre des inversions de stock/d'affichage entre les déclinaisons (+ valables aussi sur les alertes produits retour en stock). Je cherche mais si c'est un bug connu je prends toute solution Merci Edited July 26, 2023 by Sda33 [résolu] (see edit history) Link to comment Share on other sites More sharing options...
Sda33 Posted July 26, 2023 Share Posted July 26, 2023 36 minutes ago, Sda33 said: Genre des inversions de stock/d'affichage entre les déclinaisons (+ valables aussi sur les alertes produits retour en stock). En fait je pense que c'est en BO, fiche produit, onglet Quantités. Mes id déclinaisons n'apparaissent pas par ordre croissant et les libellés ne correspondent pas aux id. Voir image jointes : - dans "déclinaisons" : mon id 76 est "bleu marine" et c'est la déclinaison par défaut - dans "quantités" le 76 arrive après le 77 et les libellés sont inversés, le 76 est associé à la couleur verte alors que c'est la couleur du 77... Du coup forcément on met à jour les mauvaises quantités ce qui provoque le problème. Je regarde de mon côté mais si vous savez corriger plus rapidement... merci. Link to comment Share on other sites More sharing options...
Eolia Posted July 26, 2023 Author Share Posted July 26, 2023 Difficile à dire car je ne reproduis pas. Je viens de créer plein de déclis sur ce produit: https://presta.devcustom.net/admin735kwefqu/index.php?controller=AdminProducts&id_product=17&updateproduct&token=8476d9e89f3acb957a7e42cadd58afaa Avez-vous édité ou supprimé des attributs à la main ? Une requête vient de product_attribute et l'autre de stock_available. Link to comment Share on other sites More sharing options...
Sda33 Posted July 26, 2023 Share Posted July 26, 2023 19 minutes ago, Eolia said: Avez-vous édité ou supprimé des attributs à la main ? Une requête vient de product_attribute et l'autre de stock_available. Non, rien à la main mais je suis sur un vieux produit, peut-être un souci de mise à jour de version...? J'étais sur /themes/default/template/controllers/products/quantities, et il me trouve bien ce qui est affiché, et donc en erreur : Dans la boucle : {foreach from=$attributes item=attribute} Pour :{$attribute['id_product_attribute']} j'ai 76 (qui doit être Bleu marine) Et si j'affiche {$attribute['attribute_designation']} j'ai "vert" qui correspond à l'id 77 Pouvez-vous me dire où est product_attribute ? Merci Link to comment Share on other sites More sharing options...
Sda33 Posted July 26, 2023 Share Posted July 26, 2023 1 hour ago, Eolia said: Je viens de créer plein de déclis sur ce produit: https://presta.devcustom.net/admin735kwefqu/index.php?controller=AdminProducts&id_product=17&updateproduct&token=8476d9e89f3acb957a7e42cadd58afaa sur votre exemple je ne peux pas tester, je ne vois pas les quantités cf capture d'écran jointe Link to comment Share on other sites More sharing options...
Eolia Posted July 26, 2023 Author Share Posted July 26, 2023 @Sda33 Mettez-vous dans le contexte de boutique: "PrestaDev" Link to comment Share on other sites More sharing options...
Eolia Posted July 26, 2023 Author Share Posted July 26, 2023 il y a une heure, Sda33 a dit : Pouvez-vous me dire où est product_attribute ? Merci Table ps_product_attribute dans la base de données et table ps_stock_available pour les quantités Link to comment Share on other sites More sharing options...
Eolia Posted July 26, 2023 Author Share Posted July 26, 2023 le code qui ramène les quantités est dans AdminProductController:: initFormQuantities($obj). public function initFormQuantities($obj) { if(!$this->default_form_language) { $this->getLanguages(); } $data = $this->createTemplate($this->tpl_form); $data->assign('default_form_language', $this->default_form_language); if($obj->id) { if($this->product_exists_in_shop) { // Get all id_product_attribute $attributes = $obj->getAttributesResume($this->context->language->id); if(empty($attributes)) { $attributes = array(); $attributes[] = array( 'id_product_attribute' => 0, 'attribute_designation' => '' ); } // Get available quantities $available_quantity = array(); $product_designation = array(); $parcels = array(); $in_wait = array(); $total_wait = 0; foreach($attributes as $attribute) { // Get available quantity for the current product attribute in the current shop $available_quantity[$attribute['id_product_attribute']] = (isset($attribute['id_product_attribute']) && $attribute['id_product_attribute'] ? (int)$attribute['quantity'] : (int)$obj->quantity ); $total_wait = Db::getInstance()->getValue(' SELECT SUM(od.`product_quantity`) FROM `'._DB_PREFIX_.'order_detail` od INNER JOIN `'._DB_PREFIX_.'orders` o ON(o.id_order = od.id_order AND o.valid = 1) INNER JOIN `'._DB_PREFIX_.'order_state` os ON(os.id_order_state = o.current_state AND os.shipped = 0) WHERE od.`product_id` = '.(int)$obj->id.' AND od.`product_attribute_id` = '.(int)$attribute['id_product_attribute'].' AND od.`id_shop` = '.(int)Context::getContext()->shop->id ); $in_wait[$attribute['id_product_attribute']] ['used'] = $total_wait; $in_wait[$attribute['id_product_attribute']] ['free'] = $available_quantity[$attribute['id_product_attribute']] + $total_wait; // Get parcels if(isset($attribute['id_product_attribute']) && $attribute['id_product_attribute']) { $parcels[$attribute['id_product_attribute']] = $attribute['parcels']; } else { if($db_parcels = Db::getInstance()->getValue(' SELECT parcels FROM '._DB_PREFIX_.'stock_available WHERE id_product = '.(int)$obj->id.' AND id_shop = '.(int)Context::getContext()->shop->id.' AND id_product_attribute = 0 ')) { $existing_parcels = unserialize($db_parcels); if(!is_array($existing_parcels)) { $existing_parcels = array(); } $parcels[$attribute['id_product_attribute']] = $existing_parcels; } } // Get all product designation $product_designation[$attribute['id_product_attribute']] = rtrim( $obj->name[$this->context->language->id].' - '.$attribute['attribute_designation'], ' - ' ); } $show_quantities = true; if(Shop::isFeatureActive()) { $shop_context = Shop::getContext(); $shop_group = new ShopGroup((int)Shop::getContextShopGroupID()); // If we are in all shops context and not all groups share stocks, // it's not possible to manage quantities at this level if($shop_context == Shop::CONTEXT_ALL && !ShopGroup::isAllShared(true)) { $show_quantities = false; } // If we are in group shop context elseif($shop_context == Shop::CONTEXT_GROUP) { // If quantities are not shared between shops of the group, // it's not possible to manage them at group level if(!$shop_group->share_stock) { $show_quantities = false; } } // else we are in shop context elseif($shop_context == Shop::CONTEXT_SHOP) { // If quantities are shared between shops of the group, // it's not possible to manage them for a given shop if($shop_group->share_stock) { $show_quantities = false; } } } $data->assign('ps_stock_management', Configuration::get('PS_STOCK_MANAGEMENT')); $data->assign('has_attribute', $obj->hasAttributes()); // Check if product has combination, to display the available date // only for the product or for each combination if(Combination::isFeatureActive()) { $data->assign('countAttributes', (int)Db::getInstance()->getValue(' SELECT COUNT(id_product) FROM '._DB_PREFIX_.'product_attribute WHERE id_product = '.(int)$obj->id ) ); } else { $data->assign('countAttributes', false); } // If advanced stock management is active, checks associations $advanced_stock_management_warning = false; if(Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT') && $obj->advanced_stock_management ) { $p_attributes = Product::getProductAttributesIds($obj->id); $warehouses = array(); if(!$p_attributes) { $warehouses[] = Warehouse::getProductWarehouseList($obj->id, 0); } foreach($p_attributes as $p_attribute) { $ws = Warehouse::getProductWarehouseList($obj->id, $p_attribute['id_product_attribute']); if($ws) { $warehouses[] = $ws; } } $warehouses = Tools::arrayUnique($warehouses); if(empty($warehouses)) { $advanced_stock_management_warning = true; } } if($advanced_stock_management_warning) { $this->displayWarning($this->l('If you wish to use the advanced stock management, you must:')); $this->displayWarning('- '.$this->l('associate your products with warehouses.')); $this->displayWarning('- '.$this->l('associate your warehouses with carriers.')); $this->displayWarning('- '.$this->l('associate your warehouses with the appropriate shops.')); } $pack_quantity = null; // If product is a pack if(Pack::isPack($obj->id)) { $items = Pack::getItems((int)$obj->id, Configuration::get('PS_LANG_DEFAULT')); // Gets an array of quantities (quantity for the product / quantity in pack) $pack_quantities = array(); foreach($items as $item) { /** @var Product $item */ if(!$item->isAvailableWhenOutOfStock((int)$item->out_of_stock)) { $pack_id_product_attribute = Product::getDefaultAttribute($item->id, 1); $pack_quantities[] = Product::getQuantity( $item->id, $pack_id_product_attribute ) / ($item->pack_quantity !== 0 ? $item->pack_quantity : 1); } } // Gets the minimum if(count($pack_quantities)) { $pack_quantity = $pack_quantities[0]; foreach($pack_quantities as $value) { if($pack_quantity > $value) { $pack_quantity = $value; } } } if(Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT') && !Warehouse::getPackWarehouses((int)$obj->id) ) { $this->displayWarning($this->l('You must have a common warehouse between this pack and its product.')); } } $data->assign(array( 'attributes' => $attributes, 'available_quantity' => $available_quantity, 'in_wait' => $in_wait, 'parcels' => $parcels, 'pack_quantity' => $pack_quantity, 'stock_management_active' => Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT'), 'product_designation' => $product_designation, 'product' => $obj, 'show_quantities' => $show_quantities, 'order_out_of_stock' => Configuration::get('PS_ORDER_OUT_OF_STOCK'), 'pack_stock_type' => Configuration::get('PS_PACK_STOCK_TYPE'), 'increase_quantity_pack' => Configuration::get('PS_INCREASE_QUANTITY_PACK'), 'token_preferences' => Tools::getAdminTokenLite('AdminPPreferences'), 'token' => $this->token, 'languages' => $this->_languages, 'id_lang' => $this->context->language->id )); } else { $this->displayWarning($this->l('You must save the product in this shop before managing quantities.')); } } else { $this->displayWarning($this->l('You must save this product before managing quantities.')); } $this->tpl_form_vars['custom_form'] = $data->fetch(); } Link to comment Share on other sites More sharing options...
Sda33 Posted July 26, 2023 Share Posted July 26, 2023 (edited) 4 hours ago, Eolia said: Table ps_product_attribute dans la base de données et table ps_stock_available pour les quantités dans ps_product_attribute : toutes les quantités pour mon produit sont à 0 (les qtés/attribut ici semblent ne pas servir, si?) dans ps_stock_available : les quantités par id attribute sont correctes + de précisions : Je n'ai pas de problème en BDD je crois (stock_available est OK) Je n'ai pas de problème en Front Office (j'ai les bonnes quantités par déclinaison, et pas de mélange) J'ai uniquement un problème d'affichage en Back Office produit, quantités par déclinaison Ce problème est gênant, parce qu'il induit des erreurs de saisie impactantes Où : mes déclinaisons n'apparaissent pas par id croissant les quantités affichées et modifiées correspondent bien à celles de l'id le texte ne correspond pas à celui de l'id affiché, mais à celui qui aurait dû s'afficher si les id avaient été dans l'ordre le surlignage mettant en évidence la valeur par défaut correspond bien au bon id_attribute Donc sur cette grille product\quantités pour un produit avec déclinaisons : dans une même requête id_attribute + quantité sont corrects, mais pas l'ordre ni le libellé. Ce problème affecte au moins : des produits créés en 1.6.1.24 des produits créés en 1.6.2.9 Merci pour l'identification AdminProductControllers, j'avais justement le nez dedans, j'essaie de comprendre qu'est-ce qui met en vrac la construction du tableau attributes. J'ai l'impression qu'à la création tout est ok, mais quand on modifie les quantités il se passe quelque chose... je vais essayer aussi de reproduire le moment où ça part de travers. Edited July 26, 2023 by Sda33 [résolu] (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted July 26, 2023 Author Share Posted July 26, 2023 (edited) quand vous modifiez une quantité et que vous quittez le champ il y a 2 appels ajax pour rafraichir le tableau. Le 1er qui appelle ajax-tab.php: actionQty: set_qty id_product_attribute: 446 value: 10 ajaxProductQuantity: 1 id_product: 17 token: 8476d9e89f3acb957a7e42cadd58afaa ajax: 1 controller: AdminProducts action: productQuantity Qui ensuite renvoie vers ce second appel: controller: AdminProducts token: 8476d9e89f3acb957a7e42cadd58afaa id_product: 17 action: Quantities updateproduct: ajax:1 rand: 1690367879404 cet appel ajax enregistre la quantité et rafraichit le tpl des quantités. Pas de modules hookés sur updateProduct ? Edited July 26, 2023 by Eolia (see edit history) Link to comment Share on other sites More sharing options...
Sda33 Posted July 26, 2023 Share Posted July 26, 2023 (edited) 3 hours ago, Eolia said: cet appel ajax enregistre la quantité et rafraichit le tpl des quantités. Pas de modules hookés sur updateProduct Merci beaucoup pour ces explications, je vais voir si elles me permettent d'avancer mais : non je n'ai pas de module greffé sur le UpdateProduct, j'ai vérifié le problème est présent sur mes deux sites, un qui a presque 7 ans et l'autre qui n'est même pas encore en production il se produit dès l'affichage de la page, avant de modifier les quantités, et il ne correspond pas à ce qu'il y a en base de données (une partie de la ligne est correcte : id et qté, et pas les autres informations : nom de la déclinaison) Je viens de créer un nouveau produit. Je lui associe une par une 4 valeurs pour la déclinaison couleurs. Je n'ai pas encore mis de quantité, je vais sur "quantités" et bim, c'est dans le désordre, avec les id qui ne correspondent pas aux libellés. C'est vraiment très curieux... Edited July 26, 2023 by Sda33 [résolu] (see edit history) Link to comment Share on other sites More sharing options...
Sda33 Posted July 26, 2023 Share Posted July 26, 2023 (edited) C'est dès cette fonction qu'il y a un problème : $attributes = $obj->getAttributesResume($this->context->language->id); Savez-vous où elle est pour que je continue à remonter... ? (+ d'infos ci-dessous) dans AdminProductsController ici elle me renvoie 123-Couleur - Bleu clair 124-Couleur - Bleu marine 125-Couleur - Fushia 122-Couleur - Jaune au lieu de 122 = Bleu clair 123 = Bleu marine 124 = Fushia 125 = Jaune ici : public function initFormQuantities($obj) { if(!$this->default_form_language) { $this->getLanguages(); } $data = $this->createTemplate($this->tpl_form); $data->assign('default_form_language', $this->default_form_language); if($obj->id) { if($this->product_exists_in_shop) { // Get all id_product_attribute $attributes = $obj->getAttributesResume($this->context->language->id); Edited July 26, 2023 by Sda33 [résolu] (see edit history) Link to comment Share on other sites More sharing options...
Sda33 Posted July 26, 2023 Share Posted July 26, 2023 [RESOLU] J'ai trouvé le problème. Il est dans la classe Product, fonction getAttributesResume. Ce bout de code attribue ligne par ligne le résultat de deux requêtes enregistrées dans des tableaux mais ne jointe pas sur l'id_product_attribute : foreach($lang as $k => $row) { $combinations[$k]['attribute_designation'] = $row['attribute_designation']; } Donc si les deux requêtes ne sortent pas cet ID dans le même ordre, les ID et les libellés sont mélangés. J'ai donc ajouté un ORDER BY id_product_attribute sur chacun des deux SELECT au-dessus. Ici : $combinations = Db::getInstance()->executeS(' SELECT pa.*, product_attribute_shop.* FROM `'._DB_PREFIX_.'product_attribute` pa '.Shop::addSqlAssociation('product_attribute', 'pa').' WHERE pa.`id_product` = '.(int)$this->id.' GROUP BY pa.`id_product_attribute` order by pa.`id_product_attribute` '); et là : $lang = Db::getInstance()->executeS(' SELECT pac.id_product_attribute, GROUP_CONCAT(agl.`name`, \''.pSQL($attribute_value_separator).'\', al.`name` ORDER BY agl.`id_attribute_group` SEPARATOR \''.pSQL($attribute_separator).'\') as attribute_designation FROM `'._DB_PREFIX_.'product_attribute_combination` pac LEFT JOIN `'._DB_PREFIX_.'attribute` a ON(a.`id_attribute` = pac.`id_attribute`) LEFT JOIN `'._DB_PREFIX_.'attribute_group` ag ON(ag.`id_attribute_group` = a.`id_attribute_group`) LEFT JOIN `'._DB_PREFIX_.'attribute_lang` al ON(a.`id_attribute` = al.`id_attribute` AND al.`id_lang` = '.(int)$id_lang.') LEFT JOIN `'._DB_PREFIX_.'attribute_group_lang` agl ON(ag.`id_attribute_group` = agl.`id_attribute_group` AND agl.`id_lang` = '.(int)$id_lang.') WHERE pac.id_product_attribute IN ('.implode(',', $product_attributes).') GROUP BY pac.id_product_attribute ORDER BY pac.id_product_attribute'); Link to comment Share on other sites More sharing options...
Eolia Posted July 26, 2023 Author Share Posted July 26, 2023 Vous êtes sous mysql (si oui quelle version ?) ou mariaDB ? Sous MariaDB c'est implicite suivant le GROUP BY si on ne l'a pas précisé. Je vais l'ajouter pour les personnes dans votre cas. Link to comment Share on other sites More sharing options...
Sda33 Posted July 26, 2023 Share Posted July 26, 2023 7 minutes ago, Eolia said: Vous êtes sous mysql (si oui quelle version ?) ou mariaDB ? Sous MariaDB c'est implicite suivant le GROUP BY si on ne l'a pas précisé. Je vais l'ajouter pour les personnes dans votre cas. Sur MySQL 8.0.33. Link to comment Share on other sites More sharing options...
docmusicstation Posted July 26, 2023 Share Posted July 26, 2023 2 hours ago, Sda33 said: Sur MySQL 8.0.33. J'ai le meme soucis avec Mysql 8 Quand je repasse mon site test en Mysql 5.7 les declinaisons ont les bonnes quantités en BO et FO Link to comment Share on other sites More sharing options...
Eolia Posted July 26, 2023 Author Share Posted July 26, 2023 C'est corrigé pour la prochaine version 1 Link to comment Share on other sites More sharing options...
P i l o u Posted July 27, 2023 Share Posted July 27, 2023 (edited) Bonjour Eolia, Sur un des modules que j'utilise, j'ai un message qui s'affiche en haut de la page de config du module: Compatibilité PHP 7.4 et+ : Ce module contentbox utilise à tort une variable qui n'a pas été déclarée dans sa classe ["monolanguage_content","text_editor_content","content_wrapper","content_wrapper_class","content_wrapper_id","_html","complete_content_files_location","simple_content_files_location","ignore_changes_content_changes"] Y a-t-il quelque chose à faire ou c'est juste un warning ? Lien du module : https://contentbox.org/ Edited July 27, 2023 by P i l o u (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted July 27, 2023 Author Share Posted July 27, 2023 C'est un warning pour vous informer que ce module n'a pas été écrit pour les versions supérieures ou égales à PHP 7.4 En PHP 9 ça deviendra une FATAL ERROR. En gros, le module utilise des variable $this->quelque_chose mais le $quelque_chose n'a pas été déclaré en début de classe. 1 Link to comment Share on other sites More sharing options...
Eolia Posted July 28, 2023 Author Share Posted July 28, 2023 La version 1.6.2.14 est dispo Bonnes vacances ! 2 Link to comment Share on other sites More sharing options...
Khundo2023 Posted July 28, 2023 Share Posted July 28, 2023 Bonsoir Eolia Un grand merci pour la version 14 Pareillemesnt bonnes vacances à vous Link to comment Share on other sites More sharing options...
docmusicstation Posted July 29, 2023 Share Posted July 29, 2023 11 hours ago, Eolia said: La version 1.6.2.14 est dispo Bonnes vacances ! Bonjour Eolia Bonnes vacances a vous aussi ! Je rencontre ce message d'erreur quand je veux modifier la configuration du module paypal avec la version 1.6.2.14 : [PrestaShop] Fatal error in module file :C:\wamp64\www\Backup\tools\smarty\sysplugins\smarty_internal_template.php: Uncaught --> Smarty: Unable to load template 'file:C:\wamp64\www\Backup/modules/paypal/views/templates/installmentBanner/banner.tpl' <-- thrown Link to comment Share on other sites More sharing options...
Eolia Posted July 29, 2023 Author Share Posted July 29, 2023 Problème de droits sur votre ftp ou fichier manquant? réinitialisez le module au cas où. Link to comment Share on other sites More sharing options...
docmusicstation Posted July 29, 2023 Share Posted July 29, 2023 24 minutes ago, Eolia said: Problème de droits sur votre ftp ou fichier manquant? réinitialisez le module au cas où. Merci pour votre reponse tres rapide Le repertoire installementBanner est vide. Cela ne change rien apres reinitialisation Link to comment Share on other sites More sharing options...
Eolia Posted July 29, 2023 Author Share Posted July 29, 2023 rechargez-le: https://devcustom.net/public/scripts/dl.php?f=paypal-12.zip Link to comment Share on other sites More sharing options...
docmusicstation Posted July 29, 2023 Share Posted July 29, 2023 (edited) 40 minutes ago, Eolia said: rechargez-le: https://devcustom.net/public/scripts/dl.php?f=paypal-12.zip Re Les bannnieres s'installent bien en rechargeant le module Reste plus qu'a le configurer ! Paypal n'apparait plus dans les moyens de paiement disponibles ! et pourtant il est bien greffé ! Merci Eolia pour l'aide Edited July 29, 2023 by docmusicstation (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted July 29, 2023 Author Share Posted July 29, 2023 il y a 50 minutes, docmusicstation a dit : Re Les bannnieres s'installent bien en rechargeant le module Reste plus qu'a le configurer ! Paypal n'apparait plus dans les moyens de paiement disponibles ! et pourtant il est bien greffé ! Merci Eolia pour l'aide Verifiez groupes, pays et monnaies dans Modules => Paiement Link to comment Share on other sites More sharing options...
docmusicstation Posted July 29, 2023 Share Posted July 29, 2023 (edited) 22 minutes ago, Eolia said: Verifiez groupes, pays et monnaies dans Modules => Paiement Tout est bon de ce coté la Le module est bien greffé sur DisplayPaiement mais n'y apparait pas Edited July 29, 2023 by docmusicstation (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted July 29, 2023 Author Share Posted July 29, 2023 Ben il n'y a pas 50 solutions. Pour que le module apparaisse il faut qu'il soit: - greffé sur les hooks prévus - activé - complètement configuré - autorisé pour les groupes, pays et monnaies - qu'il n'y ait pas d'autres modules qui le bloqueraient (genre restriction des moyens de paiement ou autre) Link to comment Share on other sites More sharing options...
Khundo2023 Posted July 29, 2023 Share Posted July 29, 2023 (edited) 7 hours ago, docmusicstation said: Bonjour Eolia Bonnes vacances a vous aussi ! Je rencontre ce message d'erreur quand je veux modifier la configuration du module paypal avec la version 1.6.2.14 : [PrestaShop] Fatal error in module file :C:\wamp64\www\Backup\tools\smarty\sysplugins\smarty_internal_template.php: Uncaught --> Smarty: Unable to load template 'file:C:\wamp64\www\Backup/modules/paypal/views/templates/installmentBanner/banner.tpl' <-- thrown Bonjour Docmusicien, Eolia J'ai eu le même erreur lors de la mise à jour de phenixv13 vers v14 En rechargeant le module paypal Eolia a posté pour vous rassurer tout refonctionne parfaitement (testé paiement en temps réel) il n'y a rien à reconfigurer sur paypal si vous l'aviez déjà faites sur l'ancien version phenix, sa position, compte commerçant sont en place etc Bonne journée à vous Et mille merci encore Eolia pour tous ce que vous nous offrez Edited July 29, 2023 by Khundo2023 (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now