JaliosXperience
fr en
Link

Zone de texte riche et extension de categorie

Stéphane Guellec - on 7/22/08 at 11:48 AM

Bonjour, en 5.7.3 j'aimerais ajouter un champ "Description longue" aux catégories. J'ai donc fait une extension car ce n'est pas possible avec les extra datas d'après votre article. Par contre je n'obtiens qu'une zone de texte sur fond beige et je n'ai pas de bouton "Editer". Le mode "inline" n'affiche pas mieux les barres d'outil.
Voilà le code de mon extension que j'ai recopié d'un type bidon :

<?xml version="1.0" encoding="UTF-8"?>
<extension type="com.jalios.jcms.Category" name="CategoryExtension" version="4.0">
<fields>
    <field name="descriptionLongue" editor="wysiwyg" required="false" compactDisplay="false" type="String" searchable="true" rows="16" cols="100" ml="false" toolbars="basic,format,style,font" checkHtml="true" inline="false" descriptionType="tooltip" html="false">
      <label xml:lang="fr">Description longue</label>
    </field>
</fields>
</extension>

Jean-Emmanuel Roux - on 7/22/08 at 5:33 PM

Bonjour,

Effectivement, de base l'éditeur de catégories (editCat.jsp) ne charge pas l'éditeur texte riche (Wysiwyg).

Pour ce faire vous devez développez un WysiwygPolicyFilter pour demander son chargement comme indiqué dans le code ci-dessous.

public class MyWysiwygPolicyFilter extends BasicWysiwygPolicyFilter implements PluginComponent{
 
    ...

    public boolean loadWysiwygEditor(final JcmsJspContext context, final boolean load){

        HttpServletRequest request = context.getRequest();
        if (request == null) {
            return load;
        }

        String resourcePath = ServletUtil.getResourcePath(request);
        if (resourcePath.startsWith("editCat.jsp")) {
             return true;
        }
      
       return load;

    }

   ...

} 

N'oubliez pas de déclarer ce composant dans le fichier plugin.xml de votre module

<plugincomponents>
  ...
  <policyfilter class="mon.package.de.plugin.MyWysiwygPolicyFilter" />
  ...
</plugincomponents>

Redémarrez JCMS. Votre extension de catégories devrait supporter dorénavant l'éditeur texte riche.

Stéphane Guellec - on 7/29/08 at 5:12 PM

Ok. Pour info, ça marche en faisant le test

if (resourcePath.indexOf("editCat.jsp")>-1){ 
Par contre ça fonctionne uniquement en mode "inline". En mode popup, les boutons "Valider et fermer" et "Annuler" de la popup sont inopérants, mais ce n'est pas gênant. Merci.

Stéphane Guellec - on 7/30/08 at 10:58 AM

Question subsidiaire : où dans le fichier plugin.xml dois-je déclarer le type CategoryExtension.xml que j'ai modifié ? Etant donné que ce n'est pas un nouveau type, mais une modification je ne sais pas trop ou mettre ça.

Olivier Jaquemet - on 7/30/08 at 11:06 AM

Les data extensions sont antérieures à l'apparition des modules et ne sont pas prévues pour être utilisés depuis un plugin.

En effet il ne peut y avoir qu'une seule data extension par type. C'est donc incompatible avec l'aspect modulaire des plugins.

L'équivalent d'une data extensions avec l'apparition des modules serait l'extradata.

Stéphane Guellec - on 7/30/08 at 11:08 AM

Exact, il doit y avoir un post là-dessus mais je crois que les extra datas ne répondent pas à ma problématique de texte riche il me semble. Tant pis.

Login   Home   fr en
JALIOS SA - SIREN 440 126 035