FW/1 如何设置多个布局

FW/1 How to set up multiple layouts

提问人:spacerobot 提问时间:11/12/2023 最后编辑:spacerobot 更新时间:11/13/2023 访问量:52

问:

我想为我的网站提供两种不同的布局。默认 .cfm 站点范围布局,并在管理部分 admin .cfm 进行布局。在 /layouts 中创建 admin.cfm 并导航到 admin.index 确实会显示管理员模板,但也会显示默认的 .cfm 站点范围模板。你如何设置这些,以便只有一个需要显示的显示?

查看 FW/1 文档链接,它提到了 setlayout(),但是当我尝试使用它时,我收到错误“管理员 (controllers.admin) 的元数据有问题,因为:无法获取 ComponentMetadata(controllers.admin),因为:在 C:\Sites\actmeio_fw2\controllers\admin.cfc 的第 2 行附近找不到匹配函数 [SETLAYOUT]”

component accessors="true" persistent="true" {
setLayout('admin');

public any function index(event, rc, prc) {
}

}

Coldfusion Lucee FW1

评论

0赞 rrk 11/12/2023
请发布您尝试过的控制器文件和函数调用的基本结构。setlayout()
0赞 Adam Cameron 11/12/2023
好的,所以该函数存在于源代码管理中:github.com/framework-one/fw1/blob/...。“当我尝试使用它时,它说该功能不存在”......你真的调查过吗?寻找功能?你在读什么文档?IE:给我们链接并向我们展示相关位。你的代码是什么?我们无法猜测所有这些东西,您需要帮助我们在这里为您提供一些帮助,拜托。
1赞 spacerobot 11/13/2023
我用更多信息更新了我的 OP。好奇地想知道我做错了什么,但下面的答案解决了我的问题。

答:

0赞 CfSimplicity 11/12/2023 #1

在布局模板的顶部,尝试添加admin.cfm

<cfscript>
disableLayout();
</cfscript>

这应该会阻止应用外部布局。有关详细信息,请参阅 https://framework-one.github.io/documentation/4.3/developing-applications/#views-and-layouts-in-more-depthdefault.cfm