2016-10-11 9 views
1

私はUmbraco 7.4を使用しています。Umbraco 7でメディアフォルダを名前またはハッシュで取得する

私はMediaフォルダ( "Images \ Splash")からすべてのファイルを列挙したいと思います。カスタムクラスに

、私はコントローラからUmbracoHelperインスタンスの参照を渡すと、このようフォルダを取得することができます:私はしたいメディアフォルダのIDであること

var folder = _umbraco.Media(333); 

333。

どのようにしてこのフォルダをハッシュまたはその名前で取得できますか?
環境(開発、ステージング、プロダクション)間で同じであることが保証されていないため、Idを使用しないでください。

答えて

4

は、次の記事を参照してください。

  var mediaService = _umbraco.UmbracoContext.Application.Services.MediaService; 
      var imagesFolder = mediaService.GetRootMedia().FirstOrDefault(m => m.Name.InvariantEquals("Images")); 
      var folder = imagesFolder?.Children().FirstOrDefault(c => c.Name.InvariantEquals("Splash")); 
0

私はあなたができるとは思っていません: - それはサイトのどこかに(またはマクロのパラメータ)プロパティを作ることができるので、どこにでもIDをハードコードする必要はありません。

0

Umbracoヘルパーを使用してメディアアイテムを名前で取得することはできません。

これは、Web.configの変換を使用して、各環境(ローカル、ステージング&ライブなど)ごとに異なるノードIDを設定することです。

<add key="HomeNodeId" value="xxxx" /> 

次に、これらの異なるNodeIdを呼び出すためのクラスを作成します。結局のところ、あなたはUmbracoHelper(_umbraco)を使用して、名前でメディアフォルダを取得することができます https://weblogs.asp.net/srkirkland/common-web-config-transformations-with-visual-studio-2010

幸運

クレイグ

関連する問題