magento 产品列表

发布于 2024-11-06 00:27:00 字数 252 浏览 0 评论 0原文

当 url 类似于 mysite.com/category.html?flag=1 时,我需要加载不同的布局页面(two_column 而不是 one_column) 所以我对 getParam('flag') 进行了重写。 如何以编程方式替换布局(无需在 xml 上设置此类自定义设计)?

if ($flag) {
 // set custom_layout.phtml
} else {
 // set 1column.phtml
}

I need to load a different layout page (two_column instead one_column) when url is something like mysite.com/category.html?flag=1
So I've done an override to getParam('flag').
How can I replace layout programatically (without set it on xml such a custom design)?

if ($flag) {
 // set custom_layout.phtml
} else {
 // set 1column.phtml
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你的心境我的脸 2024-11-13 00:27:00

您需要加载布局并修改 root 块使用的模板。大致如下:

$template = "page/3columns.phtml";
$this->loadLayout();
$this->getLayout()->getBlock('root')->setTemplate($template);
$this->renderLayout();

这需要通过控制器操作来完成。

You need to load the layout and modify the template used by the root block. Something along the lines of:

$template = "page/3columns.phtml";
$this->loadLayout();
$this->getLayout()->getBlock('root')->setTemplate($template);
$this->renderLayout();

This needs to be done a controller action.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文