Hello!
I was looking for this within the forum but could not find ideal solution for my issue.
I am using following script on pulling out particualr content however, I wanted to show default content when contact is not in my CO
#foreach($content in $nurture_COList)
#set($url = $content.url)
#set($urlLength = $url.length() - 0) ## gets the length of the url
#set($trimUrl = $url.substring(8,$urlLength)) ## takes the sub-string starting after https://
<p>› <strong><a href="https://${trimUrl}">${content.title}</a></strong><br />
</p>
#end
$content is a field that is pushed by the external provider that pushed data into it.
There is also MarketoId field to which I want to refer when it's empty then load default content i.e.
#foreach($content in $nurture_COList)
#set($url = $content.url)
#set($urlLength = $url.length() - 0) ## gets the length of the url
#set($trimUrl = $url.substring(8,$urlLength)) ## takes the sub-string starting after https://
<p>› <strong><a href="https://${trimUrl}">${content.title}</a></strong><br />
</p>
#if $(nurture_COList.get(0).marketoId.isEmpty())
My Static Value
#end
#end
But that does not seem to work.
Anyone is able to help me withi this? Appreciate any insight!
Thanks,
Kacper
Right now, you're checking if the first record in the CO has a certain value.
You want to check if the current record has that value. Otherwise you're checking the same thing on every turn of the loop. Doesn't make sense.
Also, String.substring is overloaded. You can pass only the startIndex. You don't need the endIndex.
#foreach( $content in $nurture_COList )
#set( $url = $content.url )
## takes the sub-string starting after https://
#set( $trimUrl = $url.substring(8) )
<p>› <strong><a href="https://${trimUrl}">${content.title}</a></strong><br /></p>
#if( $content.marketoId.isEmpty() )
My Static Value
#end
#end
Hi Sanford,
What I actually want to check is if contact is on CO to show the content in <p></p> and if not, show static value.
${idio_Nurture_ArticleList.get(0).marketoId}
#foreach($content in $nurture_COList)
#set($url = $content.url)
#set($urlLength = $url.length() - 0) ## gets the length of the url
#set($trimUrl = $url.substring(8,$urlLength)) ## takes the sub-string starting after https://
<p>› <strong><a href="https://${trimUrl}">${content.title}</a></strong><br />
</p>
#if $(nurture_COList.get(0).marketoId.isEmpty())
My Static Value
#end
That's broken code -- and you changed the nesting.
Can you please describe your requirements without using code?
If contact is associated with CO, content is displayed based on line 6,7 from previous post.
I would like to show default content whenever contact is not associated with CO.
Thanks,
Kacper
It's a basic #if/#else. You already have the ingredients.
#if( !$content.marketoId.isEmpty() )
My Dynamic Value
#else
My Static Value
#end
Thanks Sanford!
Ok I did not clarify it all.
In general $content is something that is loaded by external provider into CO when contact is associated. This field is not on list of fields loaded in CO while setting up:
So we are checking whether $content is in CO. So I rather looking for a scriptc that checks if that field is pushed to CO, if not then load static content: i.e. but this doesn't work:
#if(!$content in $nurture_COList)
My Static Value
#end
And for example below works but in both ways (if contact is in CO and is not) My Dnamic Value is loaded, I double checked contact association.
#if(!$nurture_CO.marketoId.isEmpty() )
My Dynamic Value
#else
My Static Value
#end
Are you able to advise?
Thanks,
Kacper
This field is not on list of fields loaded in CO while setting up
Then it will not be present in Velocity. Only fields checked off in the tree are exposed in the Velocity context.