【问题标题】:Why do CFM templates being included with cfinclude need their own <cfoutput> wrappers?为什么包含在 cfinclude 中的 CFM 模板需要自己的 <cfoutput> 包装器?
【发布时间】:2014-01-14 11:02:42
【问题描述】:

我正在使用&lt;cfinclude&gt; 在母版页中包含各种页面。在我的母版页中,所有正文内容都包含在 &lt;cfoutput&gt; 标记中。但是我注意到,经过测试,包含的 .cfm 页面根本看不到 &lt;cfoutput&gt; 标签,因此不显示动态数据。

<body>
  <cfoutput>
  <cfinclude template="page1.cfm" />
  <cfinclude template="page2.cfm" />
  <cfinclude template="page3.cfm" />
  </cfoutput>
</body>

在上面的示例中,包含动态数据的包含模板将无法正常显示。为了解决这个问题,我必须在每个 CFM 文件中添加 &lt;cfoutput&gt; 标签。为什么他们不能使用正文中已经存在的&lt;cfoutput&gt;标签?

【问题讨论】:

  • pageX.cfm 里有什么东西。我从来没有像这样包裹&lt;cfincludes&gt;

标签: coldfusion coldfusion-10


【解决方案1】:

因为每个CFML文件都是单独编译的,是否输出东西是在编译时确定的,而不是运行时。

【讨论】:

  • 好的,谢谢,我以为我配置错误!
【解决方案2】:

撇开 ColdFusion 的工作原理不谈,您想这样做。使用 CFINCLUDE 之类的东西的意义在于,您可以一次编写一段代码并在多种情况下使用它。
把它想象成一个穷人的封装。有人应该能够使用包含的模板,而不会陷入所包含模板的平凡细节中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-09
    • 2014-06-27
    • 1970-01-01
    • 2016-08-19
    • 1970-01-01
    • 2013-10-01
    • 1970-01-01
    相关资源
    最近更新 更多