繁体   English   中英

如何将CSS类添加到sitecores MVC HtmlHelper中的字段中的标记中?

[英]How do I add a css class to enclosing tag in sitecores MVC HtmlHelper for fields?

当@ Html.Sitecore()。Field(TPage.Headline)包含值但还包含值时,我想呈现<h1 class="page-heading">@Html.Sitecore().Field(TPage.Headline)</h1>当字段为空时,我不想呈现封闭标签<h1 class="page-heading">

使用@Html.Sitecore().Field(TPage.Headline, new { @class="page-heading", EnclosingTag="h1"})几乎可以实现我想要的功能,但它不包含css类。

如何使用Sitecore HTML帮助器为封闭标签指定类名? 还是有另一种避免呈现空标签的方法?

我不确定如何使用Field helper方法来做到这一点,但是老式的做事方式可以这样完成:

@if(!String.IsNullOrEmpty(TPage.Headline)){
   <h1 class="page-heading">@Html.Sitecore().Field(TPage.Headline)</h1>
}

在您的情况下,当该字段为空时,您没有任何输出,因此简单的IF检查应该起作用。

谢谢@Jay S,到目前为止,我最终得到了:

@if( Sitecore.Context.PageMode.IsExperienceEditor)
   || Model.Item.FieldHasValue(TPage.Headline)
{
    <h1 class="page-heading">@Html.Sitecore().Field(TPage.Headline)</h1>
}
@if ( Sitecore.Context.PageMode.IsExperienceEditor
      || Model.Item.FieldHasValue(TPage.Ingress))
{
    <p class="ingress">@Html.Sitecore().Field(TPage.Ingress)</p>
}

它可以工作,但我不喜欢混乱,宁愿使用两根一线而不是8-10排。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM