元标记未在标题

时间:2017-12-13 07:57:34

标签: html .net umbraco facebook-opengraph meta-tags

我正在使用umbraco并使用母版页功能。我有一个包含多个模板的母版页,因为它是孩子们。

我将以下元标记放入其中一个子节点(模板)的<head>中,以便在Facebook共享中获得正确的缩略图。

<head>
    <meta property="og:type" content="website"> 
    <meta property="og:site_name" content="SITENAME">
    <meta property="og:title" content="Reports"/>
    <meta property="og:url" content="www.exameple.com"/>
    <meta property="og:image" content="http://via.placeholder.com/2000x2000"/>
</head>

然而,当母版中的孩子正在他的身体的主人页面内呈现时,它根本不会出现在头部。而是显示来自我的母版页(它应该结合两个?)

我不能简单地将这些标签放在我的母版页中,因为每个页面都需要单独的图像,只有当我将元标记单独放在页面的每个模板中时才能这样做。

image image2

我也在官方论坛myumb上提出了这个问题,但他们没有像这一样积极的社区。 https://our.umbraco.org/forum/using-umbraco-and-getting-started/89674-meta-tags

1 个答案:

答案 0 :(得分:4)

如果要将模板中的内容注入主文件,则应使用RenderSection

以下是一个例子:

Master.cshtml:

<!DOCTYPE html>
<html> 
<head>
    ...
    @RenderSection("meta", required: false)
    ...
</head>
<body>
    ...
    @RenderBody()
    ...
</body>
</html>

Template.cshtml

@inherits Umbraco.Web.Mvc.UmbracoTemplatePage

@section meta
{
    <meta property="og:type" content="website"> 
    <meta property="og:site_name" content="SITENAME">
    <meta property="og:title" content="Reports"/>
    <meta property="og:url" content="www.exameple.com"/>
    <meta property="og:image" content="http://via.placeholder.com/2000x2000"/>
}