For a while now we have been having issues with our News Releases. We
use keywords to display them in some areas and connect them directly
to others. We didn't want to have the news pages pulled in by keyword
to create a new page so we tried using the trick in this blog post:
http://www.reddotcmsblog.com/duplicate-content-publishing-seo-and-open-text-web-solutions
That created the problem of the news releases that were directly
connected to that list to not publish when using "Publish all
following." So I came up with the following solution. In SmartEdit it
will get all the keywords assigned the list and assign it to a
standard field. Then in preexecuting blocks it will check each news
release to see if it has a the same keywords, if it does then it
assumes it is connected by keyword, otherwise it is assumed to be
directly connected. It may not be perfect but it does the job.
I am using two function getLinkGUID and getElementGUID that I have in
another file, if you need these let me know. I am sharing this because
I hope it might help some people out there.
<!IoRangeRedDotMode>
<%
Dim keywordsList
Dim pulledKeywords
linkGUID = getLinkGUID("<%inf_PageGUID%>", "lst_news")
xmlData = "<IODATA loginguid=""<%info_LoginGUID%>"" sessionkey=""<
%info_SessionKey%>""><PROJECT sessioney=""<%info_SessionKey%>""><LINK
guid=""" & linkGUID & """><KEYWORDS action=""load""/></LINK></
PROJECT></IODATA>"
xmlData = objIO.ServerExecuteXml (xmlData, sError)
objXMLDOM.LoadXML(xmlData)
set keywordsList = objXMLDOM.getElementsByTagName("KEYWORD")
For i = 0 to (keywordsList.Length-1)
If pulledKeywords <> "" Then
pulledKeywords = pulledKeywords & ","
End If
pulledKeywords = pulledKeywords &
keywordsList.Item(i).getAttribute("value")
Next
xmlData = "<IODATA loginguid=""<%info_LoginGUID%>"" sessionkey=""<
%info_SessionKey%>""><ELEMENTS action=""save""><ELT guid=""" &
getElementGUID("<%inf_PageGUID%>", "stf_keywords") & """ value=""" &
pulledKeywords & """></ELT></ELEMENTS></IODATA>"
xmlData = objIO.ServerExecuteXml (xmlData, sError)
%>
<!/IoRangeRedDotMode>
<!IoRangePreExecute>
<ul>
<!IoRangeList>
<%
Dim pulled
' Determine if the page was pulled in by keyword or not
pulled = 0
pulledKeywords = Split("<%stf_keywords%>", ",")
For Each pkeyword in pulledKeywords
If (pkeyword <> "") Then
newsKeywords = Split("<%info_keywords%>", ",")
found = 0
For Each keyword in newsKeywords
If pkeyword = keyword Then
found = 1
End If
Next
If found = 0 Then
pulled = 0
Exit For
End If
pulled = 1
End If
Next
' If it was pulled in by keyword then use the referenced like,
otherwise use the connected link
If pulled=1 Then %>
<li><a href="<%=Replace("<%lst_news%>","islink=2","islink=10")%>"><
%hdl_title%></a></li>
<% Else %>
<li><a href="<%lst_news%>"><%hdl_title%></a></li>
<% End If %>
<!/IoRangeList>
</ul>
<!/IoRangePreExecute>
--
You received this message because you are subscribed to the Google Groups
"RedDot CMS Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/reddot-cms-users?hl=en.