Пользовательский модуль Magento получает подробности из бэкэнда - PullRequest
0 голосов
/ 04 мая 2011

У меня проблема с получением данных из бэкэнда, поэтому я могу показать их в моем контроллере.

Например, у меня есть этот модуль: http://www.magentocommerce.com/wiki/5_-_modules_and_development/payment/create-payment-method-module

в config.xml я добавлю маршрутизаторы для контроллеров

<frontend>
    <routers>
        <custompay>
            <use>standard</use>
            <args>
                <module>CompanyName_NewModule</module>
                <frontName>newmodule</frontName>
            </args>
        </custompay>
    </routers>
</frontend>

Controller ( CompanyName / NewModule / controllers / IndexController.php )

class CompanyName_NewModule_IndexController extends Mage_Core_Controller_Front_Action {

    protected $_order;

    public function getOrder() {
        if ($this->_order == null) {

        }
        return $this->_order;
    }

    public function indexAction(){
        $session = Mage::getSingleton('checkout/session');
        $session->setCompanyNameNewModuleQuoteId($session->getQuoteId());
        $this->getResponse()->setBody($this->getLayout()->createBlock('newmodule/redirect')->toHtml());
        $session->unsQuoteId();
        $session->unsRedirectUrl();
    }

}

Блок ( CompanyName / NewModule / Block / Redirect.php )

class CompanyName_NewModule_Block_Redirect extends Mage_Core_Block_Abstract {

    protected function _toHtml() {
        $html = '<html><body>';
        $html.= $this->__('You will be redirected to the payment website in a few seconds.');
        $html.= '</body></html>';

        return $html;
    }
}

Вот проблема.У меня нет идеи о том, как я могу получить подробности из бэкэнда, и я буду использовать его в блоке redirect.php .И как я могу получить информацию о продукте, который клиент хочет приобрести.

Я знаю, что мне нужно включить модель, чтобы я мог получить детали, и когда я печатаю_r, это

Mage::getSingleton('checkout/session');

Я не вижу сведений о продукте.

Пожалуйста, поделитесь некоторыми знаниями или ссылками.Ваша помощь станет большим вкладом для начинающих разработчиков magento.Спасибо.

Ответы [ 2 ]

2 голосов
/ 04 мая 2011

вы можете сделать что-то подобное в своем блоке, чтобы получить цитату и использованный метод оплаты

$quote = Mage::getSingleton('checkout/session')->getQuote();

//to assure that you don't initiate a new instance with Mage::getModel('yourextension/model'); and always use the same instance 
$paymentMethod = $quote->getPayment()->getMethodInstance(); 

//assuming that this is implemented and returns Mage::getStoreConfig('your/config/path');
$paymentMethodConfig = $paymentMethod()->getConfig();

$products = $quote->getAllItems();
2 голосов
/ 04 мая 2011
$products = Mage::getSingleton('checkout/session')->getQuote()->getAllItems();

Проверьте эту статью для более: - Magento: Получить все элементы корзины и итоги

Надеюсь, это поможет. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...