4

私は現在ColdFusionを学んでいます。私はPHPのバックグラウンドを持っていますが、これには少し混乱しています。

選択メニューがあり、オプションを別のファイルに保存したい。(たとえば、options.cfm)ファイルを呼び出すときに、選択メニュー内にオプションを含めたいと思います。今、私はおそらく次のようなものでそれを行うことができることに気づきました:

<select>
    <cfinclude template="options.cfm">
</select>

私が本当にやりたいことはもう少し複雑ですが。cfinclude変数内に保存したい。私はこれがうまくいかないことを理解していますが、それは基本的に私が達成したいことです:

<cfset options=<cfinclude template="options.cfm">>

とにかくそれをすることはありますか?または、少なくとも私がしていることを達成するためのより良い方法。

4

2 に答える 2

9

cfsavecontentタグを見てください。これにより、応答に出力されたはずのデータをキャプチャできます。

<cfsavecontent variable="options">
    <cfinclude template="options.cfm">
</cfsavecontent>

更新:これらのオプションを変数に保存する必要があるたびにcfsavecontentを使用する代わりに、options.cfmファイル内で一度実行することができます。次に、ファイルを含めると、変数が作成されます。

<!--- Inside options.cfm --->
<cfsavecontent variable="options">
    <option value="val1">Value 1</option>
    <option value="val2">Value 2</option>
    <option value="val3">Value 3</option>
</cfsavecontent>

次に、その変数が存在する必要がある場合は、そのファイルをcfincludeする必要があります。

<cfinclude template="options.cfm">
于 2012-09-25T15:13:20.053 に答える
0

私はこれが少し遅いことを知っていますが、私が見る1つの問題は、これがサイト全体であるか、クライアントごとであるかということです。

サイト全体の場合は素晴らしいですが、クライアントごとに異なる場合は、いくつかの問題が発生する可能性があります。

Cookieやセッションを使用しないための私の解決策は、一時テーブルを作成してそれに変数を書き込むことです。そのデータをロードして必要とする各ページは、テーブルにクエリや書き込みを行います。クライアントID変数は、クライアントがサイトにアクセスし、テーブルに名前が付けられたときに作成されます。

ちょっとした考え。

于 2014-09-11T08:07:01.117 に答える