试图在reddot CMS中获取列表项的干净URL

时间:2013-07-15 09:15:53

标签: .net asp-classic content-management-system reddot

我们使用以下代码来显示网址列表:

<reddot:cms>
                                                  <foreach itemname="childPages" object="Context:Indexes.GetIndexByPageId(Guid:021743AA8509473C9615A4BA5C2BAC32).SubIndexes" countername="pageCounter">
                                                    <htmltext><dd><a href="<%!! Store:childPages.GetUrl(Bool:True)  !!%>"><%!! Store:childPages.Headline !!%></a></dd></htmltext>
                                                  </foreach>
 </reddot:cms>

并希望从&lt;%!!返回干净的网址商店:childPages.GetUrl(Bool:True)!!%&gt;因此http://www.mysite.com/thispage.htm发布为http://www.mysite.com/thispage 我试过了:

 <reddot:cms>
                                                  <foreach itemname="childPages" object="Context:Indexes.GetIndexByPageId(Guid:4595E6AE30D243E6AB11DAE0553A90B7).SubIndexes" countername="pageCounter">
                                                    <htmltext><dd>
<%
 DocSectionURL = "<%!! Store:childPages.GetUrl(Bool:True)!!%>"
 DocNewSectionURL = Replace(DocSectionURL,".htm","")
%>
<a href="<% response.write(DocNewSectionURL) %>"><%!! Store:childPages.Headline !!%></a></dd></htmltext>
                                                  </foreach>
</reddot:cms>

但仍会返回www.mysite.com/thispage.htm。任何人都可以帮忙建议尝试这样做的最好方法吗?我已经使用类似的方法与占位符,但使用此RQL它不起作用。 非常感谢提前。

1 个答案:

答案 0 :(得分:1)

你不能在PreExecute或Rendertags中执行此操作。在运行RenderTags和PreExecute之后创建最终URL。

您可以发布没有“.htm”作为扩展名的文件(只需在设置中插入“。”作为扩展名),或者在交付服务器上通过PHP / ASP / ASPX / ...调整URL(Apache) ,IIS,DS,...)。

最佳, Hilmar Bunjes