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.

Reply via email to