Magento - 控制器 类 是否有默认方法?
Magento - is there a default method for controller classes?
我有一个有点重复的控制器文件,有几个动作都做同样的事情,加载然后渲染布局。因为我需要的一切都在自定义布局块中定义 XML 我实际上不需要控制器做任何其他事情。我写它的方式感觉就像我在用多种方法复制代码。有没有一种我可以调用的 "default" 方法(比如 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();
}
}
感谢@fantasticrice 指出这个答案:
我已将我的代码更改为以下内容并且运行良好。更短,没有代码重复。我打算在周末将这个问题悬而未决,看看是否有人有更好的方法,或者对这个答案有疑问。
<?php
class Markie_Module_LiteratureController extends Mage_Core_Controller_Front_Action {
public function __call()
{
$this->loadLayout();
$this->renderLayout();
}
}
我有一个有点重复的控制器文件,有几个动作都做同样的事情,加载然后渲染布局。因为我需要的一切都在自定义布局块中定义 XML 我实际上不需要控制器做任何其他事情。我写它的方式感觉就像我在用多种方法复制代码。有没有一种我可以调用的 "default" 方法(比如 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();
}
}
感谢@fantasticrice 指出这个答案:
我已将我的代码更改为以下内容并且运行良好。更短,没有代码重复。我打算在周末将这个问题悬而未决,看看是否有人有更好的方法,或者对这个答案有疑问。
<?php
class Markie_Module_LiteratureController extends Mage_Core_Controller_Front_Action {
public function __call()
{
$this->loadLayout();
$this->renderLayout();
}
}