2016-12-12 10 views
0

オーチャードページャリストのliタグにクラスを追加する必要があります。オーチャードページャリストのリスト項目にクラスを追加

シェイプがCoreShapes.csに組み込まれていて、最初と最後のアイテムにクラスが追加されていることがわかります。私はオーチャードのソースコードを編集し、itemTag.AddCssClass("my-class")を追加したくありません。

Listの代わりを追加できますが、これはサイト全体のリストを上書きします。 ShapeTracingには他の代替がありません。

私はPager.cshtmlでデバッグしていましたが、代わりに.Last、.Linkなどのリンクを使用しましたが、ulの間のliにはアクセスできません。

私はこれをと読んでいますが、これはliの中にあるものだけをカバーしています。 私はこれをarticleと読みましたが、これは私がModel.ContentItemsと仮定しています。

SOについても同様の質問がありますが、実際には交互に表示されるコンテンツ項目のみが対象です。

理想的には、私はList.Pager.cshtmlを追加するようなことをしたいと思います。

<li class="my-class"> 
    @Display(Model) 
</li> 
+0

あなたの 'placement.info'で' Match'ルールを使用して、そこから[別のものを追加できます](http://docs.orchardproject.net/en/latest/Documentation/Understanding-placement-info/#alternate)。 – Xceno

答えて

0

リストの形状に代わるものを追加することは、私が考える方法です。

1)MyList.cshtml

2のようなあなたの特定のリストのためのalternateを追加)Orchard.Core/Shapes/Views/Menu.cshtmlからいくつかのコードを借りてMyList.cshtmlに次の行を追加します:あなたは `十分に書くことができるしている場合は

var items = (IList<dynamic>)Enumerable.Cast<dynamic>(Model.Items); 

if (items.Any()) { 
    items[%YourItem%].Classes.Add("my-class"); 
} 

... 

@DisplayChildren(Model) 
関連する問題