0

我们已经在我们的网店中构建了一个自定义 Magento 模块,用于联系查询。

请参阅下面的 IndexController。我们想更改每个商店视图的重定向路线。我们怎样才能做到这一点?

<?php
class MVE_ContactInquiry_IndexController extends Mage_Core_Controller_Front_Action
{
    public function indexAction()
    {
        $this->loadLayout();
        $block = $this->getLayout()->createBlock(
            'Mage_Core_Block_Template',
            'mve.contact_inquiry',
            array(
                'template' => 'mve/contact_inquiry.phtml'
            )
        );
        $this->getLayout()->getBlock('content')->append($block);
        //$this->getLayout()->getBlock('right')->insert($block, 'catalog.compare.sidebar', true);
        $this->_initLayoutMessages('core/session');
        $this->renderLayout();
    }
    public function sendemailAction()
    {

        $params = $this->getRequest()->getParams();
        $mail = new Zend_Mail();       
        $bodytext = '
            Naam: ' . $params['name'] . '
            E-mailadres: ' . $params['email'] . '
            Telefoonnummer: ' . $params['telephone'] . '
            Bericht:
            ' . $params['comment'];
        $mail->setBodyText( $bodytext );

        $mail->setFrom($params['email'], $params['name']);
        $mail->addTo('example@gmail.com');
        $mail->setSubject('Contact aanvraag');
        try {
            $mail->send();
        }
        catch(Exception $ex) {
            Mage::getSingleton('core/session')->addError('Unable to send email.');
        }

        $this->_redirect('contact/bedankt');
    }
}
?>
4

1 回答 1

1

选项1

在 /app/code/local/MVE/ContactInquiry/etc/system.xml

假设您想在左侧导航中创建自己的 Tab

<?xml version="1.0"?>
<config>
    <tabs>
        <mve_tab translate="label" module="contactinquiry">
            <label>MVE</label>
            <sort_order>900</sort_order>
        </mve_tab>
    </tabs>
    <sections>
        <contactinquiry translate="label" module="contactinquiry">
            <label>Admin Order Confirmation</label>
            <tab>mve_tab</tab>
            <sort_order>1001</sort_order>
            <show_in_default>1</show_in_default>
            <show_in_website>1</show_in_website>
            <show_in_store>1</show_in_store>
            <groups>
                <general_option translate="label">
                    <label>General Options</label>
                    <frontend_type>text</frontend_type>
                    <sort_order>1</sort_order>
                    <show_in_default>1</show_in_default>
                    <show_in_website>1</show_in_website>
                    <show_in_store>1</show_in_store>
                    <fields>
                        <redirect_url translate="label">
                            <label>URL </label>
                            <frontend_type>text</frontend_type>
                            <sort_order>1</sort_order>
                            <show_in_default>1</show_in_default>
                            <show_in_website>1</show_in_website>
                            <show_in_store>1</show_in_store>
                        </redirect_url>
                    </fields>
                </general_option>
            </groups>>
        </contactinquiry>
    </sections>
</config>

为了在你的控制器中获得价值,你做

Mage::getStoreConfig('contactinquiry/general_option/redirect_url', Mage::app()->getStore()->getId())

有关更多帮助,请参阅管理配置的 XML

选项 2

if(Mage::app()->getStore()->getStoreId() == 1){
    $this->_redirect('contact/...');
}
else if(Mage::app()->getStore()->getStoreId() == ...){
    $this->_redirect('contact/..');
}
else{
    $this->_redirect('contact/bedankt');
}

选项 3

您还可以在每个表单中添加一个隐藏字段,其中包含要重定向到的 url

于 2012-12-06T14:59:04.477 回答