2016-05-08 2 views
0

私は、製品情報を表示するために使用している部分的な見解があります。各製品には、主画像と製品の複数の画像があります。私が使用している構造はProduct(プロパティが "mainImage")で、製品の子はイメージフォルダで、そのフォルダ内の他のすべての製品イメージ[Product> Images Folder> Images]です。イメージには、Media Pickerタイプのプロパティ(mainImage)が1つしかありません。Umbracoで画像を表示する方法パーシャルビュー

以下は私のマクロです。私の問題は、製品のイメージフォルダ内の各イメージのイメージURLを取得することです。

@foreach(var page in Model.Content.Descendants().Where(x => x.IsVisible() && x.Level >= 6)) 
{ 
    <div class="col-md-6 item residential"> 
     <div class="picframe"> 
      <a class="image-popup-gallery" href="@Umbraco.Media(CurrentPage.mainImage.ToString()).Url"> 
       <span class="overlay"> 
       <span class="pf_text"> 
        <span class="project-name">@page.Name</span> 
       </span> 
       </span> 
      </a> 

      <img src="@Umbraco.Media(CurrentPage.mainImage.ToString()).Url" alt="" /> 

     </div> 
    </div> 

} 

私は列が製品の画像フォルダに画像ごとに作成されているように私のループが正しいことを確認することができ、アイテムのnameプロパティは、各画像に対して正しく引っ張ります。しかし、私は正しいイメージを引き出す正しい構文を理解することはできません。

私はこれを試してみました:私はページにcurrentPageに置き換えますが、運がなかった

<img src="@Umbraco.Media(page.mainImage.ToString()).Url" alt="" /> 

。誰もがこの問題を試すことができる提案や修正をしていますか?ありがとう、

敬具、

エリック

製品>フォルダ>製品イメージのあなたの構造について
+0

現在印刷されているものは何ですか?エラーがあるのか​​、それとも悪いのですか? –

+0

私は私の構造とdoctypesを変更して、この作業を終了しました。私は、複数のメディアピッカーを使用して終了し、私は問題なくそれらをループすることができます。 – EricBellDesigns

答えて

1

わからない、個人的に私は持っているだけで、製品のメディアピッカーを入れてからの画像フォルダを選択することになりますメディアと画像をループします。

これは、CurrentPage.mainImage.ToString()の値が取得する画像の有効なIDであれば、 Umbraco.TypedMedia(CurrentPage.mainImage.ToString())としてみてください。それからのURL。

.TypedMediaには、.Media以上のプロパティがあります。私は、.Mediaがデータベース参照であると信じています。

+0

構造を変更していただきありがとうございます。私は複数のメディアピッカーと一緒に行って、私の問題を解決しました。 – EricBellDesigns

関連する問題