2016-07-05 13 views
0

I Schleife Artikel Kategorien versuchen und für jede der Kategorien ein Symbolbild liefert auf dem Titel in Salesforce Apex abhängig. Ich möchte nicht jeden statischen Ressourcennamen fest codieren. Meine Idee ist, eine String-Variable für jede Schleifeniteration zu erstellen und auf den übereinstimmenden statischen Ressourcennamen mit diesem Variablenwert zu verweisen. Also habe ich mir die doc zu diesem Thema angesehen, und es scheint nicht so zu funktionieren, wie es erwartet wird.Siehe statische Ressourcennamen dynamicly in 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> 

Irgendwelche Gedanken, wie es in der Regel getan hat?

Antwort

1

Wenn Sie statische Ressource mit innerer Struktur wie:

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

können Sie auf statische Elemente Ressource zugreifen solche Konstruktion mit:

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

So zum Scheitel: Image-Tag wird es aussehen :

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

meinst du, ich muss eine '.zip' statische Ressource hochladen und auf ihre innere Struktur mit meinem' verweisen iconSource' Variable? – markoffden

+0

Ja, das ist in solchen Fällen in Salesforce üblich. Sie können weitere Informationen in SF-Dokumentation - https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_resources.htm –

+0

Nun, wissen Sie, die Logik funktioniert gut, aber es ist Hinzufügen zusätzlich 'orgId' param am Ende meiner uRL, so dass ich 404 zurück ...‚GET http://blablabla.force.com/resource/1467725336000/pkb_category_icons/Classic/Basics.svg?orgId=00D400000008JQP 404 (nicht gefunden)‘ – markoffden