Prestashop : Charger un objet via n’importe quel champ
Durant les derniers mois j’ai travaillé de manière régulière avec la solution concurrente « Magento » qui permets le chargement et la récupération d’informations sur les objets de manière très souple via n’importe quel champ.
Cette fonctionnalité n’est malheureusement pas disponible à ce jour avec Prestashop, (version 1.5.4.1 à ce jour ), mais avec le mécanisme des override, il est relativement aisé d’adapter cette logique.
Mon besoin a été motivé par la nécessité d’ajouter de nombreux champs spécifiques sur un site prestashop en cours de développement.
/!\ Cette méthode nécessite au minimum php en version 5.3 pour fonctionner.
Voici les codes à mettre en place dans le fichier override/classes/ObjectModel.php
<?php abstract class ObjectModel extends ObjectModelCore { /** * Rajout de la possibilité de récupérer un objet par n'importe quel champ * (Il est nécessaire de l'instancier avant) * * @param string $field champ de la table * @param string $value valeur du champ de la table * @return int id_object : identifiant de l'objet */ public static function getObjectIdByField($field = '', $value='') { $className = get_called_class(); return Db::getInstance()->getValue("SELECT ". |
Prestashop : Charger un objet via n’importe quel champ Lire la suite »