Andry

The output from the script is pure HTML, since the code snippet I
provided needs to be preexecuted by the OpenText (RedDot) CMS within
the template... which obviously needs Classic ASP and/or Asp.Net to
run dependant on CMS version.  You can probably use ColdFusion code to
do the work, since you can tell the CMS to run any code language
within the templates, but generally the CMS box already runs Asp so we
use both Asp and Asp .Net.

Jian's jQuery solution does work, however you don't get the A-Z
functionality without JS enabled.  Generally, I think that's a bad
thing for universal readability and certain types of websites have to
meet certain levels of functional compliance without JS enabled.

Stu

On Nov 27, 3:50 am, "Andry Poernomo" <[email protected]> wrote:
> Hi Stu,
>
> Thanks so much for your code... The problem is, the server is running cold
> fusion... But hey... I'll give a go and see if asp will work...
>
> Cheers mate!
>
> Andry
>
>
>
>
>
>
>
> -----Original Message-----
> From: [email protected]
>
> [mailto:[email protected]] On Behalf Of Stu Wilson
> Sent: Thursday, 17 November 2011 7:59 PM
> To: RedDot CMS Users
> Subject: Re: RedDot <if> statement and querystring
>
> Andry
>
> You will need to do this in code.  We have implemented a few of these and
> they bascially all follows the same pattern.  Note, this code is not Unicode
> capable.  Also note I beleive this is leagacy ASP code written in JScript.
>
> Loop thru your navigation:
> <%
>     // variable to hold the entries we need to display
>     var arrLetters = new Array();
>     <!IoRangeList>
>     // get the letter for the page and add to letters list
>     var intLetter = "<%hdl_PageName
> %>".substring(0,1).toUpperCase().charCodeAt(0) - 65;
>     // create the array if necessary
>     if (arrLetters[intLetter] == undefined) arrLetters[intLetter] = new
> Array();
>     // add the entry to the list
>     arrLetters[intLetter].push("<%hdl_PageName%>|<%lst_Navigation%>");
>     <!/IoRangeList>
> %>
>
> that builds up an array of letters, and each array (per letter) is either
> undefined (no items with that letter) or antoher array of items beginning
> with that letter
>
> <%
>     /************************************************
>      * LOOP FOR ALL THE ENTRIES TO SHOW THE BUTTONS *
>      ************************************************/
>     for (var intLoopLetter = 65; intLoopLetter < 91; intLoopLetter ++)
>     {
>         // get the letter that we're dealing with
>         var strLetter = String.fromCharCode(intLoopLetter);
> %>
>                 <li id="iABC-<%=strLetter%>" class="ABC-<%=strLetter %>"> <%
>         // do we have that letter in the list to show
>         if (arrLetters[intLoopLetter - 65] == undefined)
>         {
> %>
>                     <span><%=strLetter%></span> <%
>         }
>         else
>         {
> %>
>                     <a href="#iABC-<%=strLetter%>-List" title=""><
> %=strLetter%></a> <%
>         }
> %>
>                 </li>
> <%
>     }
> %>
>
> then once you have the list of available Letters, you show the content.
> Each letter gets its own div, and items within that div correspond to the
> page
>
> <!IoRangeNoRedDotMode>
> <%
>     /*****************************************
>      * LOOP FOR ALL THE ENTRIES TO SHOW THEM *
>      *****************************************/
>     // get the letter that we're dealing with
>     var strLetter = "";
>     var strActualLetter = "";
>     var strMyLetter = "";
> %>
> <!/IoRangeNoRedDotMode>
>
> <!IoRangeList>
>
> <%
>     // get the letter we're dealing with
>     strActualLetter = "<%hdl_PageName%>".toUpperCase().substring(0,1);
>     // are we a different letter
>     if (strActualLetter != strLetter)
>     {
>         if (strLetter != "")
>         {
> %>
>             </ul>
>         </div>
> <%
>         }
>         // save the letter for later
>         strLetter = strActualLetter
> %>
>         <div class="list" id="iABC-<%=strLetter%>-List">
>             <h3><%=strLetter%></h3>
>             <ul>
> <%
>     }
> %>
>
>             <li>
>                 <a href="<%lst_Navigation%>"><%hdl_PageName%></a>
>             </li>
> <!/IoRangeList>
>
> <!IoRangeNoRedDotMode>
> <%
>     // always need to show the closing bit %>
>         </div>
> <!/IoRangeNoRedDotMode>
>
>     </div>
> <%
> }
> %>
>
> Obviosuly I've left some HTML out, but it should get you started.
>
> Also note that if your list is not sorted alphanumerically, then you will
> have to sort the entries in each sub-array.
>
> Stu
>
> On Nov 14, 1:24 pm, "Andry Poernomo" <[email protected]> wrote:
> > Hi Richard,
>
> > Oh right... hmmm... how and I supposed to implement this function...
>
> > Andry
>
> > From: [email protected]
> > [mailto:[email protected]] On Behalf Of Richard Hauer
> > Sent: Monday, 14 November 2011 9:19 PM
> > To: [email protected]
> > Subject: RE: RedDot <if> statement and querystring
>
> > That's totally not going to work. The rendertag is evaluated prior to
> > publication and can'tinteract with a client session.
>
> > Regards,
> > Richard.
>
> > Sent from my mobile. Sorry if it's brief.
>
> > Andry Poernomo <[email protected]> wrote:
>
> > Hi Richard,
>
> > I'm trying to build an A-Z index page. Something
> like:http://find.curtin.edu.au/indexaz/index.cfm.
>
> > The query string will be on each link from A to Z. Ie. <a
> > href="?index=A">A</a> <a href="?index=B">B</a> and so on. The page
> > will then load the following navigation
>
> > <reddot:cms>
> >     <if>
> >         <query valuea="Context:CurrentIndex.Headline.Substring(Int:0,
> > Int:1).ToUpper()" operator="==" valueb="QueryString("index") here">
> >             <htmltext>
> >                 <li><a href="<%!! Context:CurrentIndex.GetUrl() !!%>"><%!!
> > Context:CurrentIndex.Headline !!%></a></li>
> >                 <navigation:nextlevel>
> >             </htmltext>
> >         </query>
> >     </if>
> > </reddot:cms>
>
> > The <li> will then be sorted using a javascript.
>
> > Doesn't sound like a good plan, does it... Any good advice on how I
> > should implement this?
>
> > Andry
>
> > -----Original Message-----
> > From: [email protected]
>
> > [mailto:[email protected]] On Behalf Of Richard Hauer
> > Sent: Monday, 14 November 2011 7:38 PM
> > To: [email protected]
> > Subject: RE: RedDot <if> statement and querystring
>
> > You might have more luck replacing
> >   Response.QueryString("A")
> > with
> >   System.Web.HttpContext.Current.Request.QueryString("A")
>
> > I'm still not sure it will work because the render tags are being
> > executed in a Windows Service and don't have access to the HttpContext
> object.
> > Or that's my guess anyways - worth a try.
>
> > Conceptually though you're not really doing the right thing anyway -
> > what querystring are you trying to read? Runtime? SmartEdit? SmartTree?
> Preview?
> > PreExecute? RDExecute? They're all different.
> > I suspect you're trying to do something you simply can't do and you'd
> > be better off putting your question to the group by starting with what
> > you're actually trying to do.
>
> > Regards,
> > Richard Hauer
>
> > -----Original Message-----
> > From: [email protected]
> > [mailto:[email protected]] On Behalf Of Andry
> > Sent: Monday, 14 November 2011 10:29 PM
> > To: RedDot CMS Users
> > Subject: RedDot <if> statement and querystring
>
> > Hi guys,
>
> > Has anyone worked with a combination of reddot <if> statement and
> > querystring before?
>
> > I need to create an A-Z index page and page search by category.
>
> > something like...
>
> > <reddot:cms>
> >     <if>
> >         <query valuea="Context:CurrentIndex.Headline.Substring(Int:0,
> > Int:1).ToUpper()" operator="==" valueb="<% Response.QueryString("A") %>"
> >             <htmltext>
> >                 <li><a href="<%!! Context:CurrentIndex.GetUrl() !!%>"><
> %!!
> > Context:CurrentIndex.Headline !!%></a></li>
> >                 <navigation:nextlevel>
> >             </htmltext>
> >         </query>
> >     </if>
> > </reddot:cms>
>
> > Thanks guys... :)
>
> > Andry
>
> > --
> > 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
> athttp://groups.google.com/group/reddot-cms-users?hl=en.
>
> > --
> > 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
> athttp://groups.google.com/group/reddot-cms-users?hl=en.
>
> > --
> > 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
> athttp://groups.google.com/group/reddot-cms-users?hl=en.
>
> > --
> > 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
> athttp://groups.google.com/group/reddot-cms-users?hl=en.
>
> --
> 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 
> athttp://groups.google.com/group/reddot-cms-users?hl=en.

-- 
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.

Reply via email to