Создает ли ColdFusion автоматически основные теги HTML, такие как:
<HTML> <head></head> <body></body> </HTML>
Или вам нужно включить это в свой исходный код, такой как ASP или PHP?
Создает ли ColdFusion автоматически основные теги HTML, такие как:
<HTML> <head></head> <body></body> </HTML>
Или вам нужно включить это в свой исходный код, такой как ASP или PHP?
Я лично не хотел бы, чтобы ColdFusion включал эти теги, так как я не всегда вывожу HTML.
Кроме того, в отличие от PHP, здесь нет тега <?coldfusion> или чего-то подобного, который вы используете для объявления того, что CF должен обрабатывать ваш код. Все теги ColdFusion имеют префикс «cf» и могут перемежаться обычным HTML-кодом. Имейте в виду, что для вывода вывода на страницу необходимо использовать тег «<cfoutput>». т.е.
<cfset variables.firstName = 'My Name' />
<html>
<head>
<title>ColdFusion Sample</title>
</head>
<body>
Hello <cfoutput>#variables.firstName#</cfoutput>
</body>
</html>
Самый простой способ объяснить это:
Код CFML извлекает, вычисляет и отображает информацию внутри HTML-документа.
Таким образом, если вы используете какой-либо фреймворк, включаемый файл заголовка на каждой странице будет содержать ..
<HTML> <head></head><body>
и страница нижнего колонтитула будет включать ..
</body> </HTML>
Конечно, как и в любом другом случае, если вы по какой-то причине захотите, вы можете запрограммировать что-то, чтобы выводить и их для вас.
Я обнаружил, что CFML — это самый простой синтаксис, позволяющий оставаться читаемым внутри HTML, и нет ничего сложного в том, чтобы оставить его таким.
Надеюсь, это поможет.
Включите его в свой источник. Даже если он добавил их автоматически (а это не так), вам почти всегда нужно больше контроля (т. е. настройка ваших мета-тегов).
Кстати, вам даже не нужны эти теги. Следующий фрагмент должен корректно отображаться в большинстве браузеров.
<div> HI </div>
Вы можете создать собственный тег, чтобы сделать это за вас.
Например, на каждой странице, где вам нужен стандартный шаблон, вы можете использовать что-то вроде:
<cf_page
title = "MyTitle"
styles = "base.css,form.css,theme.css"
>
Main Page Content
</cf_page>
А затем, чтобы это сработало, создайте page.cfm, который выглядит примерно так:
<cfswitch expression="#ThisTag.ExecutionMode#">
<cfcase value="START">
<cfcontent reset/><cfoutput><!DOCTYPE html>
<html>
<head>
<title>#Attributes.Title#</title>
<cfif StructKeyExists(Attributes,'Styles')>
<cfloop index="CurStyle" list="#Attributes.Styles#">
<link rel="stylesheet" href="#CurStyle#"/>
</cfloop>
</cfif>
<cfif StructKeyExists(Attributes,'Scripts')>
<cfloop index="CurScript" list="#Attributes.Scripts#">
<script type="text/javascript" src="#CurScript#"></script>
</cfloop>
</cfif>
<cfif StructKeyExists(Attributes,'HeadContent')>#Attributes.HeadContent#</cfif>
</head>
<body>
</cfoutput>
</cfcase>
<cfcase value="END">
<cfoutput>
</body>
</html></cfoutput>
</cfcase>
</cfswitch>
В качестве альтернативы выберите базовую настройку шаблонов и используйте (meta.cfm,) header.cfm, sidebar.cfm, footer.cfm и используйте тег <cfinclude template=""> на каждой странице. Еще лучше использовать фреймворк для управления всем этим через контроллер, что упростит потом вывод контента в разных форматах.
Нет, Coldfusion не будет включать ничего, о чем вы не укажете.
Для общей страницы, которой требуется тег HTML/BODY (т. е. не фрагмент кода для вставки), вы можете использовать любое количество пользовательских функций/тегов для вывода тегов HTML/BODY, но в целом проще всего просто ввести их в.
Теперь вы можете использовать некоторый код верхнего/нижнего колонтитула, чтобы вставлять их автоматически, но это может привести к необходимости дополнительной логики для их исключения при определенных обстоятельствах. Что может быть излишним, если вы ищете что-то простое.
Обратите внимание, что есть некоторые виджеты, предоставляемые CF, которые будут генерировать НЕКОТОРЫЙ HTML. Так, например, CFTABLE приведет к тегу TABLE на каком-то уровне. Но это в первую очередь способ упростить создание таблиц, тогда как HTML/BODY не может быть намного проще.
Если... и это большое ЕСЛИ... если вы не возражаете против того, чтобы каждый запрос имел открывающий и закрывающий теги HTML, вы можете добавить их в свой Application.cfm/OnRequestEnd.cfm или Application.cfc.
Application.cfm:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Page title here</title>
</head>
<body>
OnRequestEnd.cfm:
</body>
</html>
Или Application.cfc - OnRequest():
<cffunction name="OnRequest" output="true" returntype="void">
<cfargument name="targetPage" type="string" required="true">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Page title here</title>
</head>
<body>
<cfinclude template="#ARGUMENTS.targetPage#">
</body>
</html>
</cffunction>
Нет, это не лучший способ, потому что он очень ограничивает, но это другой путь! :ОД
Чтобы ответить на ваш вопрос, да, вам нужно включить разметку на странице.
Как указывали другие авторы, это может быть что-то отличное от HTML, которое вы хотите вывести, например, документ PDF или JSON. CF делает такие вещи очень простыми, что является частью его привлекательности.