我正在使用<cfinclude>
在母版页中包含各种页面。在我的母版页中,所有正文内容都包含在<cfoutput>
标记中。但是我注意到,经过测试,包含的.cfm页面根本看不到<cfoutput>
标签,因此不显示动态数据。
<body>
<cfoutput>
<cfinclude template="page1.cfm" />
<cfinclude template="page2.cfm" />
<cfinclude template="page3.cfm" />
</cfoutput>
</body>
在上面的示例中,包含动态数据的附带模板将无法正常显示。要解决这个问题,我必须在每个CFM文件中添加<cfoutput>
个标签。为什么他们不能使用身体内已经存在的<cfoutput>
标签?
答案 0 :(得分:5)
因为每个CFML文件是单独编译的,并且是否在编译时确定是否输出内容,而不是运行时。
答案 1 :(得分:1)
抛开ColdFusion的工作原理,你想要这样做。使用像CFINCLUDE这样的东西就是你可以编写一段代码并在多种情况下使用它。
把它想象成一个穷人的封装。有人应该能够使用包含的模板,而不会陷入正在包含的模板的平凡细节中。