Hi,
I tried to use WCMMODE tag in AEM 6.2 and it is not working as expected. we are upgrading from CQ 5.6.1 to AEM 6.2. wcmmode tags are working as expected in cq5.6.1. but here in aem 6.2 it is not working.
<%@ taglib prefix="wcmmode" uri="http://www.adobe.com/consulting/acs-aem-commons/wcmmode" %>
<wcmmode:edit>
This will be output in EDIT mode.
</wcmmode:edit>
Some suggested me to use HTL, Is there anything other than this solution? because at this point of time it was a much more effort for dev and test and also. So I am looking for an alternate approach that anyone can suggest.
Thanks.
Solved! Go to Solution.
JAVA:-
/** @return true if we are in edit mode, otherwise false */
public final boolean isEditMode() {
return WCMMode.fromRequest(getRequest()) == WCMMode.EDIT;
}
JS:-
function CustomWCMMode() {
this.isPublish = function() {
return (!ContextHub.Utils.Cookie.exists('wcmmode'));
}
this.isEditMode = function() {
return (ContextHub.Utils.Cookie.getItem('wcmmode') === 'edit');
}
this.isPreviewMode = function() {
return (ContextHub.Utils.Cookie.getItem('wcmmode') === 'preview');
}
this.isDesignMode = function() {
return (ContextHub.Utils.Cookie.getItem('wcmmode') === 'design');
}
};
var customWcmMode = new CustomWCMMode();
HTL:-
Edit : ${wcmmode.edit}
This will help you.
~kautuk
Views
Replies
Total Likes
In AEM 6.2 - HTL is the best practice - JSP and tag libs are not best practice anymore.
Views
Replies
Total Likes
Thanks for the response smacdonald2008. But unfortunately at this point of time I can't change the whole code. So I am asking if there is any other way to get this issue resolved, this tags are causing major impact in authoring.
So, I am looking for an alternate approach available if any.
Views
Replies
Total Likes
Hi Mahesh,
Instead of acs commons taglibs, use directly this API in your JSP and get the runmode
something like this
<%
boolean isEdit = WCMMode.fromRequest(request) == WCMMode.EDIT;
boolean isDesign = WCMMode.fromRequest(request) == WCMMode.DESIGN;
%><c:set var="isEdit" value="<%= isEdit %>" /><c:set var="isDesign" value="<%= isDesign %>" />
Views
Replies
Total Likes
In HTL you can do the following:
<sly data-sly-test="${wcmmode.edit}">
This will be output in EDIT mode.
</sly>
No need for taglibs etc anymore.
JAVA:-
/** @return true if we are in edit mode, otherwise false */
public final boolean isEditMode() {
return WCMMode.fromRequest(getRequest()) == WCMMode.EDIT;
}
JS:-
function CustomWCMMode() {
this.isPublish = function() {
return (!ContextHub.Utils.Cookie.exists('wcmmode'));
}
this.isEditMode = function() {
return (ContextHub.Utils.Cookie.getItem('wcmmode') === 'edit');
}
this.isPreviewMode = function() {
return (ContextHub.Utils.Cookie.getItem('wcmmode') === 'preview');
}
this.isDesignMode = function() {
return (ContextHub.Utils.Cookie.getItem('wcmmode') === 'design');
}
};
var customWcmMode = new CustomWCMMode();
HTL:-
Edit : ${wcmmode.edit}
This will help you.
~kautuk
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies