Hi there,
I just set up a page load rule. The only condition for this rule is that it is not triggered if a certain parameter exists. Unfortunately AEM only offers me the possibility to trigger the rule if a parameter is pressent. Can you tell me if it is also possible to prevent a rule from being triggered if a parameter exists?
Thank you
Solved! Go to Solution.
If you can test for the parameter using javascript then you can accomplish this using a custom condition on the rule.
If a custom condition does not return true, then the condition is not met and the rule will not fire.
As an example, you could use this javascript in a DTM custom condition:
var paramExists = true; //replace this with code to determine existence of the param
if (paramExists) {
return false;
} else {
return true;
}
If you can test for the parameter using javascript then you can accomplish this using a custom condition on the rule.
If a custom condition does not return true, then the condition is not met and the rule will not fire.
As an example, you could use this javascript in a DTM custom condition:
var paramExists = true; //replace this with code to determine existence of the param
if (paramExists) {
return false;
} else {
return true;
}
Great, thanks stewarts16448458
Unfortunately I am afraid I am not exactly sure what i have to insert for "//replace this with code to determine existence of the param". Could you give me an example. Let's say my url is xyz.com?parameter1=a¶meter2=b and I want do not want the rule to be triggered if parameter2 exists.
Thank you very much.
Florian
Views
Replies
Total Likes
I think I'd do it this way -
Create a DTM data element for parameter2 call it qsParam2.
Then the code becomes :
if (_satellite.getVar('qsParam2') != "") {
return false;
} else {
return true;
}
Stewart,
Wouldn't it be opposite? Florian is wanting to not trigger the rule if parameter2 exists. I believe your code reads
If parameter2 does not equal null (IE if parameters contains a value), return false and thus do not fire the rule
Wouldn't you want to remove the ! from your code so that it read
if parameter 2 equals null, return false and thus do not fire the rule
Thanks,
Jantzen
Jantzen,
I think we're saying the same thing.
Florian,
Let us know if you are all set. I guess, If I got it wrong, swap the return statements in the custom condition.
-Stew
Hi Stewart, hi Jantzen,
thank you for your feedback and your discussion. Sorry for my late response, it took me a while to put everything in place. Actually the solution Stewart suggested worked perfectly well. I used the above mentioned code to prevent the rule from being fired if a certain parameter existed.
Thanks again guys. This helped a lot.
Views
Likes
Replies
Views
Likes
Replies