在Salesforce Apex中动态引用静态资源名称

时间:2016-07-05 12:16:44

标签: salesforce apex

我正在尝试循环文章类别,并根据Salesforce Apex中的标题为每个类别提供图标图像。我不想对每个静态资源名称进行硬编码。我的想法是为每个循环迭代创建一个字符串变量,并通过此变量值引用匹配的静态资源名称。所以我在这个问题上看了doc,它看起来并不像预期的那样工作。

<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 个答案:

答案 0 :(得分:1)

如果你有静态资源,内部结构如:

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

您可以使用以下构造访问静态资源项:

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

因此,对于apex:image标签,它看起来像:

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