Vérifiez si vous êtes auteur ou en publication

Problème

Comment vérifier si le code s’exécute sur une instance d’auteur ou de publication ?

Solution

La meilleure façon de vérifier si votre code s’exécute dans l’environnement de création de CQ est la suivante :
DeliveryHttpServletRequest cqRequest = (DeliveryHttpServletRequest) request; // flag to indicate whether application is Author or Publish boolean isAdmin = !cqRequest.getCmsService().getDisplayControlSet(cqRequest).equals(DisplayControlSet.SHOW); // flag to indicate whether application is in preview/show mode boolean isShowMode = (cqRequest.getCmsService().getDisplayControlSet(cqRequest).equals(DisplayControlSet.SHOWMODE) || "ShowMode".equals(cqRequest.getParameter("Show")) );

Cette méthode est plus efficace que la vérification de l’URL, car ce code n’a aucune incidence sur un contexte spécifique, qui peut changer. En outre, le serveur de l’auteur peut être basculé vers le mode d’édition en définissant les paramètres d’affichage sur 1 dans la requête. Par conséquent, la requête vers /author/somepage.html?Show=1 s’affiche comme publication. Par conséquent, le contexte n’est pas une solution fiable.

 Adobe

Recevez de l’aide plus rapidement et plus facilement

Nouvel utilisateur ?

Adobe MAX 2024

Adobe MAX
La conférence sur la créativité

Du 14 au 16 octobre à Miami Beach et en ligne

Adobe MAX

La conférence sur la créativité

Du 14 au 16 octobre à Miami Beach et en ligne

Adobe MAX 2024

Adobe MAX
La conférence sur la créativité

Du 14 au 16 octobre à Miami Beach et en ligne

Adobe MAX

La conférence sur la créativité

Du 14 au 16 octobre à Miami Beach et en ligne