隐藏<h1>页面标题但保留页面

时间:2016-02-22 15:39:25

标签: orchardcms

我的网站中有很多页面,我不希望显示<h1>页面标题(例如主页或使用幻灯片作为页面标题的页面)。

我可以使用展示位置轻松隐藏标题形状:<Place Parts_Title="-"/>,但这样的连锁效果是它会阻止将元标题添加到页面的head部分。

有人可以告诉我如何隐藏页面上显示的标题但保留元标题,而不是从<h1>形状中完全删除Parts.Title吗?

我尝试在CSS中定位h1,但并非所有内容项都有选择器,我可以将其缩小到。

任何帮助都非常感激。

2 个答案:

答案 0 :(得分:4)

使用shape tracing tool或将形状模板文件(Title.cshtmlTitle.Parts.cshtml)添加到主题Views文件夹中,覆盖TitlePart的形状模板。 默认模板为:

 @{
   Layout.Title = Model.Title;
 }

 <h1> @Model.Title </h1>

因此,除了包含h1标记的行外,您的新模板可以使用相同的代码:)

如果要为不同的内容类型呈现不同的标题形状模板,请使用Alternates即。 Title.Parts-MyContentType.cshtml是仅适用于MyContentType内容类型的标题形状模板。

答案 1 :(得分:1)

你应该改变标题部分形状(像@Szymon Seliga建议的那样)

但是,对于仅定位特定内容,您可以使用placement.info:

<Match Path="~/">
  <Place Parts_Title="Header:1;Shape=Parts_Title_OnlyMeta"/>
</Match>
<Match ContentType="NameOfContentType">
  <Place Parts_Title="Header:1;Shape=Parts_Title_OnlyMeta"/>
</Match>

您还需要创建~/Views/Parts/Title.OnlyMeta.cshtml

之类的备用广告