For those who want to avoid preexecution, here is the simpler JavaScript version
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/ libs/jquery/1.7.0/jquery.min.js"></script> <script type="text/javascript"> var GlossaryLetters = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]; $(document).ready(function() { $.each(GlossaryLetters, function(index, value) { var SelectorQuery = "a[title^=" + value + "]:first, a[title^=" + value.toLowerCase() + "]:first"; $(SelectorQuery).first().prepend("<a name=\"" + value + "\" />"); $("#glossary").append("<a href=\"#" + value + "\">[" + value + "]</ a>"); }); }); </script> <div id="glossary"></div><br /> <!IoRangeList> <a href="<%lst_Navigation%>" title="<%hdl_PageName%>"><%hdl_PageName %></a><br /> <!/IoRangeList> On Nov 17, 6:58 am, Stu Wilson <[email protected]> wrote: > 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 at http://groups.google.com/group/reddot-cms-users?hl=en.
