Получил ошибку после изменения имени контроллера в Magenot 1.9 - PullRequest
0 голосов
/ 17 октября 2019

Я разрабатываю пользовательскую сетку администратора, в которой у меня появляется ошибка, как показано ниже

(!) Неустранимая ошибка: класс 'Mage_Modulebackend_Helper_Data' не найден в D: \ wamp \ www \ projectname \ app \Mage.php в строке 547

Ниже приведен код

D: \ wamp \ www \ имя_проекта \ app \ code \ local \ Career \ Module \ Block \ Adminhtml\ Modulebackend.php

class Career_Module_Block_Adminhtml_Modulebackend extends Mage_Adminhtml_Block_Widget_Grid_Container{

    public function __construct(){
        $this->_controller = "adminhtml_modulebackend";
        $this->_blockGroup = "module";
        $this->_headerText = Mage::helper("module")->__("Module Manager");
        $this->_addButtonLabel = Mage::helper("module")->__("Add New Item");
        parent::__construct();
    }
}

D: \ wamp \ www \ имя проекта \ app \ code \ local \ Career \ Module \ controllers \ Adminhtml \ ModulebackendController.php

<?php

class Career_Module_Adminhtml_ModulebackendController extends Mage_Adminhtml_Controller_Action
{
        protected function _isAllowed()
        {
        //return Mage::getSingleton('admin/session')->isAllowed('module/module');
            return true;
        }

        protected function _initAction()
        {
                $this->loadLayout()->_setActiveMenu("modulebackend/modulebackend")->_addBreadcrumb(Mage::helper("adminhtml")->__("Module  Manager"),Mage::helper("adminhtml")->__("Module Manager"));
                return $this;
        }
        public function indexAction() 
        {
                $this->_title($this->__("Module"));
                $this->_title($this->__("Manager Module"));

                $this->_initAction();
                $this->renderLayout();
        }
        public function editAction()
        {               
                $this->_title($this->__("Module"));
                $this->_title($this->__("Module"));
                $this->_title($this->__("Edit Item"));

                $id = $this->getRequest()->getParam("id");
                $model = Mage::getModel("modulebackend/modulebackend")->load($id);
                if ($model->getId()) {
                    Mage::register("module_data", $model);
                    $this->loadLayout();
                    $this->_setActiveMenu("modulebackend/modulebackend");
                    $this->_addBreadcrumb(Mage::helper("adminhtml")->__("Module Manager"), Mage::helper("adminhtml")->__("Module Manager"));
                    $this->_addBreadcrumb(Mage::helper("adminhtml")->__("Module Description"), Mage::helper("adminhtml")->__("Module Description"));
                    $this->getLayout()->getBlock("head")->setCanLoadExtJs(true);
                    $this->_addContent($this->getLayout()->createBlock("modulebackend/adminhtml_module_edit"))->_addLeft($this->getLayout()->createBlock("modulebackend/adminhtml_module_edit_tabs"));
                    $this->renderLayout();
                } 
                else {
                    Mage::getSingleton("adminhtml/session")->addError(Mage::helper("module")->__("Item does not exist."));
                    $this->_redirect("*/*/");
                }
        }

        public function newAction()
        {

        $this->_title($this->__("Module"));
        $this->_title($this->__("Module"));
        $this->_title($this->__("New Item"));

        $id   = $this->getRequest()->getParam("id");
        $model  = Mage::getModel("module/module")->load($id);

        $data = Mage::getSingleton("adminhtml/session")->getFormData(true);
        if (!empty($data)) {
            $model->setData($data);
        }

        Mage::register("module_data", $model);

        $this->loadLayout();
        $this->_setActiveMenu("module/module");

        $this->getLayout()->getBlock("head")->setCanLoadExtJs(true);

        $this->_addBreadcrumb(Mage::helper("adminhtml")->__("Module Manager"), Mage::helper("adminhtml")->__("Module Manager"));
        $this->_addBreadcrumb(Mage::helper("adminhtml")->__("Module Description"), Mage::helper("adminhtml")->__("Module Description"));


        $this->_addContent($this->getLayout()->createBlock("module/adminhtml_module_edit"))->_addLeft($this->getLayout()->createBlock("module/adminhtml_module_edit_tabs"));

        $this->renderLayout();

        }
        public function saveAction()
        {

            $post_data=$this->getRequest()->getPost();


                if ($post_data) {

                    try {



                        $model = Mage::getModel("module/module")
                        ->addData($post_data)
                        ->setId($this->getRequest()->getParam("id"))
                        ->save();

                        Mage::getSingleton("adminhtml/session")->addSuccess(Mage::helper("adminhtml")->__("Module was successfully saved"));
                        Mage::getSingleton("adminhtml/session")->setModuleData(false);

                        if ($this->getRequest()->getParam("back")) {
                            $this->_redirect("*/*/edit", array("id" => $model->getId()));
                            return;
                        }
                        $this->_redirect("*/*/");
                        return;
                    } 
                    catch (Exception $e) {
                        Mage::getSingleton("adminhtml/session")->addError($e->getMessage());
                        Mage::getSingleton("adminhtml/session")->setModuleData($this->getRequest()->getPost());
                        $this->_redirect("*/*/edit", array("id" => $this->getRequest()->getParam("id")));
                    return;
                    }

                }
                $this->_redirect("*/*/");
        }



