0
これは適切なアプローチであるかどうかはわかりませんが、まだ進んでいます。 テンプレートはTreelistExからSitecoreのリピータに画像をバインドする方法
Description [Rich Text]
Images [TreelistEx]
ユーザーが後でカルーセルに表示されるTreelistExフィールドを使用して、メディアライブラリから写真を選択しますこれらのフィールドがあります。また、ユーザーはそれらの画像を編集できる必要があります。
私のコードは、画像を表示していません。
ASPX:
<div class="toggle_1bs">
<asp:Repeater ID="rpImages" runat="server" OnItemDataBound="rpImages_ItemDataBound"
ItemType="Sitecore.Data.Items.Item">
<HeaderTemplate>
<div id="1bs" class="owl-carousel">
</HeaderTemplate>
<ItemTemplate>
<div class="item">
<sc:Image ID="imgMain" Field="Images" runat="server" CssClass="img-full"
Item="<%#Container.DataItem %>"/>
</div>
</ItemTemplate>
<FooterTemplate>
</div>
</FooterTemplate>
</asp:Repeater>
</div>
aspx.cs:
private void BindData()
{
//bind data to the repeater
MultilistField offerImages = (MultilistField)offerDetails.Fields["Images"];
rpImages.DataSource = offerImages.GetItems();
rpImages.DataBind();
}
protected void rpImages_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
var mainItem = (Item)e.Item.DataItem;
if (mainItem != null)
{
var imgMain = (Image)e.Item.FindControl("imgMain");
if(imgMain != null)
{
if (!string.IsNullOrEmpty(MediaManager.GetMediaUrl(mainItem)))
imgMain.DataSource = MediaManager.GetMediaUrl(mainItem);
//Response.Write(MediaManager.GetMediaUrl(mainItem));
}
}
}
2個のイメージがありtreelistコントロールを使用して追加し、I 2枚の画像に対してレンダリングされたHTMLを見ることができる(<div class="item"></div>
)。
表示画像をなかったことが、ユーザーはそれらを編集することはできません。画像を編集可能にするためには、各画像を項目として追加してから 'sc:image'を使うべきだと思います。そうです。その他の方法で? – Qwerty
リピータにアイテムタイプがあるので、このようにアイテムを直接呼び出すことができます。これは編集可能な画像を表示しますか?また、この行をデバッグして項目を検査できますか?アイテムにImagesというフィールドがありますか? –
上記のように、トレネリスト。あなたはフレームとカスタムボタンの編集について読むべきです。 –