В моем приложении у меня есть заголовок и нижний колонтитул. В моем приложении Application.cfc я создал функцию, которая называет мое приложение и устанавливает сопоставление.Использование <cfinclude> с этим.mapping
<cfcomponent output="no">
<cfset this.name = "thesitename">
<cfset this.datasource = "thesitedatasource">
<cfset this.rootDir = getDirectoryFromPath(getCurrentTemplatePath()) />
<cfset this.mappings = structNew()>
<cfset this.mappings["/planning"] = "#this.rootDir#planning/" />
<cfset this.mappings["/images"] = "#this.rootDir#images/" />
<cfset this.mappings["/includes"] = "#this.rootDir#includes/" />
<cfset this.mappings["/js"] = "#this.rootDir#js/" />
<cfset this.mappings["/portfolio"] = "#this.rootDir#portfolio/" />
</cfcomponent>
Если у меня есть страница в подкаталоге, как это: planning/index.cfm
<cfinclude>
ничего в папке с изображениями, когда я использую следующий путь не может найти: <li class="imagelink"><img src="/images/facebook.png"></li>
страницы в корневом каталоге не иметь проблему.
Если я правильно понял, проблема связана с сопоставлением, это происходит не до того, как будет вызвано включение, или что-то в этом роде. Как мне заставить отображаемые пути работать правильно в моем включении?
Так что, по существу, нет возможности использовать this.mapping и корректно работать с cfinclude. Итак, какой тип кодирования использует синтаксис '. ./images)? – Ofeargall
Вы можете использовать cfinclude для включения файлов ColdFusion, которые могут находиться в каталоге «images», но когда вы указываете атрибут src тега img, который сообщает веб-браузеру, где искать файл, - и веб-браузер не знает (и не должен) сопоставлений ColdFusion. Легко исправить вашу проблему - создать «псевдоним», если на Apache или «виртуальном руководстве» ry ', если в IIS с именем' images ', который указывает на папку, в которой хранятся изображения. Это будет «просто работать», –