0

我们有以下代码用于显示 URL 列表:

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

并希望从 <%!! 返回干净的 url Store:childPages.GetUrl(Bool:True) !!%> 所以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 它不起作用。提前谢谢了。

4

1 回答 1

1

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

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

最好的,希尔玛·邦杰斯

于 2013-08-05T09:42:13.080 回答