我正在运行Umbraco的多站点实例。一切进展顺利,但现在我需要创建一个站点地图。
我设法创建了一个显示完美XML格式的站点地图的宏,但是......
我无法弄清楚如何在页面上显示正确的标题。现在它看起来像这样:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
</head>
<body>
<form method="post" action="./sitemap" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="faEtomis/pJrnOEH1FjMt3tYgJgnPP8lddqb60IlljFoqaMzmdGrfFsw4WeF9tCiqAa6bpN0obMQKnBNa1OmWHYSPuVgJB8116lnS+3eY95EqMoOpeTPa8jbsUSJXzXx" />
</div>
<div>
<url>
<loc>https://www.example.com/</loc>;
<lastmod>2017-02-12T17:41:48+00:00</lastmod>
</url>
</div>
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="CA0B0334" />
</div>
</form>
</body>
</html>
显然,这不是格式正确的XML站点地图文件。
我的问题是umbraco / default.master必须有基本的html,head,body标签,以允许我的模板的ContentPlaceHolder工作。
我可以做些什么来完成这项工作?
答案 0 :(得分:1)
您的Sitemap.Master模板(或您用于放置网站地图xml结构的任何内容)不必从除默认Umbraco MasterPage之外的任何内容继承,该主页不应包含任何HTML标记无论如何。例如,Umbraco的库存标准安装具有以下/Umbraco/MasterPages/Default.Master:
<%@ Master Language="C#" AutoEventWireup="True" CodeBehind="Default.master.cs" Inherits="Umbraco.Web.UI.Umbraco.Masterpages.Default" %>
<asp:ContentPlaceHolder ID="ContentPlaceHolderDefault" runat="server">
</asp:ContentPlaceHolder>
值得注意的是,如果您确实使用的是Umbraco 7(或者6个),您可以使用MVC而不是MasterPages创建一个模板,它仍然有效。
要获得更详细的解答,请分享您当前的站点地图主页模板和结构...