Test interaction style of current node
How do I test, via freemarker, what the interactions style of the page I'm on is?
I need to run some code when I'm at this URL:
https://community.stage.fitbit.com/t5/Help-Forums/ct-p/product/interaction-style/idea
But I don't want the code to run when I'm at this URL:
https://community.stage.fitbit.com/t5/community/mobilecommunitypage/interaction-style/forum
I have the current node id: <#assign currentNodeId = coreNode.id />
Can I make a rest call and get the interaction style and use it in a conditional? I'd love something like:
If node.interactionStyle == idea {
//do this stuff
}
Thanks, Adam! I tried the get parameter method but I think that will only return ?parameters=likeThese. Parsing the URL itself worked, here's the solution:
<#assign currentUrl = http.request.url />
<#if currentUrl?contains("idea")>
<#--We know it's an ideas board-->
</#if>This also helped solve the issue where the current node.Id returns "discussions" when you're looking at a list of ideas boards and when you're looking at a list of forums boards (i thought IDs were unique?). Now we can filter by whether the URL contains "interaction-style/idea":
<#assign currentUrl = http.request.url />
<#if coreNode.id=="feedback">
${http.response.setRedirectUrl("t5/Help-Forums/ct-p/product/interaction-style/idea")}
<#elseif coreNode.id== "discussions" && currentUrl?contains("interaction-style/idea")>
${http.response.setRedirectUrl("t5/Help-Forums/ct-p/product/interaction-style/idea")}
</#if>For anyone coming across this post, just a reminder that all this code needs to be run in the Page Initialization tab. To get access to the Page Initialization tab you must contact Lithium Support.