Это 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
или ...?