我们使用以下代码来显示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>并希望从<%!返回干净的urlsStore: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,它不起作用。在此之前,非常感谢您。
发布于 2013-08-05 17:42:13
您不能在PreExecute或Rendertags中执行此操作。最终的URL是在RenderTags和PreExecute运行之后创建的。
您可以不使用".htm“作为扩展名发布您的文件(只需插入".”作为设置中的扩展名)或通过PHP/ASP/ASPX/...调整URL在传送服务器(Apache、IIS、DS等)上。
最佳,希尔马尔·邦吉斯
https://stackoverflow.com/questions/17650629
复制相似问题