【问题标题】:Magento - is there a default method for controller classes?Magento - 控制器类是否有默认方法?
【发布时间】:2015-02-19 15:14:00
【问题描述】:

我有一个控制器文件,它有点重复,有几个动作都做同样的事情,加载然后渲染布局。因为我需要的一切都在自定义布局 XML 块中定义,所以我实际上不需要控制器做任何其他事情。我编写它的方式感觉就像我在多个方法上复制代码。我可以调用一种“默认”方法(如defaultAction)吗?

<?php
class Markie_Module_LiteratureController extends Mage_Core_Controller_Front_Action {

    public function catalogsAction()
    {
        $this->loadLayout();
        $this->renderLayout();
    }

    public function postersAction()
    {
        $this->loadLayout();
        $this->renderLayout();
    }

    public function helpAction()
    {
        $this->loadLayout();
        $this->renderLayout();
    }
}

【问题讨论】:

  • 您可能对this question 的答案感兴趣,因为它与您的问题非常相似。
  • 谢谢,这真的很有帮助。该问题的公认答案并没有真正帮助,当我尝试它时它给出了 404 错误。下一个答案有很大帮助。我将添加代码作为答案。

标签: magento controller magento-1.6


【解决方案1】:

感谢@fantasticrice 指出这个答案:https://stackoverflow.com/a/22252395/2036972

我已将代码更改为以下内容,并且运行良好。更短,没有代码重复。我将把这个问题留到周末,看看是否有人有更好的方法,或者对这个答案有疑问。

<?php
class Markie_Module_LiteratureController extends Mage_Core_Controller_Front_Action {

    public function __call()
    {
        $this->loadLayout();
        $this->renderLayout();
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    • 1970-01-01
    • 1970-01-01
    • 2017-03-08
    • 2012-09-14
    相关资源
    最近更新 更多