初めてマッピングを使用しようとしていますが、いくつか問題があります。私のCFadminで、次のようなマッピングを作成しました。
論理パス:
/ email_sender
ディレクトリパス:
E:\ sites \ Example.Com \ cf_modules \ autoresponders \ Emails \ emailLists
.cfcからインクルードファイルにアクセスしようとしています。私のcfc内には、同じフォルダーにあるインクルードファイルがあり、正常に機能しますが、そのインクルードファイルは、通過する情報に基づいて別のインクルードファイルにアクセスしようとしています。
コンポーネント内のインクルードファイルには、このコードが含まれています。
<cfmail from="#emailData.sender#" to="#surveymain.email#" subject="#subject#" type="HTML" >
<cfinclude template="#emailData.includePath#" >
</cfmail>
より明確にするために、これは私の全体的なファイルシステムです:
access.cfm-> some.cfc-> include_1(動作)-> include_2(パスの問題)
エラーをメールで送信するtry/catchがあり、include_1内にあります。
作成したマッピングを使用して、最終的にインクルードファイルにアクセスできるようにするにはどうすればよいですか?
emailLists
動的フォルダを作成した後、電子メールを送信しようとしているクライアントに応じて変化することに注意してください。したがって、パスの最終結果は次のようになります。
E:\sites\Example.Com\cf_modules\autoresponders\Emails\emailLists\client_A\email_template.cfm
これを実行してマッピングを使用してみました
<cfinclude template="/email_sender/#emailData.includePath#" >
これは私にこのエラーを与えました:
CFCへのパスは、マッピングを使用せずに、フルパスまたは現在のテンプレートからの相対パスとして指定する必要があります。
また、cfincludeにフルパスを含めようとしましたが、次のエラーも発生しました。
注:CFINCLUDEで絶対テンプレートパス(たとえば、> template = "/ mypath / index.cfm")を使用する場合は、ColdFusionAdministratorを使用してパスのマッピングを作成する必要があります。または、アプリケーションごとの設定を使用して、Application.cfcのTHIS.mappingsへのマッピング構造体を指定することにより、このアプリケーションに固有のマッピングを指定できます。
相対パス(たとえば、template="index.cfm"またはtemplate="../ index.cfm")を使用する場合、特別なマッピングを作成する必要はありません。したがって、可能な限りCFINCLUDEで相対パスを使用することをお勧めします。
どんな助け/提案も大歓迎です
編集:サーバーを再起動した後、機能したバージョンは次のとおりです。
<cfinclude template="/email_sender/#emailData.includePath#" >
返信してくれた人に感謝します。