在CFWheels中使用layouts,partials和includeContent()

时间:2015-02-23 01:41:53

标签: coldfusion cfwheels

我试图让静态内容,部分和布局表现和展示。我想创建:

  • 1个用于保存页眉/页脚数据的主要布局
  • 主页的部分视图,因为它的主体布局不同
  • 所有其他页面的1个局部视图

所有部分应该输入我将在views / layout.cfm

下构建的主布局

以下是文件。

Controller / Home.cfc - 包含索引和隐私功能

<cfcomponent extends="Controller">

    <cffunction name="index">

        <cfset qRecipes = model("tblRecipes").findAll(
            select="id, name, image, homepage_order",
            where="homepage_order > 0",
            order="homepage_order",
            maxrows=4
        ) />
     </cffunction>

     <cffunction name="privacy">

    </cffunction>

</cfcomponent>

views / home / index.cfm - 应显示主页布局 views / home / privacy.cfm - 包含cfsavecontent中包含的静态文字。

<cfsavecontent variable="foo">
xxxxxxxx
</cfsavecontent>
<cfset contentFor("foo") />

文档没有提供足够深入的例子来帮助我掌握我所遗漏的内容。主要布局如下:

<cfoutput>#includePartial("/shared/header")#
#styleSheetLinkTag(source="homepage", head=true)#
</cfoutput>asdfsafd

    <body>

        <div id="page-wrap">

        <header>
            <cfoutput>#includePartial(partial="/shared/socialmedia", cache=1440)#</cfoutput>

            <nav id="top-navigation">
                <cfoutput>#includePartial("/shared/topnav")#</cfoutput>
            </nav>
        </header>

        <cfoutput>#includeContent()#</cfoutput> <!--- All partial data should output here --->
    </body>
</html>

由于我将所有隐私文本放入变量中,我需要在主要布局加载之前输出#includeContent("foo")#的其他页面吗?或者我可以在cfsavecontent

中包含一个不需要包含文本的页面

1 个答案:

答案 0 :(得分:1)

无需在<cfsavecontent>中包含您的隐私权页面。不使用<cfsavecontent>代码并且没有contentFor("foo"),请尝试使用它。然后,它的内容应出现在主布局中#includeContent()#的位置。

你想要对不同的主页做什么?什么?