Пути cfinclude не будут рекурсивно разрешаться в Application.cf c? - PullRequest
2 голосов
/ 07 января 2020

Это CF11.

У меня есть набор зависимостей, которые я должен cfinclude в верхней части каждого CFM и CF C, которые мы запускаем. Это единственный cfinclude, который рекурсивно включает другие файлы. Это работало на каждой странице загрузки в течение многих лет; в основном устаревшие страницы ОВЛХ и некоторые новые ХФУ. Однако недавно я попытался сделать это из Application.cfc, и, хотя он разрешает самые верхние включения, он не может разрешить дочерние включения. Я получаю типичное cfinclude сообщение об относительном пути:

... Note: If you wish to use an absolute template path (for example, template="/mypath/index.cfm") with 
CFINCLUDE, you must create a mapping for the path using the ColdFusion Administrator. Or, you can use 
per-application settings to specify mappings specific to this application by specifying a mappings 
struct to THIS.mappings in Application.cfc. ...

Из самого CF C (вызываемого из браузера с URL x/index.cfm), у меня есть:

getBaseTemplatePath() = x/index.cfm
getCurrentTemplatePath() = x/Application.cfc
expandPath("./") = x

И из самого верхнего из них:

getBaseTemplatePath() = x/index.cfm
getCurrentTemplatePath() = y/TheInclude.cfm
expandPath("./") = x

Другие CFC в этом приложении - те братья и сестры Application.cfc, которые cfinclude того же файла - производят те же расширения пути, но также успешно разрешают ребенок включает. Я что-то не так делаю, это ошибка в Application.cfc или ...?

1 Ответ

0 голосов
/ 07 января 2020

Может быть, это содержимое того, что находится внутри этих элементов.

Проверьте это: https://helpx.adobe.com/in/coldfusion/cfml-reference/application-cfc-reference/application-variables.html

...