magento - مبرمج - مصمم متاجر




الماجنتو 1.9 إعادة توجيه العملاء بعد التسجيل (2)

كنت تفعل ذلك في الطريق الصحيح، وهذا هو أفضل وسيلة لإعادة توجيه العملاء إلى عنوان ورل مخصص.

  1. انتقل إلى كوستومر أكونتكونترولر فيند _welcomeCustomer الأسلوب.
  2. البحث عن $successUrl = $this->_getUrl('*/*/index', array('_secure' => true)); $successUrl = $this->_getUrl('costomURL', array('_secure' => true)); هذا الرمز بعنوان ورل المخصص $successUrl = $this->_getUrl('costomURL', array('_secure' => true));

يعمل بشكل جيد بالنسبة لي.

أود إعادة توجيه جميع العملاء إلى صفحة مخصصة بعد تسجيل ناجحة في الماجنتو 1.9.

لقد حاولت أشياء كثيرة. أولا، أنا بنجاح تجاوز وحدة تحكم حساب العملاء الأساسية.

لقد حاولت تخصيص الإجراءات التالية:

  • createPostAction
  • _successProcessRegistration
  • _welcomeCustomer

من خلال محاولة تعيين عنوان ورل لإعادة التوجيه أو عن طريق تعيين بيفوريوثورل

    //$successUrl = $this->_getUrl('*/*/index', array('_secure' => true));
    $successUrl = $this->_getUrl('*/*/success');
    $this->_getSession()->setBeforeAuthUrl('http://test.local/customer/account/success/');
    if ($this->_getSession()->getBeforeAuthUrl()) {
        $successUrl = $this->_getSession()->getBeforeAuthUrl(true);
    }
    return $successUrl;

يرجى ملاحظة في هذه المرحلة، $ سوتشيسورل هو الصحيح عندما يعود هنا. أرى أن هناك بعض أساليب نشر آخر أن أفترض هي ديستوريينغ هذا ورل والعودة دائما إلى العملاء / حساب / مؤشر.

لقد قرأت العديد من المشاركات حول هذا الموضوع ولا يمكن العثور على إجابة نهائية تحل هذا السؤال.

لقد قمت حتى بتعيين عنصر مخفي شكل 'Success_url' في محاولات لاتباع الخطوات المقدمة في أماكن أخرى كحلول لهذا.

ما هي العملية الكاملة والصحيحة التي يحتاج المرء إلى اتباعها لكي تتمكن من إظهار صفحة نجاح التسجيل مرة واحدة؟


إذا كنت تريد أن تفعل this for customer successfully then you can do this using مراقب الحدث

بعد العميل successfully magento trigger حدث customer_register_success

هذا استدعاء مراقب الذي سوف ريكستيون إلى كوستوم الصفحة

  Mage::app()->getResponse()->setRedirct($Yourdreicurll);

تفاصيل:

الخطوة 1: إنشاء config.xml هو app/code/community/Amit/Custommodule/etc/ - انظر المزيد في: http://www.amitbera.com/create-an-magento-extension-with-custom-database-table/ # sthash.JSktrUD0.dpuf ورمز

<?xml version="1.0" ?>
<config>
    <modules>
        <Amit_Custommodule>
            <version>1.0.0</version>
        </Amit_Custommodule>
    </modules>
    <global>
        <models>
            <custommodule>
                <class>Amit_Custommodule_Model</class>
            </custommodule>
        </models>
    </global>
    <frontend>
      <events>
          <customer_register_success>
        <observers>
          <notify_user>
            <class>custommodule/observer</class>
            <method>myredirection</method>
          </notify_user>
        </observers>
          </customer_register_success>     
        </events>
    </frontend>
</config>

الخطوة 2:

إنشاء وحدة التحكم ملف اسم الوحدة كما أميتكومودول. شمل في التطبيق / الخ / وحدات /

هو رمز

<?xml version="1.0"?>
<config>
    <modules>
        <Amit_Custommodule>
            <codePool>community</codePool>
            <active>true</active>
        </Amit_Custommodule>
    </modules>
</config>

الخطوه 3:

إنشاء Observer.php في أميت> كوستمودول> نموذج

الرمز هو

 <?php
    class Amit_Custommodule_Model_Observer {
        public function myredirection(Varien_Event_Observer $observer) {
        $AccountController = $observer->getEvent()->getAccountController();

        $Customer = $observer->getEvent()->getCustomer();

         $response1 = Mage::app()->getResponse(); // observers have event args

            $url = 'http://www.example.com/';
            $response1->setRedirect($url);
            Mage::app()->getFrontController()->sendResponse();

        return;
      }
    }