Jump to content

multi-langues input table configuration


Xavierleo

Recommended Posts

Bonjour , 
je suis sur prestahoop 1.7.5.2 j'ai fait un simple module ; au niveau de sa configuration j'ai deux inputs multi langues qui doivent  être enrigistrés au niveau la table ps_configuration.

au niveau la fonction getConfigFormValues j'ai modifié comme cela :
 

  protected function getConfigFormValues()
    {
        return array(
        'EG_CUSTOMWIDGET_BUTTON_TEXT' => Configuration::get('EG_CUSTOMWIDGET_BUTTON_TEXT',$this->context->language->id),
        'EG_CUSTOMWIDGET_TEXT_CONTENT' => Configuration::get('EG_CUSTOMWIDGET_TEXT_CONTENT',$this->context->language->id), 
        );
    }

j'ai laissé la fonction postProcess tel qu'elle est :
 

    protected function postProcess()
    {
        $form_values = $this->getConfigFormValues();

        foreach (array_keys($form_values) as $key) {
            Configuration::updateValue($key, Tools::getValue($key));
        }
    }


une idée svp pour que l'enregistrement en multi-langues fonctionne?

merci 

Link to comment
Share on other sites

Hello:

Check this example:

        $languages = Language::getLanguages(false);
        $lang_text = array();

        foreach ($languages as $lang) {
            switch ($lang['iso_code']) {
                case 'es':
                    $lang_text[$lang['id_lang']] = '¿Desea recibir notificaciones con información importante para usted?';

                    break;
                case 'fr':
                    $lang_text[$lang['id_lang']] = 'Voulez-vous recevoir des notifications avec des informations importantes pour vous?';

                    break;
                default:
                    $lang_text[$lang['id_lang']] = 'Do you want to receive notifications with important information for you?';

                    break;
            }
        }

        Configuration::updateValue('REQUEST_MSG', $lang_text);

Regards

Link to comment
Share on other sites

Bonjour     @Rolige
j'ai modifié la fonction postProcess comme ceci :
 

    protected function postProcess()
    { 
        $form_values = $this->getConfigFormValues();
        $languages = Language::getLanguages(false);
        $fields = array();
        foreach (array_keys($form_values) as $key) {
            foreach ($languages as $lang) {
                $fields[$lang['id_lang']] ='test'  ;
            } 
           Configuration::updateValue($key, $fields);

        }
    }

pour la  valeur constante "test" s'enregistre dans la table ps_configuration en 8 fois ( j'ai 2 langues , "fr" et "en" , j'ai en totalité 4 champs de configuration , 2 en multi -langues , les 2 autres non )

 

Edited by Xavierleo (see edit history)
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...