CFDocument в CFScript (Adobe CF2021)?
Поддерживается ли CFDocument в CFSscript конкретно с Adobe ColdFusion 2021?
Я знаю, что это было невозможно в предыдущих версиях (но возможно с Lucee). Тем не менее, я не могу найти никакой официальной документации в любом случае. Я надеюсь, что кто-то может указать мне на любую соответствующую документацию по этому вопросу.
Спасибо!
1 ответ
Да, cfdocument можно использовать в cfscript в ColdFusion 2021.
Чтобы было ясно, почти все теги поддерживаются как cfscript, начиная с CF11, выпущенного в 2014 году. Вот документация для этого из вводного раздела в справочнике по CFML:
В качестве общего синтаксиса для поддержки сценариев тег ColdFusion вызывается так же, как вызов функции в блоке CFSCRIPT с именем тега, используемым для имени функции. Атрибуты тега передаются ему в виде пар "имя-значение", разделенных запятыми, подобно тому, как аргументы передаются в функцию. Дочерний тег (и тело в целом) определяется в фигурных скобках, как и функциональный блок.
Итак, например, это:
<cfdocument format="pdf">
test
</cfdocument>
мог стать:
<cfscript>
cfdocument(format="pdf"){
writeoutput("test");
};
</cfscript>
Обратите внимание, как вы должны использовать writeoutput в теле документа для предоставления содержимого PDF, даже если cfdocument не требует никакого соответствующего cfoutput. (FWIW, некоторые теги CFML, такие как cfsavecontent.) И, конечно же, вы можете использовать cfdocumentitem, cfdocumentsection и т. д. См. страницу документации о том, как вложенные теги обрабатываются в скрипте.
Наконец, действительно верно, что Adobe никогда не изменяла каждую страницу справочника CFML, чтобы указать: а) это изменение для поддержки всех тегов в виде скрипта или б) показать использование каждого тега в качестве скрипта.
Хотя, к сожалению, исходный код CFML не является открытым, для того, чтобы мы могли предложить изменения, сайт cfdocs.org является открытым исходным кодом, и я только что заметил, что их страница на cfdocument не отображается с использованием его в качестве сценария, поэтому я попытаюсь предложить пиар.