La gestion des liens entre les différentes pages cms est relativement peu aisée avec PrestaShop, il est nécessaire de saisir le lien complet à chaque fois.
Cette problématique est d’autant plus importante lorsqu’on est amené à travailler avec plusieurs urls ( serveur local, serveur de préproduction, serveur de production)

En partant de ce constat j’ai décidé de créer un nouveau module qui permettra de rendre ces liens “dynamiques”  (c’est à dire indépendant de l’url de base du site)

Ce module fonctionne uniquement à partir de Prestashop 1.5.
Son fonctionnement est inspiré du fonctionnement des liens cms sous magento ( et oui encore 😉 ).

Pour l’instant les liens dynamiques sont disponibles sur les éléments suivants :

  • Pages Cms
  • Catégories de produits (champ description )
  • Produits ( champs description et description_short)

Aperçu du fonctionnement sur la dernière version de Prestashop

 

Attention, afin de permettre au module de fonctionner, il est nécessaire de le configurer et de lui donner le chemin de l’administration.
Configuration eicmslinks

Lors de l’installation du module, un nouvel icône apparait dans la barre d’outil de l’éditeur de texte :

Liens dynamiques Prestashop

 

Lorsque vous cliquez sur cet icône, une popup s’ouvre :

La dernière version du module permets de mettre en place des liens dynamiques vers :

  • Les pages cms
  • Les catégories produits
  • Les produits (lien vers la fiche produit, ou pour ajouter le produit au panier )

Par défaut ce sont les pages cms qui sont affichées :

EIcms links pages cms

 

Si vous souhaitez insérer un lien vers une catégorie, l’arbre des catégories Prestashop est affiché.
Cocher la catégorie pour laquelle vous souhaitez ajouter une lien

Ei cms links Categories

 

Si vous souhaitez ajouter un lien vers un produit, il vous est possible de rechercher celui-ci via son identifiant , sa référence ou son nom
Cliquer sur la ligne du produit pour lequel vous souhaitez ajouter le lien.

Ei cms links product

Pour télécharger le module cliquer ici : EicmsLinks

Si vous souhaitez optimiser le code, ou ajouter de nouvelles fonctionnalités, n’hésitez pas participer sur github : https://github.com/nenes25/prestashop_eicmslinks

La version actuelle est la : 0.8.0

Changelog :


/**
 * Module Cms Link
 * Mise en place de liens dynamiques vers les pages cms
 * © h-hennes 2013-2015 
 * http://www.h-hennes.fr/blog/
 */
 
 2014-01-18 V 0.1.0 : Mise à disposition publique de la version initiale du module 
 2015-03-20 V 0.2.0 : - Compatibilité Prestashop 1.6
                      - Optimisation du code ( gestion des traductions )
2015-04-04 V 0.3.0 : - Compatibilité avec prestashop 1.5 et 1.6 via une surcharge alternative 
2015-05-01 V 0.4.0 : - Gestion de liens dynamiques pour les catégories de produits
2015-05-04 V 0.5.0 : - Gestion des liens dynamiques pour les produits
2015-08-10 V 0.6.0 : - Gestion des liens dynamiques dans l'éditeur tinyMce de la description des catégories + affichage Front
2015-08-10 V 0.7.0 : - Gestion des liens dynamiques dans l'éditeur tinyMce de la description et description courte des produits + affichage Front
2015-08-21 V 0.7.1 : - Correctif affichage du tree des catégories à partir de prestashop 1.6.1.1 
2015-11-02 V 0.8.0 : - Ajout de liens dynamiques d'ajout au panier des produits
2016-02-17 V 0.8.1 : - Correction de la desinstallation
2016-07-20 V 0.9.0 : - Nouvelle fonctionnalité : gestion de widgets (çad traitement de templates ) dans les contenus de la page cms
                     - Widget implémenté :
                        - LoginWidget : Permets de mettre un bloc de login dans une page cms
                        - ProductWidget : Permets d'afficher les produits des nouveautés, promotions ou d'une catégorie dans les contenus
2016-07-27 V 1.0.0 : - Gestion des textes de lien 
                     - Correctifs ergonomique et fonctionnel
                     - Compatible avec vos modules perso
                     - Optimisation du code
2017-04-19 V 1.0.1 : - Correction bug fonctionnel ( lien interne sur des id de page > 9 ne fonctionnait pas)
				     - Correction lien interne au site