CFMODULE  
説明

ColdFusion アプリケーションページで使用するカスタムタグを呼び出します。このタグにより、カスタムタグの名前の重複が処理されます。

 
カテゴリ

アプリケーションフレームワークタグ

 
シンタックス
<cfmodule
   template = "path"
   name = "tag_name"
   attributeCollection = "collection_structure"
   attribute_name1 = "valuea"
   attribute_name2 = "valueb"
   ...>
 
関連項目

cfapplication、cfassociate、cflock、『ColdFusion MX 開発ガイド』の第11章の「カスタム CFML タグの作成と使用方法」

 
ヒストリ

ColdFusion MX: このタグをカスタムタグ内で使用したときの動作が変更されました。attribute_name パラメータが attributeCollection パラメータ内の key 要素と同じである場合は、attributeCollection パラメータ内の name 値が使用されるようになりました。以前のリリースでは、この処理は一貫していませんでした。

 
使用方法

カスタムタグ定義が含まれている ColdFusion ページにパスを含めた名前を付けるには、template 属性を使用します。位置をドット表記で示して ColdFusion インストールディレクトリ内のカスタムタグを参照するには、name 属性を使用します。

UNIX システムでは、まず、name 属性と一致するファイル (ただしすべて小文字) が検索されます。該当するファイルが見つからない場合は、大文字と小文字の区別も含めて属性と一致するファイル名が検索されます。

同じ呼び出し内で、attributeCollection と attribute_name を使用することができます。

カスタムタグコード内では、attributeCollection を使用して渡された属性は独立した属性値として保存され、その属性がカスタムタグの呼び出しによって構造体にグループ化されたことは示されません。

同様に、カスタムタグが cfassociate タグを使用してその属性を保存している場合、attributeCollection によって渡された属性は独立した属性値として保存され、その属性がカスタムタグの呼び出しによって構造体にグループ化されたことは示されません。

終了タグを cfmodule に指定する場合、ColdFusion では開始タグと終了タグの両方がある場合と同様にカスタムタグを呼び出します。詳細については、『ColdFusion MX 開発ガイド』の第11章の「カスタム CFML タグの作成と使用方法」 で「終了タグの処理」を参照してください。

 
<h3>cfmodule の例</h3>
<p>この参照専用の例では、カスタムタグをインラインで呼び出すための cfmodule の使用方法を示します。</p>
<p>この例では、snippets ディレクトリの myTag.cfm に保存されているサンプルのカスタムタグを使用します。
また、ColdFusion のカスタムタグは、CFusionMX7CustomTags ディレクトリに保存することができます。
<cfset attrCollection1 = StructNew()>
<cfparam name="attrCollection1.value1" default="22">
<cfparam name="attrCollection1.value2" default="45">
<cfparam name="attrcollection1.value3" default="88">
<!--- Name と共に CFMODULE を使ってタグを呼び出す --->
<cfmodule
   Template="myTag.cfm"
   X="3"
   attributeCollection=#attrCollection1#
   Y="4">
<!--- コードを表示します。 --->
<HR size="2" color="#0000A0">
<P>これは、TEMPLATE 属性を使って、
カスタム タグを呼び出す方法です。</P>
<cfoutput>#HTMLCodeFormat(" <CFMODULE
   Template=""myTag.cfm""
   X=3
   attributeCollection=##attrCollection1##
   Y=4>")#
</cfoutput>
<P>結果 : <cfoutput>#result#</cfoutput>
<!--- Name と共に CFMODULE を使ってタグを呼び出します。--->
<!---
   <CFMODULE
      Name="myTag"
      X="3"
      attributeCollection=#attrCollection1#
      Y="4">
--->
<!--- コードを表示します。 --->
<HR size="2" color="#0000A0">
<P>これは、NAME 属性を使って、
カスタム タグを呼び出す別の方法です。</P>
<cfoutput>#HTMLCodeFormat(" <CFMODULE
      NAME='myTag'
      X=3
      attributeCollection=##attrCollection1##
      Y=4>")#
</cfoutput>
<P>結果 :<cfoutput>#result#</cfoutput>
<!--- ショートカット表記を使用してタグを呼び出します。 --->
<!---
<CF_myTag
   X="3"
   attributeCollection=#attrCollection1#
   Y="4">
--->


<!--- コードを表示します。 --->   
<p>これは、同じタグを呼び出すショートカットです。</p>
<cfoutput>#HTMLCodeFormat(   "<cf_mytag
   x = 3
   attributeCollection = ##attrcollection1##
   y = 4>")#
</cfoutput>   
<p>結果 : <cfoutput>#result#</cfoutput></p>   
TEMPLATE  
  name 属性が使用されない場合は必須
 

name 属性とは排他の関係です。タグを実装するページへのパスです。

  • 相対パスは、現在のページから展開されます。
  • 絶対パスは、ColdFusion のマッピングを使用して展開されます。

物理パスは有効ではありません。

NAME  
  template 属性が使用されない場合は必須
 

template 属性とは排他の関係です。カスタムタグ名で、"Name.Name.Name..." の形式で指定します。ColdFusion タグのルートディレクトリの下の、カスタムタグページが含まれているサブディレクトリを特定します。例 : (Windows 形式の場合)

<cfmodule name = "macromedia.Forums40.
GetUserOptions">

これにより、ColdFusion ルートディレクトリの下にあるディレクトリ CustomTagsmacromediaForums40 内のページ GetUserOptions.cfm が特定されます。

ATTRIBUTECOLLECTION  
  オプション
 

構造体です。属性名とそれらの値を表すキー値のペアのコレクションです。キーと値の複数のペアを指定できます。この属性は、一度だけ指定することができます。

ATTRIBUTE_NAME  
  オプション
 

カスタムタグの属性です。この属性の複数のインスタンスを入れて、カスタムタグのパラメータを指定することができます。