Modifier le fichier

Ajouter un style d'affichage pour les listes de sous-rubriques

Introduction

Cette documentation explique comment ajouter un nouveau style d'affichage pour les listes de sous-rubriques.

Étapes pour ajouter un nouveau style

1. Créer un fichier JSP pour le nouveau style

Créez un nouveau fichier JSP pour l'item de liste.

Exemple pour un style à 3 colonnes, créer le fichier result-3-columns.jsp dans le dossier /src/main/resources/META-INF/resources/WEB-INF/jsp/search/.

2. Ajouter les clés de traduction

Ajoutez les clés de traduction pour le nouveau style dans les fichiers de messages :

  • Dans /src/main/resources/Core_front_fr_FR.properties (ou équivalent surchargé) :
    SECTION.HOMEPAGE.SUBSECTIONS_STYLE.3-COLUMNS=3 colonnes
    

3. Configurer le bean Spring pour le nouveau style

Modifiez le fichier /src/main/resources/core-front-section-home.xml pour ajouter un nouveau bean pour votre style (ou dans le fichier de contexte projet):

<bean id="3ColumnsSectionListItemViewPreparer" class="com.kosmos.section.home.subsections.SectionListItemViewPreparer">
    <property name="type" value="section" />
    <property name="order" value="-10000" />
    <property name="view" value="/WEB-INF/jsp/search/result-3-columns.jsp" />
    <property name="supportedStyle" value="3-COLUMNS"/>
    <property name="supportedStyleLabel" value="SECTION.HOMEPAGE.SUBSECTIONS_STYLE.3-COLUMNS"/>
</bean>

4. Ajouter le nouveau bean à la liste des préparateurs

Dans le même fichier XML, ajoutez une référence à votre nouveau bean dans la liste subsectionItemPreparers (étendez la liste à l'aide d'un ListToAddBean en projet):

<util:list id="subsectionItemPreparers">
    <ref bean="defaultSectionListItemViewPreparer"/>
    <ref bean="2ColumnsSectionListItemViewPreparer"/>
    <ref bean="3ColumnsSectionListItemViewPreparer"/>
</util:list>

Personnalisation avancée

Si vous avez besoin d'une logique spécifique pour votre style, vous pouvez créer une sous-classe de SectionListItemViewPreparer.

Puis référencez cette classe dans votre bean Spring au lieu de la classe générique SectionListItemViewPreparer dans le bean Spring.