0

多数のフローティング ブロックを持つContentAreaがあります。EPiServerは、編集モードが適切に機能するために必要なdiv要素で各ブロックを自動的にラップします。したがって、最初は1 つのdiv が、コンテンツ領域、子要素ラッパー、ブロック ビューの3 つのネストされた div になります。

ブロック ビューから CSS クラスを子要素ラッパーに追加することは可能ですか? だから今日は何ですか:

div.ContentArea > div > div.my-class

になります:

div.ContentArea > div.my-class
4

4 に答える 4

3

余分なラッピング div を避けたい場合は、この投稿をご覧ください。

私の推測では、これはあなたがレンダリングすべきものです:

@Html.PropertyFor(x => x.Teasers, 
new
    {
        ChildrenCustomTagName ="div", 
        ChildrenCssClass = "my-class"
    })

部分ビューでラッピングdiv要素をレンダリングしないでください。「内部コンテンツ」のみをレンダリングします (ラッピングdiv要素は、コンテンツ領域の各アイテムに関係なくレンダリングされるため)。

コンテンツ領域がレンダリングされるときにレンダリングされるラッピング要素は、EPiServer のページ上の編集機能を壊してしまうため、除外できません。

これが役に立ち、十分に明確であることを願っています。

于 2015-06-10T14:55:44.887 に答える
0

デフォルトのコンテンツ領域をオーバーライドすることで、余分な div を完全に削除することができます。ここで非常に詳細なチュートリアルを書きましたEpiServer 7: Extra divs in content area how to remove them ?

ただし、このアプローチを使用するのは非常に極端です。この問題が 1 つまたは 2 つの場所でのみ発生する場合は、このようなものを使用することをお勧めします

@Html.PropertyFor(x => Model.MainContentArea, new 
{
    CustomTag = "ul",
    CssClass = "list",
    ChildrenCustomTagName = "li",
    ChildrenCssClass = "list_item",
    Tag = string.Empty
})

これらのプロパティがどのように機能するかについては、こちらを参照してください: How To Render EpiServer Blocks In Your Views Using PropertyFor

于 2015-08-06T20:17:44.873 に答える
0

ここでは、コンテンツエリアの拡張に関するすべての情報と、それらがそのように機能する理由を読むことができます。 http://blog.tech-fellow.net/2015/06/11/content-area-under-the-hood-part-3/

于 2015-06-11T11:52:53.360 に答える