この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Visualforce マークアップでの静的リソースの参照

Visualforce マークアップで静的リソースを参照する方法は、単独ファイルを参照するのか、またはアーカイブ (zip ファイルや .jar ファイルなど) に含まれるファイルを参照するのかによって異なります。
  • 単独ファイルを参照するには、差し込み項目として $Resource.<resource_name> を使用します。このとき、<resource_name> は、リソースをアップロードしたときに指定した名前です。次に例を示します。
    1<apex:image url="{!$Resource.TestImage}" width="50" height="50"/>
    または
    1<apex:includeScript value="{!$Resource.MyJavascriptFile}"/>
  • アーカイブ内のファイルを参照するには、URLFOR 関数を使用します。最初のパラメータには、そのアーカイブをアップロードしたときに指定した静的リソース名を、第 2 パラメータには、アーカイブ内での目的ファイルへのパスを指定します。たとえば、次のとおりです。次に例を示します。
    1<apex:image url="{!URLFOR($Resource.TestZip,
    2                  'images/Bluehills.jpg')}" width="50" height="50"/>
    または
    1<apex:includeScript value="{!URLFOR($Resource.LibraryJS, '/base/subdir/file.js')}"/>
  • 静的リソースアーカイブのファイルの相対パスを使用して、アーカイブ内の別のコンテンツを使用できます。たとえば、styles.css という CSS ファイルに、次のようなスタイルがあるとします。
    1table { background-image: url('img/testimage.gif') }
    Visualforce ページでその CSS を使用する場合、CSS ファイルが画像を検出できるようにする必要があります。そのためには、styles.cssimg/testimage.gif を含む zip ファイルなどのアーカイブを作成します。パス構造がアーカイブ内に保持されるようにします。そして、アーカイブファイルを静的リソース「style_resources」としてアップロードします。ページに、次のコンポーネントを追加します。
    1<apex:stylesheet value="{!URLFOR($Resource.style_resources, 'styles.css')}"/>
    静的リソースにはスタイルシートと画像が両方含まれているため、スタイルシートの相対パスで解決され、画像が表示されます。
  • カスタムコントローラでは、<apex:variable> タグを使用して静的リソースのコンテンツを動的に参照できます。最初に、カスタムコントローラを作成します。
    1global class MyController {
    2    public String getImageName() { 
    3        return 'Picture.gif';//this is the name of the image 
    4    }
    5}
    次に、<apex:variable> タグで getImageName メソッドを参照します。
    1<apex:page renderAs="pdf" controller="MyController"> 
    2    <apex:variable var="imageVar" value="{!imageName}"/> 
    3    <apex:image url="{!URLFOR($Resource.myZipFile, imageVar)}"/> 
    4</apex:page>
    zip ファイル内で画像の名前が変わる場合は、getImageName で返された値を変更できます。