mathieu2 Posted July 1, 2013 Share Posted July 1, 2013 Bonjour, j'ai un gros souci sur la nouvelle version de Prestashop : lorsque je modifie le champ active d'un produit dans la table ps_product et que je le mets à zéro par exemple, mon produit reste actif sur la boutique... J'ai donc étudié la fonction Update de ObjectModel et j'y ai découvert la fonction $this->clearCache() public function clearCache($all = false) { if ($all) Cache::clean('objectmodel_'.$this->def['classname'].'_*'); elseif ($this->id) Cache::clean('objectmodel_'.$this->def['classname'].'_'.(int)$this->id.'_*'); } Le souci est que je n'ai aucun système de cache activé : define('_PS_CACHING_SYSTEM_', 'CacheMemcache'); define('_PS_CACHE_ENABLED_', '0'); Alors comment faire pour pouvoir modifier les données des tables MySQL de cette nouvelle version de Prestashop et forcer le rafraichissement de ce cache "virtuel" ? Je suis en effet souvent amené à développer des applis externes qui renseignent des données dans les tables de mes clients, sans systématiquement utiliser les models de presta. J'espère que l'équipe Presta pourra me répondre, je ne trouve aucune discussion qui document mieux ce points; si des liens m'ont échappé, je suis preneur... Merci à vous Link to comment Share on other sites More sharing options...
mathieu2 Posted July 1, 2013 Author Share Posted July 1, 2013 Rien à voir avec la classe Cache en fait. Je viens de voir que même la requête de ObjectModel.php qui récupère les données du model retourne des données provenant d'un cache... ? Comment faire pour que les données soient bien retournées en direct de la base de données ? Link to comment Share on other sites More sharing options...
Gregory Roussac Posted July 4, 2013 Share Posted July 4, 2013 Hello, Quelle version ? C'est surement un cache sur l'objet lui même, avec un statique dont vous parlez. Pendant l'execution. Vous cherchez un cache qui n'existe que temporairement. Ce serait pas la table ps_product_shop en 1.5 par hasard plutôt ? Cordialement Link to comment Share on other sites More sharing options...
mathieu2 Posted July 8, 2013 Author Share Posted July 8, 2013 Ah oui effectivement ! Dans ps_product_shop ca fonctionne (je suis sur prestashop 1.5.4.0) Mais alors à quoi sert ps_product ? Quand nous avons besoin de faire des modifs en base de données par lots, sur quelle table devons nous agir ? Link to comment Share on other sites More sharing options...
Gregory Roussac Posted July 11, 2013 Share Posted July 11, 2013 (edited) Mais alors à quoi sert ps_product ? Tous les modules ne connaissent pas ps_product_shop, donc il faut qu'il puisse continuer a fonctionner. La "retro compatibilité" en principe. A priori l'objet gere lui meme l'insertion dans les deux tables par la class Shop.php. Pas besoin de requête en direct normalement. Cordialement Edited July 11, 2013 by Gregory Roussac (see edit history) Link to comment Share on other sites More sharing options...
mathieu2 Posted July 16, 2013 Author Share Posted July 16, 2013 merci de votre réponse. ok mais nous avons besoin parfois de passer en inactif une série de produits. Il est plus rapide de le faire directement dans la table... on n'utilise donc pas l'objet... Comment pouvons-nous faire dans un cas comme celui-ci ? Link to comment Share on other sites More sharing options...
indesign47 Posted July 17, 2013 Share Posted July 17, 2013 (edited) Bonjour Mathieu, En utilisant dans le BO l'import de PS, tu peux rendre actif ou inactif une série de produits contenus dans ton fichier csv. Edited July 17, 2013 by indesign (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