Verifique se você está em autor ou publicar

Problema

Como posso verificar se o código está sendo executado em um autor ou uma instância de publicação?

Solução

A melhor maneira de verificar se seu código está sendo executado no ambiente de criação no CQ é o seguinte.
DeliveryHttpServletRequest cqRequest = (DeliveryHttpServletRequest) request; // sinalize para indicar se o aplicativo é Autor ou Publicação boolean isAdmin = !cqRequest.getCmsService().getDisplayControlSet(cqRequest).equals(DisplayControlSet.SHOW); // sinalize para indicar se o aplicativo está no modo de pré-visualização/visualização boolean isShowMode = (cqRequest.getCmsService().getDisplayControlSet(cqRequest).equals(DisplayControlSet.SHOWMODE) || "ShowMode".equals(cqRequest.getParameter("Show")) );

Esse método é melhor do que verificar o URL, porque esse código não depende de um contexto específico, que pode ser alterado. Além disso, o servidor autor pode ser alternado para um modo de publicação, definindo o parâmetro "Mostrar" como 1 na solicitação. Então, o pedido para /author/somepage.html?Show=1 renderiza como publicação. Portanto, confiar no contexto não é uma solução confiável.

 Adobe

Receba ajuda com mais rapidez e facilidade

Novo usuário?