2010-09-30 11 views
8

साइटकोर नियंत्रण के साथ एक sublayout में मैं मीडिया लाइब्रेरी आइटम छवि कैसे प्रस्तुत करूं? एक सामान्य सामग्री के साथ आइटम जिसमें "छवि" फ़ील्ड होता है, यह केक का एक टुकड़ा है ... बस sc:Image या FieldRenderer नियंत्रण का उपयोग करें।मैं खुद ही मीडिया लाइब्रेरी आइटम कैसे प्रस्तुत करूं?

<asp:Repeater ID="rptImages" runat="server"> 
    <ItemTemplate> 
    <sc:FieldRenderer ????> 
    </ItemTemplate> 
</asp:Repater> 

और कोड के पीछे:

rptImages.DataSource = Sitecore.Context.Database.SelectItems("/sitecore/Media Library/Images/Some Image Folder/*") 
rptImages.DataBind(); 

क्या ItemTemplate में चला जाता है तो ... लेकिन मैं कुछ इस तरह है? मैं कुछ मैन्युअल असाइनमेंट करने के लिए ItemDataBound ईवेंट का उपयोग करने के साथ ठीक हूं, लेकिन यह मेरे लिए अस्पष्ट है कि इसके बारे में कैसे जाना है। मुझे लगता है कि मैं यहाँ कुछ वास्तव में सरल याद कर रहा हूँ।

उत्तर

11

ठीक है ... मुझे मूल रूप से इसका जवाब देने में परेशानी थी क्योंकि मैं गलत कोण से इसके बारे में सोच रहा था। कुंजी इस परिदृश्य में साइटकोर नियंत्रण का उपयोग नहीं कर रहा है। क्या तुम सच में क्या करने की जरूरत सिर्फ Sitecore एपीआई से URL प्राप्त और मानक HTML नियंत्रण का उपयोग है:

<asp:Repeater ID="rptImages" runat="server" OnItemCommand="rptImages_ItemCommand"> 
    <ItemTemplate> 
     <img src='<%# Sitecore.StringUtil.EnsurePrefix('/', Sitecore.Resources.Media.MediaManager.GetMediaUrl((Sitecore.Data.Items.Item)Container.DataItem)) %>' /> 
    </ItemTemplate> 
</asp:Repeater> 
+0

आपके कोड के ऊपर .ashx के रूप में छवि पथ पुनर्प्राप्त करेगा उदाहरण के लिए: src = "/ ~/मीडिया/छवियां/आलेख/आलेख थंबनेल छवियां/विपणन/विपणन-थीसियोलॉजी-small.ashx"। लेकिन अगर मैं छवि विस्तार के साथ छवि स्रोत का उपयोग करना चाहता हूं तो इसे कैसे प्राप्त करें? मुझे छवि स्रोत चाहिए: src = "/ ~/मीडिया/छवियां/आलेख/आलेख थंबनेल छवियां/विपणन/विपणन-थीसियोलॉजी-छोटे। जेपीजी"। –

+2

MediaManager.GetMediaUrl() यह नियंत्रित नहीं करता कि किस एक्सटेंशन का उपयोग किया जाता है। .ashx नामकरण को अक्षम करने के लिए अपने web.config में Media.RequestExtension सेटिंग को देखें। – Bryan

+0

मैंने मीडिया छोड़ा। रिक्वेस्ट एक्सटेंशन सेटिंग खाली है। फिर मैंने पूरे समाधान को संकलित किया, और साइटकोर सीएमएस में नई छवि अपलोड की। और यह अभी भी मुझे वापस भेजता है * .ashx एक्सटेंशन – Karol

0

मुझे पता है यह एक पुराने सवाल है, फिर भी कर रहा हूँ:

आप निम्न का उपयोग कर सकते:

<asp:Repeater ID="rptImages" runat="server"> 
    <ItemTemplate> 
     <sc:FieldRenderer ID="image" runat="server" FieldName="FieldName" 
       Item="<%# Container.DataItem %> 
    </ItemTemplate> 
</asp:Repeater> 

या एससी के साथ फ़ील्ड रेन्डरर को प्रतिस्थापित करें: छवि।

+1

यह मीडिया लाइब्रेरी आइटम्स के साथ काम नहीं करेगा, इसलिए मैंने मूल रूप से प्रश्न पोस्ट किया था। – Bryan

0

मैं एक ही बात सोच रहा गया है, और मैंने महसूस किया गया है वहाँ एक बड़ा अंतर यह है कि: FieldRenderer (और अनुसूचित जाति: छवि) फील्ड दाता ... एक MediaItem एक क्षेत्र नहीं है, लेकिन एक आइटम हैं। यही वह समस्या है जहां हमें छवि फ़ील्ड का उपयोग करना चाहिए, या स्वीकृत उत्तर राज्यों के रूप में: सादे HTML का उपयोग करना चाहिए।