ethique Posted March 15, 2011 Share Posted March 15, 2011 Bonjour,Et tout d'abord des millions de bravos au remarquable travail fourni et partagé ici. :-) Je viens un peu confuse :red: soulever un lièvre à propos duquel des dizaines de topics ont déjà été ouverts en plusieurs langues, (et parfois résolus...) sans que cela réponde à ma problématique (basique, pourtant) : comment faire avaler des données saisies en BO dans la table correspondante ?Je connais la syntaxe INSERT INTO etc, et la syntaxe <form action=".... method="post". Sauf que pour les catégories, une bonne dose de smarty et c'est fini !Je voudrais juste dupliquer le champ "description" pour en faire un champ "détails", configurable en BO, et affiché en FO.Des tonnes de tutos que j'ai testés, aucun ne fonctionne en version presta 1.3.1. "Copier-coller", rien n'y fait.J'ai bien un champ "détails" dans ma table category_lang (le clône du champ description).J'ai bien un champ "détails" en FO (toujours le clône de l'autre, avec juste un id différent).J'ai bien un champ "détails" en BO que j'ai modifié ainsi dans AdminCategory.php : <label>'.$this->l('Description:').' '; foreach ($this->_languages as $language) echo ' <textarea cols="100" rows="20" id="description_'.$language['id_lang'].'" name="description_'.$language['id_lang'].'">'.htmlentities(stripslashes($this->getFieldValue($obj, 'description', $language['id_lang'])), ENT_COMPAT, 'UTF-8').'</textarea> '; echo ' '.$this->l('Details:').' '; foreach ($this->_languages as $language) echo ' <textarea cols="100" rows="20" id="details'.$language['id_lang'].'" name="details'.$language['id_lang'].'">'.htmlentities(stripslashes($this->getFieldValue($obj, 'details', $language['id_lang'])), ENT_COMPAT, 'UTF-8').'</textarea> '; echo ' J'ai bien ceci également dans le module de classe à monsite/classes/Category.php /** @var string Description */ public $description; /** @var string Details */ public $details; et, quelques lignes plus bas dans le même module de classe : protected $fieldsValidateLang = array('name' => 'isCatalogName', 'link_rewrite' => 'isLinkRewrite', 'description' => 'isCleanHtml', 'details' => 'isCleanHtml', 'meta_title' => 'isGenericName', 'meta_description' => 'isGenericName', 'meta_keywords' => 'isGenericName'); et un peu plus bas encore : public function getTranslationsFieldsChild() { parent::validateFieldsLang(); $fieldsArray = array('name', 'link_rewrite', 'meta_title', 'meta_keywords', 'meta_description'); $fields = array(); $languages = Language::getLanguages(); $defaultLanguage = Configuration::get('PS_LANG_DEFAULT'); foreach ($languages as $language) { $fields[$language['id_lang']]['id_lang'] = $language['id_lang']; $fields[$language['id_lang']][$this->identifier] = intval($this->id); $fields[$language['id_lang']]['description'] = (isset($this->description[$language['id_lang']])) ? Tools::htmlentitiesDecodeUTF8(pSQL($this->description[$language['id_lang']], true)) : ''; $fields[$language['id_lang']]['details'] = (isset($this->details[$language['id_lang']])) ? Tools::htmlentitiesDecodeUTF8(pSQL($this->details[$language['id_lang']], true)) : ''; Résultat ? Autant le champ description réagit parfaitement, autant le champ détail n'enregistre aucune modification. Le plus beau, c'est que si je le modifie manuellement dans la base, le FO et le BO savent me recracher ce que j'y ai mis !!! :exclaim: > :question: .Qu'est-ce que j'ai oublié ? Mis en trop ? Au mauvais endroit ? A en devenir chèvre.Merci par avance de vos précieuses réponses. 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