Ошибка отображения Coldfusion - PullRequest
       7

Ошибка отображения Coldfusion

0 голосов
/ 20 сентября 2011

Примечание. Если вы хотите использовать абсолютный путь к шаблону (например, template = "/ mypath / index.cfm") с помощью CFINCLUDE необходимо создать сопоставление пути с помощью администратора ColdFusion.

Я зашёл на страницу администрирования, но не уверен, что сюда вставить. Я довольно новичок в холодном синтезе. у кого-нибудь есть идеи, почему это происходит.

Ответы [ 2 ]

2 голосов
/ 24 сентября 2011

CFINCLUDE использует относительные пути по отношению к файлу, в котором находится cfinclude, поэтому, если вы хотите включить файл в другой каталог, 1. он должен находиться внутри вашего wwwroot (или корневого каталога, или подкаталогов) вашего сайта, 2. Вы можете перейти в другие каталоги, выполнив ... надеюсь, это немного поможет. Если вы хотите включить файл, который находится за пределами вашего wwwroot, вам потребуется сопоставить этот каталог в Coldfusion Administrator, используя тот же синтаксис, что и при его включении.

0 голосов
/ 15 декабря 2011

Чтобы добавить сопоставление, откройте администратора Coldfusion.

Настройки сервера> Отображения

Есть 2 пути. Логика и справочник.

Логическим может быть все, что вы хотите, а каталог - это то, куда он отображается. например. у вас может быть папка под корневым веб-каталогом, в которой хранятся шаблоны электронной почты, сопоставленные как:

logical path: /emails
directory path: /var/www/mycfapp/content/includes/emails

Вы можете <cfinclude template="/emails/forgotPass"> из любого шаблона cf, и сопоставление будет получено.

Вы также можете использовать сопоставления для создания новых объектов. Давайте представим, что ForgotPass - это cfc.

fp = new emails.forgotPass();

// if you have funky characters in there, eg dash, just quote it.
fp = new "emails.forgot-pass"();

Отображения также работают при расширении cfcs. За одним небольшим исключением. Без косой черты.

component extends="emails/forgotPass" {
    // ...
}

Я почти уверен, что сопоставления сначала обнаруживаются, поэтому если у вас есть папка с тем же именем, она может не быть найдена.

В cf9 вы также можете указать свои отображения в файле Application.cfc вместо администратора Coldfusion, который влияет на все приложения на вашем сервере. например.

this.mappings["/emails"] = "/var/www/mycfapp/content/includes/emails";

На странице настроек cfadmin нужно установить флажок «Включить параметры приложения».

http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec0b63c-7fd5.html

...