magento中_setActiveMenu 方法的使用

受保护的函数_setActiveMenu($ menuPath)

在添加菜单之后,你查看自定义控制器页面上的顶级菜单项,您会发现它们都没有被选中。用于渲染导航的系统与控制器/动作层次结构松散地耦合。您需要通过调用_setActiveMenu方法告诉Magento您想要在控制器操作中突出显示哪个菜单。

在控制器里面使用该方法

<?php
/**
 * Created by PhpStorm.
 * User: lollicup
 * Date: 2019/5/16
 * Time: 11:47
 */

class Lollicupstore_Payment_Adminhtml_CybersourceController extends Mage_Adminhtml_Controller_Action
{

    /**
     *
     */
    public function indexAction()
    {

        $this->loadLayout();

        $this->_setActiveMenu('payment/payment_items');
        //create a text block with the name of "example-block"
        $block = $this->getLayout()
            ->createBlock('core/text', 'example-block')
            ->setText('<h1>This is a text block</h1>');

        $this->_addContent($block);
        $this->renderLayout();
    }
}
$this->_setActiveMenu('payment/payment_items');

将上面的方法换成

$this->_setActiveMenu(‘payment/form’);

试试好像也是可以的。

您将此方法传递给您在上面的部分中创建的菜单XML定义的路径

最终效果如下:

选中该菜单后 突出显示哪个菜单

Leave a comment

您的电子邮箱地址不会被公开。 必填项已用 * 标注