Не удается получить модуль для контроллера огня - PullRequest
2 голосов
/ 21 июня 2011

Я не могу заставить свой контроллер сработать.Поэтому я, должно быть, делаю что-то не так, но я не могу понять это, и я надеюсь, что кто-то может направить меня в правильном направлении.Ниже приведен мой файл config.xml.

<?xml version="1.0"?>
<config>
    <modules>
        <Unleaded_GiftRegistry>
            <version>0.1.0</version>
        </Unleaded_GiftRegistry>
    </modules>
    <frontend>
        <routers>
            <giftregistry>
                <args>
                    <modules>
                        <giftregistry before="Enterprise_GiftRegistry">Unleaded_GiftRegistry</giftregistry>
                    </modules>
                </args>
            </giftregistry>
        </routers>
     </frontend>
</config>

Вот мой контроллер:

<?php

include_once("Enterpise/GiftRegistry/controllers/IndexController.php");  


class Unleaded_GiftRegistry_IndexController extends Enterprise_GiftRegistry_IndexController
{

Mage::log("Some useful debugging information");

    /**
     * Add product items to customer active gift registry action
     */
    public function giftregistryAction()
    {

        if ($item = $this->getRequest()->getParam('product')) {
            try {
                $entity = Mage::getModel('enterprise_giftregistry/entity')
                    ->load($this->getRequest()->getParam('entity'));
                if ($entity && $entity->getId()) {
                    $entity->addItem((int)$item);
                    $this->_getSession()->addSuccess(
                        Mage::helper('enterprise_giftregistry')->__('The item have been added to gift registry.')
                    );
                }
            } catch (Mage_Core_Exception $e) {
                if ($e->getCode() == Enterprise_GiftRegistry_Model_Entity::EXCEPTION_CODE_HAS_REQUIRED_OPTIONS) {
                    $product = Mage::getModel('catalog/product')->load((int)$item);
                    $query['options'] = Enterprise_GiftRegistry_Block_Product_View::FLAG;
                    $query['entity'] = $this->getRequest()->getParam('entity');
                    $this->_redirectUrl($product->getUrlModel()->getUrl($product, array('_query' => $query)));
                    return;
                }
                $this->_getSession()->addError($e->getMessage());
                $this->_redirect('giftregistry');
                return;
            } catch (Exception $e) {
                $this->_getSession()->addError($this->__('Failed to add item to gift registry.'));
            }
        }

        $this->_redirect('giftregistry');
    }
}

Заранее благодарю за помощь.

1 Ответ

0 голосов
/ 21 июня 2011

Я думаю, вам нужно изменить конфигурацию на

<frontend>
    <routers>
        <giftregistry>
            <args>
                <modules>
                    <Unleaded_GiftRegistry before="Enterprise_GiftRegistry">Unleaded_GiftRegistry</Unleaded_GiftRegistry>
                </modules>
            </args>
        </giftregistry>
    </routers>
 </frontend>

Обратите внимание, что я заменил "giftregistry" в узле внука на "Unleaded_GiftRegistry".

Кроме того, ваша инструкция Mage::log() никогда не будет выполнена, поскольку она находится вне действия.

Попробуйте использовать ConfigViewer или CommerceBug от @AlanStorm, чтобы проверить, правильно ли анализируются ваши перезаписи с помощью Config Magento.

HTH,
JD

...