wysiwyg

Prestashop 1.7 : Dynamisez vos contenus wysiwyg

La problématique n’est pas nouvelle sur Prestashop, et c’est un point qui me frustre assez souvent et pour lequel j’avais déjà fait un module en 2014 ( cf. https://www.h-hennes.fr/blog/2014/01/18/prestashop-liens-dynamiques-vers-les-pages-cms-dans-lediteur-tinymce/ )
Ce module n’est malheureusement plus fonctionnel sur Prestashop 1.7.

Dans les éditeurs de contenus, il n’est pas possible  des mettre des liens ou des contenus dynamiques.
La bonne nouvelle cependant c’est que la version 1.7 de Prestashop apporte de nouveaux hooks qui vont permettre de modifier ces contenus avant l’affichage des éléments, et donc sans surcharge  🙂

Les éléments dont les contenus sont modifiables sont les suivants :

  • Pages cms
  • Catégories cms
  • Contenu produit
  • Contenu catégorie
  • Contenu Fabriquants
  • Contenu fournisseurs

Pour l’exemple on va partir sur le besoin suivant :

Je souhaite afficher un élément de configuration  dans l’ensemble des contenus noté ci-dessous.
Ce sera la configuration PS_SHOP_EMAIL , qui correspond à l’émail par défaut de la boutique.

Pour afficher cette variable il faudra intégrer dans les zones de contenus le code suivant :

{{configuration name=PS_SHOP_EMAIL}}

Le but du module sera donc de remplacer cet élément par sa valeur de configuration.…

Prestashop 1.7 : Dynamisez vos contenus wysiwyg Lire la suite »

Prestashop : Ajouter un éditeur wysiwyg sur la description des catégories ( Prestashop 1.5 )

En complément de mon précédent article : Prestashop : Ajouter un éditeur wysiwyg sur la description des catégories qui était uniquement applicable aux versions 1.4.xx , voici comment réaliser cette action sur prestashop 1.5

Pour ceux qui ne souhaitent pas mettre les mains dans le code , vous pouvez télécharger directement le module  qui se charge de tout  : eicategoriesdescription
(Attention ce module réalise un override, si un autre module override la même fonction, des problèmes peuvent apparaitre )

La manipulation est relativement facile à réaliser.

Créer un nouveau fichier AdminCategoriesController.php dans le dossier  « override/controllers/admin/ »

Copier / Coller la fonction « renderForm » dans votre nouveau fichier.

Rechercher le contenu suivant

array(
'type' => 'textarea',
'label' => $this->l('Description:'),
'name' => 'description',
'lang' => true,
'rows' => 10,
'cols' => 100,
'hint' => $this->l('Invalid characters:').' <>;=#{}'             
),

Prestashop : Ajouter un éditeur wysiwyg sur la description des catégories ( Prestashop 1.5 ) Lire la suite »

Prestashop : Ajouter un editeur wysiwyg sur la description des catégories

Voici un code pratique et rapide à mettre en place afin de pouvoir afficher du texte html dans la description des catégories sur la plateforme ecommerce Prestashop ( version 1.4.xx )

Edit : Si vous souhaitez réaliser cette action sur prestashop 1.5 vous pouvez consulter l’article suivant : Ajouter un editeur wysiwyg sur la description des catégories (prestashop 1.5 )

Comme nous allons toucher à des fichiers de l’administration cette modification nécessite de toucher au code du coeur de prestashop.
En effet l’override de cette partie n’est pas encore géré dans cette version.

Pour commencer nous allons afficher l’éditeur TinyMce sur le block description de la catégorie

Dans le fichier /admin/tabs/AdminCategories.php  (ligne 138 sur ma version ) rajouter la classe « class=rte » sur le textearea de la description.

foreach ($this->_languages AS $language)
echo '
<div style="display: '.($language['id_lang'] == $this->_defaultFormLanguage ? 'block' : 'none').'; float: left;">
<textarea class="rte" name="description_'.

Prestashop : Ajouter un editeur wysiwyg sur la description des catégories Lire la suite »

Magento : Utiliser l’éditeur wysiwyg sur un champ d’administration personnalisé

Si lors de la création d’un nouveau module, vous souhaitez utiliser l’éditeur wysiwyg de magento sur un champ personnalisé dans l’administration, voici un code rapide et pratique à mettre en place.

Dans le controller qui éxecute le formulaire d’ajout/édition de votre module rajouter la ligne suivante :

if (Mage::getSingleton('cms/wysiwyg_config')->isEnabled()) {
$this->getLayout()->getBlock('head')->setCanLoadTinyMce(true);
}

Dans la configuration de votre formulaire adaptez le code suivant :

$fieldset->addField('page_content', '<strong>editor</strong>', array(
'label' => Mage::helper('etatpur_cms')->__('content'),
'required' => true,
'name' => 'page_content',
'style' => 'height:36em;',
'wysiwyg' => true,
'config' => Mage::getSingleton('cms/wysiwyg_config')->getConfig(),
));

Et voila vous avez à présent un bel éditeur wysiwyg sur votre champ 🙂

Editeur wysiwyg sur champ personnalisé magento

Attention :
J’ai rencontré des problèmes dans le cas ou le champ sur lequel je souhaitais appliquer l’éditeur était intitulé content , dans ce cas l’éditeur était appliqué sur le mauvais champ, ce qui rendait l’édition impossible.…

Magento : Utiliser l’éditeur wysiwyg sur un champ d’administration personnalisé Lire la suite »