Jump to content

[Résolu] [PS 1.7]Prestashop module configuration::get unknown


cryoth

Recommended Posts

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 by cryoth (see edit history)
Link to comment
Share on other sites

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...