Et PhenixSuite en propose la version corrigée :)
-
RE: Solutions de paiement...
-
RE: Petit code pour les descriptions de produits
Idée intéressante pour qui ne veut pas utiliser l'éditeur WYSYWIG TinyMCE mais je pense que ça fonctionne surtout si vous avec toujours le même type de produit.
Pour les exports, il vous suffit d'effectuer un strip_tags(champ_texte) et vous n'aurez plus de balises (c'est ce que font les modules d'export vers les marketplaces par exemple) -
RE: Problèmes de prix avec plusieurs devises et PayPal
La table ps_product est historique et ne sert que pour les valeurs communes (poids, tailles, références, etc...) toutes les autres valeurs sont gérées par ps_product_shop (et ou ps_product_attribute_shop).
A ma connaissance il n'y a rien dans le cœur de Prestashop/Phenix qui modifie des prix tout seul.
Vous voyez quelque chose dans les logs de PhenixSuite pour cet ID produit ? -
RE: Solutions de paiement...
Il y a Stripe qui accepte tous les moyens de paiements.
-
RE: Feuilles de styles non chargées si smart cache activé [RÉSOLU]
Je viens de tester sur 3 boutiques en v31, les fichiers sont bien chargés.
Tu dois avoir une coquille dans un des tes css qui fait crasher la compil. -
RE: PayPal Module Error
No you are not stupid and this bug has been there for 2 years :)
v16 will be corrected (The Attribute class no longer exists because it is a reserved word since PHP8 and this line had escaped me)Thanks for your feedback
-
RE: Transient Bug after 1.6.2.31 Upgrade
Yes if you have the debug mode activated.
Replace the /classes/Configuration.php by the joined file.
Configuration.php -
RE: [REGLÉ] override - je n'y arrive pas.
1 - Bruno s'en tamponne le coquillard depuis qu'il a vendu Presta aux italiens
2 - Webaxx est le champion de la bidouilleUn des buts de Phenix est de pouvoir se passer de tous ses modules qui s'empilent mais on ne pourra jamais prévoir tous les cas de figure.
Ajouter une colonne en bdd c'est un override de 4 lignes dans la classe liée
<?php class Product extends ProductCore { public $my_new_column; public function __construct($id_product = null, $full = false, $id_lang = null, $id_shop = null, Context $context = null) { self::$definition['fields']['my_new_column'] = array('type' => self::TYPE_INT, 'shop' => true, 'validate' => 'isUnsignedId'); parent::__construct($id_product, $full, $id_lang, $id_shop, $context); } }
Après vous pouvez écrire un module qui s'occupe de gérer vos overrides et listes (il y a des hooks pour ça: actionAdminOrdersListingFieldsModifier par exemple.
public function hookActionAdminOrdersListingFieldsModifier(array $params) { // If hook is called in AdminController::processFilter() we have to check existence if (isset($this->params['select'])) { $this->params['select'] .= ', a.`my_new_column`'; } if (!array_key_exists('my_new_column', $this->params['fields'])) { $tmp_params = $this->params['fields']; $this->params['fields'] = []; $prev_key = ''; foreach ($tmp_params as $key => $tmp_param) { if ($prev_key === "reference") { $this->params['fields']['my_new_column'] = [ 'title' => $this->module->l('Nom de ma Colonne'), 'align' => 'text-center', 'class' => 'fixed-width-xs', 'filter_key' => 'a!my_new_column', 'order_key' => 'a!my_new_column', ]; } $this->params['fields'] += [ $key => $tmp_param ]; $prev_key = $key; } } }
-
RE: [REGLÉ] override - je n'y arrive pas.
Oui, dans un Prestashop de base, c'est cache/class_index.php mais PhenixSuite a amélioré la gestion du cache des classes et pour ne pas interférer avec des rétrocompats possible nous avons tout déplacé dans /cache/classes/
Le fichier index des classes et overrides s'appelle donc index.php.Vous pouvez également utiliser la fonction, en haut à droite, dans Paramètres avancés => Performances : Vider le cache. Le fichier index.php sera supprimé ainsi que toutes les compilations smarty.
@herve_02 a dit dans [REGLÉ] override - je n'y arrive pas. :
-b) la possibilité qui me semble la plus prestashopienne : faire des ovverrides pour modifier juste ce que j'ai changé/modifier comme dans le code proposé au dessus.
Oui, c'est la bonne méthode.