Magento - 控制器类是否有默认方法?

时间:2015-02-19 15:14:01

标签: magento controller magento-1.6

我有一个控制器文件有点重复,有几个动作都做同样的事情,加载然后渲染布局。因为我需要的所有内容都是在自定义布局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();
    }
}

1 个答案:

答案 0 :(得分:0)

感谢@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();
    }
}