2016-07-05 52 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( Not Found)' – markoffden