3

Episerver は常に共有ブロックをタグでラップします。これを取り除きたいと思います。したがって、LinkBlock に
<a href="#">link </a>のみのテンプレートがある場合、ユーザーのビューに> >link > >は表示され
ません 。
<div<a href="#"</a</div

これが不可能な場合は、<div> を他のタグに変更するか、CssClass を配置する方法を教えてください。共有されていないブロックでも可能です:
<EPiServer:Property runat="server" PropertyName="RightContentArea" CustomTagName="aside" CssClass="column-2 sidebar"> </EPiServer:Property>

4

6 に答える 6

3

含まれるブロックの周りに div タグを追加するのは、ContentArea プロパティのレンダリングだと思います。

EPiServer は、ブロック要素自体の編集機能を保持するために、それらを div で囲む必要があることを示唆しています。

考えられる解決策は、コンテンツ エリアの独自のカスタム レンダリングを行うことですが、使用しているブロック テンプレートの種類によっては、編集を機能させるのが難しい場合があります。リンクの例は、同じタイプの複数のブロックをレンダリングするためのものです。

于 2013-04-11T11:38:27.583 に答える
2

プロパティコントロールのCustomTagNameおよびCssClassプロパティを使用して、コンテナ要素をフォーマットできます。

RenderSettingsを使用して、子要素のコンテナー要素を変更することもできます (該当する場合)。

于 2013-01-30T09:46:12.617 に答える
2

私はcshtmlでこのトリックを使用します:

@RenderBlocks(Model.CurrentPage.Content1)


@* ---------------------------------------------------------------------------------- *@
@* Render ContentArea without addition DIVs that EpiServer embed. That breaks layout a lot. *@
@helper RenderBlocks(EPiServer.Core.ContentArea content) { 
  if(null != content){
    var blocks = content.FilteredContents.ToArray();
    foreach(var block in blocks){
      @Html.PropertyFor(x => block)
    }
  }
}
于 2014-11-28T12:39:52.663 に答える
0

ライブ モードでの編集時に div をレンダリングせず、編集モードでのみレンダリングするカスタム コンテンツ エリアを作成することもできます。

これを 1 回か 2 回だけ行う必要がある場合でも、ChildrenCustomTagName ルートを使用することをお勧めします。これを頻繁に行う必要があり、CSS を簡単に変更できない場合は、カスタム コンテンツ エリアに移動します。div を削除する方法に興味がある場合は、ブログ投稿と github のサンプル サイトをここに書きました。

于 2015-08-07T10:10:48.027 に答える
0

プロパティ コントロールのCustomTagName属性を使用してタグを選択できます。

または、タグを削除したい場合は、コントロール アダプターを使用できます。良い例はここにあります

于 2013-01-16T15:14:15.253 に答える