Раскрывающееся меню Magento Custom Admin - PullRequest
0 голосов
/ 11 июля 2011

Мне нужна небольшая помощь: я разрабатываю модуль администратора, в котором я создаю два меню.Я хочу установить ссылки в config.xml, но я не получаю его.Мой config.xml выглядит следующим образом.

<children>
    <menuitem1 module="PrecosMargens">
        <title>Actualizar Preços Custos</title>
        <action>PrecosMargens/example</action>
    </menuitem1>
    <menuitem2 module="PrecosMargens">
        <title>Actualizar Preços vendas</title>
        <action>PrecosMargens/example2</action>
    </menuitem2>
</children> 

Но с MenuItem2 получаю ошибку 404. Можете ли вы помочь мне, как решить эту проблему?В файле контроллера у меня просто так:

class lbonus_PrecosMargens_ExampleController extends Mage_Adminhtml_Controller_Action
{

    public function indexAction()
    {
        // "Fetch" display
        $this->loadLayout();

        // "Inject" into display
        // THe below example will not actualy show anything since the core/template is empty
        $this->_addContent($this->getLayout()->createBlock('core/template')

        //defino o template
        ->setTemplate('PrecosMargens/list.phtml')); 

        // "Output" display
        $this->renderLayout();

    }    
} 

Я хотел сделать так, чтобы у меня было два разных макета, один макет к другому link1 и link2

1 Ответ

1 голос
/ 11 июля 2011

Второе действие (PrecosMargens/example2) пытается найти метод indexAction() в отдельном классе lbonus_PrecosMargens_Example2Controller.Вам нужны два контроллера для этих двух действий.

Вместо этого у вас может быть один контроллер.Измените действия на PrecosMargens/example/custos и PrecosMargens/example/vendas, которые приводят к использованию соответствующих методов custosAction() и vendasAction().

Приложение

Действие (которое становится частью URL)находится в форме "маршрутизатор / контроллер / действие".Маршрутизатор сопоставляется с вашим модулем в разделе <routers> файла config.xml этого модуля.
Контроллер становится именем класса с добавленным к нему «Controller», так что в этом случае «пример» становится вашим модулем »ExampleController ".
Часть действия приводит к методу этого класса с добавленным к нему" действием ".Вы можете видеть, что «custos» становится методом custosAction().
Когда одна из этих частей отсутствует, по умолчанию используется «index», поэтому контроллером по умолчанию является «IndexController», а действием по умолчанию - «indexAction».Если вы только что использовали «PrecosMargens», он будет использоваться так, как если бы это был «PrecosMargens / index / index».

...