prestashop

Prestashop 1.5.x : Ajouter un css ou un javascript d’un module uniquement sur un controlleur

Dans le cadre du développement d’un nouveau module pour un site tournant sous prestashop 1.5,  celui-ci nécessite l’utilisation de fichiers css et javascripts spécifiques pour son bon fonctionnement.
Cependant ce module étant uniquement utilisé sur la fiche produit, je ne voyais pas l’intérêt de charger inutilement ces fichiers sur l’ensemble des pages du site.

Voici donc une astuce qui vous permettra de charger vos fichiers uniquement dans le controlleur nécessaire :
ProductController est donc à remplacer par le controller dans lequel vous souhaitez insérer vos contenus.

/**
* Hook Header Prestashop
* @param type $params
*/
public function hookHeader($params){
 
//Récupération du contexte
$context = Context::getContext();
 
//On ajoute uniquement nos éléments dans la fiche produit donc le controller "ProductController"
 if ( $context->controller instanceof ProductController ) {
 
 $this->context->controller->addCSS(($this->_path).'module-style.css', 'all');
 $this->context->controller->addJS(($this->_path).

Prestashop 1.5.x : Ajouter un css ou un javascript d’un module uniquement sur un controlleur 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 »