@kasamara

Как подключить контроллер из core в модель кастомного модуля local?

Мне нужно создать объект класса контроллера и вызвать его метод в кастомном файле модуля
Когда я создаю new объект мне вылетают ошибки вроде:
Fatal error: Uncaught TypeError: Argument 1 passed to Mage_Core_Controller_Varien_Action::__construct() must be an instance of Zend_Controller_Request_Abstract, none given, called in /app/code/local/Mementia/SefUrls/Model/Parser.php on line 69 and defined in /app/code/core/Mage/Core/Controller/Varien/Action.php:138 Stack trace: #0 /app/code/local/Mementia/SefUrls/Model/Parser.php(69): Mage_Core_Controller_Varien_Action->__construct() #1 /var/www/сайт/data/www/сайт.com.ua/app/code/local/Mementia/SefUrls/Controller/Router.php(29): Mementia_SefUrls_Model_Parser->parseFilterInformationFromRequest('rakovinu-i-mojk...', '1', Object(Mage_Core_Controller_Request_Http)) #2 /var/www/сайт/data/www/сайт.com.ua/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mementia_SefUrls_Controller_Router->match(Object(Mage_Core_Controller_Request_Http)) #3 /var/www/сайт/data/www/сайт.com.ua/app/code/c in /var/www/сайт/data/www/сайт.com.ua/app/code/core/Mage/Core/Controller/Varien/Action.php on line 138

Как мне это реализовать?
Прежде чем создать объект я предпринимал такие действия как:

require_once Mage::getModuleDir('controllers', 'Mage_Cms') . DS . 'IndexController.php';
$notFoundController = new Mage_Cms_IndexController();
return $notFoundController->noRouteAction();


if(!class_exists('Mage_Cms_IndexController'))
 {
 require_once('Mage/Cms/controllers/IndexController.php');        
 }
 $notFoundController = new Mage_Cms_IndexController();
return $notFoundController->noRouteAction();
  • Вопрос задан
  • 53 просмотра
Пригласить эксперта
Ответы на вопрос 1
link_web
@link_web
Magento, Laravel, Zend, Shopify, Prestashop, WP
Вам нужно передать что-то вроде $this->getRequest() в конструктор вашего объекта. Да и вообще мне кажется вы что-то не так делаете. какая задача стоит?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы