cryoth Posted July 29, 2019 Share Posted July 29, 2019 (edited) Bonjour la commu ! Je suis entrain de développer un module pour PS 1.7 mais en voulant récupérer une variable de configuration via la méthode Configuraton::get() prestashop me renvoi l'erreur suivante : Attempted to call an undefined method named "get" of class "PrestaShop\TranslationToolsBundle\Configuration". Did you mean to call e.g. "getCacheDir", "getExcludeFiles", "getPaths", "getProjectDirectory" or "getRelativePath"? On dirait qu'il ne reconnais pas la fonction "get" mais je ne sais pas pourquoi. Voici le code de mon module, l'erreur se produit dans l'appel de getContent() : <?php use PrestaShop\TranslationToolsBundle\Configuration; // Verifie l'existance de Prestashop if (!defined('_PS_VERSION_')) exit; class PageSolde extends Module{ public function __construct() { $this->name = "pagesolde"; $this->author = "cryoth"; $this->version = "1.0.0"; $this->need_instance = 0; $this->bootstrap = true; $this->ps_versions_compliancy = array('min' => '1.7.5.1', 'max' => '1.7.99.99'); parent::__construct(); // '$this->l()' est une fonction qui permet la traduction des textes affichés $this->displayName = $this->l("Page Soldes"); $this->description = $this->l("Module affichant la liste des produits en solde en se basant sur la boutique dans laquelle se situe le client."); } // Actions à effectuer à l'installation du module (creation table, ect ...) public function install(){ return parent::install(); } // Actions à effectuer à la suppression du module (supression tables, ect ...) public function uninstall() { return parent::uninstall(); } // Hook spécifique appelé début de chargement et permettant le chargement des fichiers statics du module public function hookHeader(){ $this->context->controller->addCSS(array( $this->_path.'views/css/default.css' )); $this->context->controller->addJS(array( $this->_path.'views/js/default.js' )); $this->context->controller->addJquery(); } public function hookActionProductUpdate($params){ $product = $params['product']; if(Configuration::get('CATEG_TO_SYNC')){ if(SpecificPrice::getByProductId($product->id)){ }else{ } } } // Interface d'administration du module public function getContent(){ if(Tools::isSubmit('submitFormCategSolde')){ $categ_id = Tools::getValue('category_solde_id'); Configuration::updateValue('CATEG_TO_SYNC', $categ_id); } $this->context->smarty->assign(array( 'CATEG_TO_SYNC' => Configuration::get('CATEG_TO_SYNC') )); return $this->display(__FILE__, 'views/templates/admin/configuration.tpl'); } } Edited July 24, 2020 by cryoth (see edit history) Link to comment Share on other sites More sharing options...
cryoth Posted July 30, 2019 Author Share Posted July 30, 2019 Petit up je n'ai toujours pas pu résoudre le soucis. Ma grande interrogation reste pourquoi la fonction get n'est pas reconnu alors que les methodes tel que UpdateValue fonctionnent bien. Link to comment Share on other sites More sharing options...
cryoth Posted July 30, 2019 Author Share Posted July 30, 2019 En creusant un peu je me suis rendu compte que prestashop contient plus de 5 classes Configuration différente, mon EDI a apparement chargé la mauvaise classe ce qui explique pourquoi les classes n'étaient pas reconnus, logique me dirais vous ... Pour les futurs personnes dans mon cas, la bonne classe de configuration permettant de gérer vos données à l'intérieur de votre module est : use PrestaShop\PrestaShop\Adapter\Entity\Configuration; Bonne journée à tous ! 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