使用razor脚本生成页面标题-umbraco

使用razor脚本生成页面标题-umbraco,razor,umbraco,page-title,Razor,Umbraco,Page Title,因此,我试图创建一个脚本,根据页面的文档类型,如果覆盖自定义标题输入中没有任何内容,则会显示特定的预定义标题标记格式。我已将宏插入主模板上的title标记中,但不断收到加载Razor脚本时出错的消息 Html 剧本- @inherits umbraco.MacroEngines.DynamicNodeContext @using umbraco.MacroEngines @{ if(String.IsNullOrEmpty(@Model.tabName.ToString

因此,我试图创建一个脚本,根据页面的文档类型,如果覆盖自定义标题输入中没有任何内容,则会显示特定的预定义标题标记格式。我已将宏插入主模板上的
title
标记中,但不断收到加载Razor脚本时出错的消息

Html


剧本-

@inherits umbraco.MacroEngines.DynamicNodeContext
@using umbraco.MacroEngines

    @{
      if(String.IsNullOrEmpty(@Model.tabName.ToString()) == false )
        {
          @Model.tabName
        }

      else if(@Model.DescendantsOrSelf("Country"))
        {
          <text>
            Holidays in @Model.Name
          </text>
        }

      else 
        {
          @Model.Name;
        }
    }
@继承umbraco.MacroEngines.dynamicontext
@使用umbraco.macro引擎
@{
if(String.IsNullOrEmpty(@Model.tabName.ToString())==false)
{
@Model.tabName
}
else if(@Model.genderantsorself(“国家”))
{
@Model.Name中的假日
}
其他的
{
@型号名称;
}
}

任何帮助都将不胜感激。

请尝试此代码。原始代码的问题是您使用“@Model.genderantsorself(“Country”)作为布尔值,它是一个列表。我还删除了对if的比较(String.IsNullOrEmpty(@Model.tabName.ToString())

此外,如果在URL的末尾添加?umbdugshowtrace=true,则可以获得一些有价值的调试信息。有一个名为“Umbraco Debug”的Chrome扩展,我使用它快速访问该查询字符串和信息。你会发现它很有用

@inherits umbraco.MacroEngines.DynamicNodeContext
@using umbraco.MacroEngines

    @{
      if(String.IsNullOrEmpty(@Model.tabName.ToString()))
        {
          @Model.tabName
        }

      else if(@Model.DescendantsOrSelf("Country").Count() > 0)
        {
          <text>
            Holidays in @Model.Name
          </text>
        }

      else 
        {
          @Model.Name;
        }
    }
@继承umbraco.MacroEngines.dynamicontext
@使用umbraco.macro引擎
@{
if(String.IsNullOrEmpty(@Model.tabName.ToString()))
{
@Model.tabName
}
else if(@Model.genderantsorself(“Country”).Count()>0)
{
@Model.Name中的假日
}
其他的
{
@型号名称;
}
}

很简单,只需将以下代码添加到标题标签中即可

@Umbraco.Field("pageName")
将显示pageName,您还可以从文档类型添加自定义属性。 e、 您已经添加了新属性,如“metaKeywords”,其值为“html、javascript、xml”,按以下方式获取该值

@Umbraco.Field("metaKeywords")

即使您不需要在模型中添加自定义属性

谢谢!我以前没想过会这样,现在效果很好,非常感谢。D@Dante-我很高兴能帮上忙。我仍然在学习这些东西,所以我能提供的任何帮助也能帮助我。如果你有机会,把这个标记为答案,这样它可以更新,我可以得到一些“信用”LOL!祝你好运
@Umbraco.Field("metaKeywords")