        public function deleteAction()
        {
                if( $this->getRequest()->getParam("id") > 0 ) {
                    try {
                        $model = Mage::getModel("module/module");
                        $model->setId($this->getRequest()->getParam("id"))->delete();
                        Mage::getSingleton("adminhtml/session")->addSuccess(Mage::helper("adminhtml")->__("Item was successfully deleted"));
                        $this->_redirect("*/*/");
                    } 
                    catch (Exception $e) {
                        Mage::getSingleton("adminhtml/session")->addError($e->getMessage());
                        $this->_redirect("*/*/edit", array("id" => $this->getRequest()->getParam("id")));
                    }
                }
                $this->_redirect("*/*/");
        }


        public function massRemoveAction()
        {
            try {
                $ids = $this->getRequest()->getPost('ids', array());
                foreach ($ids as $id) {
                      $model = Mage::getModel("module/module");
                      $model->setId($id)->delete();
                }
                Mage::getSingleton("adminhtml/session")->addSuccess(Mage::helper("adminhtml")->__("Item(s) was successfully removed"));
            }
            catch (Exception $e) {
                Mage::getSingleton("adminhtml/session")->addError($e->getMessage());
            }
            $this->_redirect('*/*/');
        }

        /**
         * Export order grid to CSV format
         */
        public function exportCsvAction()
        {
            $fileName   = 'module.csv';
            $grid       = $this->getLayout()->createBlock('module/adminhtml_module_grid');
            $this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
        } 
        /**
         *  Export order grid to Excel XML format
         */
        public function exportExcelAction()
        {
            $fileName   = 'module.xml';
            $grid       = $this->getLayout()->createBlock('module/adminhtml_module_grid');
            $this->_prepareDownloadResponse($fileName, $grid->getExcelFile($fileName));
        }
}

?>

D: \ wamp \ www \ projectname \ app \ code \ local \ Career \ Module \ etc \ config.xml

<?xml version="1.0"?>
<config>
  <modules>
    <Career_Module>
      <version>0.0.1</version>
    </Career_Module>
  </modules>
  <frontend>
       <routers>
          <career>
              <use>standard</use>
              <args>
                 <module>Career_Module</module>
                 <frontName>career</frontName>
              </args>
           </career>
       </routers>
       <layout>
            <updates>
                <Career_Module>
                    <file>career.xml</file>
                </Career_Module>                
            </updates>
        </layout>
    </frontend>
  <global>
    <helpers>
      <module>
        <class>Career_Module_Helper</class>
      </module>
    </helpers>
    <blocks>
      <module>
        <class>Career_Module_Block</class>
      </module>
    </blocks>
    <models>
        <module>
            <class>Career_Module_Model</class>
            <resourceModel>module_mysql4</resourceModel>
        </module>
        <module_mysql4>
            <class>Career_Module_Model_Mysql4</class>
            <entities>
                <module>
                    <table>career_module</table>
                </module>
            </entities>
        </module_mysql4>
    </models>
    <resources>
      <module_setup>
        <setup>
          <module>Career_Module</module>
        </setup>
        <connection>
          <use>core_setup</use>
        </connection>
      </module_setup>
      <module_write>
        <connection>
          <use>core_write</use>
        </connection>
      </module_write>
      <module_read>
        <connection>
          <use>core_read</use>
        </connection>
      </module_read>
    </resources>    
  </global>
    <!-- <admin>
        <routers>
            <adminhtml>
                <args>
                    <modules>
                        <module>Career_Module_index</module>
                    </modules>
                </args>
            </adminhtml>
        </routers>
    </admin>   -->
    <admin>
    <routers>
      <module>
        <use>admin</use>
        <args>
          <module>Career_Module</module>
          <frontName>admin_module</frontName>
        </args>
      </module>
    </routers>
  </admin>
  <adminhtml>
    <menu>
      <module module="module">
        <title>Module</title>
        <sort_order>100</sort_order>
        <children>
          <modulebackend module="module">
            <title>Module</title>
            <sort_order>0</sort_order>
            <action>admin_module/adminhtml_modulebackend</action>
          </modulebackend>
          <module module="module">
            <title>Manage Module</title>
            <sort_order>0</sort_order>
            <action>admin_module/adminhtml_module</action>
          </module>
        </children>
      </module>
    </menu>
    <acl>
      <resources>
        <all>
          <title>Allow Everything</title>
        </all>
        <admin>
          <children>
            <module translate="title" module="module">
              <title>Module</title>
              <sort_order>1000</sort_order>
              <children>
              <modulebackend translate="title">
                <title>Module</title>
                <sort_order>1</sort_order>
              </modulebackend>
              <module translate="title">
                <title>Manage module</title>
                <sort_order>0</sort_order>
              </module>
              </children>
            </module>
          </children>
        </admin>
      </resources>
    </acl>
    <layout>
      <updates>
        <module>
          <file>module.xml</file>
        </module>
      </updates>
    </layout>
  </adminhtml>
</config>

1 Ответ

1 голос
/ 21 октября 2019

Class 'Mage_Modulebackend_Helper_Data' not found из-за magento не может найти класс помощника в вашем пользовательском модуле.

Пожалуйста, создайте папку Helper и создайте файл Data.php и внутри с Career_Module_Helper_Data в качестве имени класса. Оно должно extends Mage_Core_Helper_Abstract. Это вспомогательный класс по умолчанию с помощью в переводе модуля.

...