2016-07-05 82 views
0

記事カテゴリをループし、Salesforce Apexのタイトルに応じて各カテゴリのアイコン画像を提供しようとしています。私は各静的リソース名をハードコードしたくありません。私の考えは、ループの繰り返しごとに文字列変数を作成し、この変数値で一致する静的リソース名を参照することです。だから私はこの問題に関してdocを見ていましたが、それは期待どおりに機能していないようです。Salesforce Apexで静的リソース名を動的に参照

<knowledge:categoryList categoryVar="category" categoryGroup="Help" rootCategory="Using_{!selectedCategory}" level="1"> 
    <apex:variable var="iconSource" value="pkb_{!selectedCategory}_{!category.name}" /> 
    <a href="#" class="item"> 
     <div class="box-title"> 
      <h3>{!category.label}</h3> 
     </div> 
     <apex:image value="{!$Resource[iconSource]}" /> 
    </a> 
</knowledge:categoryList> 

どのように通常行われていますか?

答えて

1

あなたのような内部構造を持つ静的リソースがある場合:

/js/... 
/css/... 
/img/... 

をあなたはこのような構成を使用して静的リソース項目にアクセスすることができます。

{!URLFOR($Resource.resourceName, 'img/imageName.jpg')} 

ので、頂点のために:イメージタグは、それは次のようになります:

<apex:image url="{!URLFOR($Resource.resourceName, 'img/imageName.jpg')}" width="50" height="50"/> 
+0

あなたは '.zip'静的リソースをアップロードし、その内部構造体を' iconSource'変数? – markoffden

+0

はい、それはSalesforceのこのような場合の通常のアプローチです。 SFのドキュメントで詳細を見つけることができます - https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_resources.htm –

+0

まあ、知っている、ロジックは正常に動作していますが、それは私のURLの最後に余分な 'orgId'パラメータを追加するので、私は404を返します... 'GET http://blablabla.force.com/resource/1467725336000/pkb_category_icons/Classic/Basics.svg?orgId=00D400000008JQP 404( ' – markoffden

関連する問題