-
Bug
-
Résolution: Résolu
-
Mineur
-
6.0-rc3
-
Aucune
-
Aucune
Bonjour,
J'ai comme un doute sur la valeur de retour de la fonction FrontUtil.isAccueilSite(). J'ai également ce doute en 5.1.6 car je pense avoir le même problème.
En gros, la fonction isAccueilSite() va regarder récursivement les rubriques mères de la fiche univ et s'arrêter quand la rubrique retournée sera null.
public static boolean isAccueilSite(final FicheUniv ficheUniv) { boolean isAccueil = Boolean.FALSE; try { if (ficheUniv != null && StringUtils.isNotBlank(ficheUniv.getCodeRubrique())) { final String codeRubriquePageCourante = ficheUniv.getCodeRubrique(); final InfosRubriques rubriqueCourante = Rubrique.renvoyerItemRubrique(codeRubriquePageCourante); InfosRubriques rubriqueSite = rubriqueCourante; while (rubriqueSite.getRubriqueMere() != null) { rubriqueSite = rubriqueSite.getRubriqueMere(); } isAccueil = codeRubriquePageCourante.equals(rubriqueSite.getCode()); } } catch (final Exception e) { LOG.error("impossible de savoir si on est sur l'accueil d'un site", e); } return isAccueil; }
Sauf que !
Cette fonction ne me retourne jamais vrai ! et je peux vous le prouver !
Pour cela, il faut aller dans CacheRubriqueManager.getCacheRubriques()
ça commence par :
InfosRubriques infosRubriqueTop = new InfosRubriques(Rubrique.CODE_RUBRIQUE_ROOT);
et un peu en dessous, ça continue avec :
if (rubriqueMere == null || rubriqueMere.getCode().length() == 0) { // La rubrique mère est le sommet de l'arbre rubriqueMere = infosRubriqueTop; }
Et voilà ! lors du chargement de la liste des rubriques, si la rubrique mère est vide (ce qui arrive par exemple pour la rubrique d'accueil), alors la rubrique mère devient la rubrique racine.
Donc, pour qu'une fiche soit une fiche d'accueil du site, il faut qu'elle soit rattachée à la rubrique CODE_RUBRIQUE_ROOT.
Ou alors, il faut impérativement que la rubrique d'accueil du site ait le code = CODE_RUBRIQUE_ROOT
Du coup, je ne vois pas à quoi sert le paramètre
site.[ID].rubrique=[CODE_RUBRIQUE]
ni comment ça se passerait pour du multisite.