ColdFusionタグ 自分メモ<随時更新>


CFLOOP(forのこと)

1. インデックスグループ

  • index 名前を付けたこれを
  • From ここから
  • To ここまで
  • Step こんだけずつ増やす
<cfloop index="index" from="1" to="100" Step="2">
    <cfoutput>
        #index#
    </cfoutput>
</cfloop>

2. 条件付きループ

  • condition これになるまで
<cfloop condition = "expression"> 
 ここで条件が変わるものを入れる必要がある
</cfloop>

3. クエリループ

  • query SQLで抽出したDB内容を
  • startrow この行から
  • endrow この行まで処理する
<cfloop query = "myQuery"
        startRow = "#Start#"
        endRow = "#End#"> 
<cfoutput>#name# #amount#</cfoutput>

4. リストループ

  • index 配列中身を順番に処理
  • list リストの中身を順番に処理
<cfset myArray = ["John", "Paul", "George", "Ringo"] >
<cfloop array="#myArray#" index="idx">
   <cfoutput>#idx#  </cfoutput>
</cfloop>
<cfset myList="John,Paul|George|Ringo"/>
<cfloop list="#myList#" delimiters=",|">
    <cfoutput>
        #name#
    </cfoutput>
</cfloop>

try-catch

<cftry>
 通常の処理をするコード

<cfcatch type="例外タイプ">
 例外が発生したときのコード
</cfcatch>

</cftry>

デバッグ

  • formの中身
<cfdump var="#form#">
  • cflog
  • cftrace

固定ヘッダーセッターを作りたい

<cfinclude template="aa.cfm">

これでもできそう

<cfmodule template="../profile/profile.cfm" keyword="ColdFusion 8">

コンポーネント

<cfcomponent></cfcomponent>

コンポーネントであることを宣言する。
.cfcでファイルの最も外側で記述する必要がある。

<cffunction
name=""
returnType=""
roles=""
access=""
output="">
<!---メソッドの中身--->
</cffunction>

コンポーネントが持つメソッドを宣言する。
タグのボディにメソッドが呼ばれたときに実行することを記述する。
記述できるのはCFMLタグのみ。

<cfargument
name=""
type=""
required=""
default=""
>

functionの中に記述する。このメソッドが取りうる引数を記述する。
function内をスコープとしてargumentsという頭につけてアクセスできる。(省略可能)

<cfretrun hogehoge>

コンポーネントが実行された戻り値を返す。
cffunctionのReturnTypeの属性と同じでなければならない。

<!---これで呼び出す--->
<cfinvoke  
component="helloworld"
method="sayhello"
returnVariable="aString"
>
<!---メソッドの引数を受け取る場合--->
<cfinvokeargument  name="yourname"  value="岩井">
</cfinvoke>

JavaDocスタイルのドキュメントを見る
http://localhost:8500/CFIDE/componentutils/componentdoc.cfm

文字化け回避

<cfprocessingdirective pageencoding="UTF-8">

cfscript

<cfprocessingdirective pageencoding="UTF-8">

    <cfscript>

        function myname(lname,fname) {
            retval = lname & fname;
            return retval;
        }
    </cfscript>

    <cfoutput>#myname("岩井","菫")#</cfoutput>