Звонок по номеру счета и электронной почте клиента на сайте success.phtml

Мне нужно назвать номер счета-фактуры и адрес электронной почты клиента на magento Success.phtml грамматически.

Мне нужно это для предварительно заполненного электронного письма для реселлеррейтинга кода выхода из опроса.

<link rel="stylesheet" href="https://www.resellerratings.com/images
/js/dhtml_survey.css" type="text/css" />
<script type="text/javascript">
seller_id =  XXXX;
inv = "B5000";
email_pass = "[email protected]";
document.write('<'+ 'script type="text/javascript" src="https://www.resellerratings.com/images/js/popup_include.js"><\/script>');
</script>

Я знаю, как вызвать ID заказа и итоговую сумму:

     $order = Mage::getModel('sales/order')->loadByIncrementId(Mage::getSingleton('checkout/session')->getLastRealOrderId());
     $amount = number_format($order->getGrandTotal(),2);

Я нашел этот код где-то на форумах magento, но понятия не имею, как вызвать номер счета-фактуры и адрес электронной почты клиента для оценки реселлеров. Помогите мне с этим, пожалуйста.

С уважением, Джон


person Jonathan Bell    schedule 02.12.2011    source источник


Ответы (2)


$customer = Mage::getSingleton('customer/session')->getCustomer();

Будет иметь много данных, которые вам нужны о текущем клиенте.

Re: Выставление счетов: вы создаете счета по мере размещения заказов?

Заказ может иметь несколько счетов-фактур и несколько идентификаторов счетов-фактур.

Посмотрите этот пост, чтобы узнать, как получить идентификаторы счетов: http://www.magentocommerce.com/boards/viewthread/198222/#t313532

person djdy    schedule 02.12.2011
comment
Спасибо за помощь djdy. Очень ценю это. Я должен поместить этот фрагмент кода над кодом рейтинга реселлеров, верно? но как изменить сам код реселлеров? Не могли бы вы помочь мне с изменением самого кода перепродажи, пожалуйста? Я нашел код в ссылке, которую вы мне дали, я также включу этот код в свой success.phtml, но я понятия не имею, что писать в коде рейтингов реселлеров вместо inv = B5000; ‹‹ Вместо B5000 или [email protected] в поле email_pass. Спасибо еще раз : )) - person Jonathan Bell; 03.12.2011
comment
Является ли рейтинг реселлеров сторонним расширением? - person djdy; 03.12.2011
comment
resellerratings на самом деле не является расширением, это сторонний веб-сайт, который собирает отзывы и отображает их в магазинах Google и на других веб-сайтах. Код, который предоставляет resellerratings, размещен выше в моем вопросе. Я смог правильно ввести номер счета-фактуры, теперь у меня проблема с переменной email_pass : (( Еще раз спасибо за помощь, djdy. Я очень ценю это. Благослови Бог... - person Jonathan Bell; 03.12.2011
comment
@JonathanBell Извините, я не знаком с рейтингом реселлеров. Получает ли email_pass клиент? Это настраиваемый атрибут или просто электронная почта? Попробуйте посмотреть на объект клиента, возможно, после getData, просто чтобы увидеть, может ли он быть в нем. - person djdy; 04.12.2011
comment
Опубликую здесь, если у меня будет рабочее решение после тестов. email_pass — это адрес электронной почты клиента, сделавшего заказ. Вы сожалеете? : )) В любом случае, я ценю вашу помощь, djdy, большое спасибо! Я думаю, что теперь я иду в правильном направлении с вашими намеками. - person Jonathan Bell; 07.12.2011

Во-первых, добавьте код наблюдателя событий в ваш модуль config.xml /your_module/etc/config.xml,

<global> 
  <events>
    <sales_order_invoice_save_after>
      <observers>
        <your_module>
          <type>singleton</type>
          <class>your_module/observer</class>
          <method>sales_order_invoice_save_after</method>
        </your_module>
      </observers>
    </sales_order_invoice_save_after>
  </events>
</global>

затем добавьте наблюдателя событий в свой Observer.php /your_module/model/Observer.php

Class NameSpace_Module_Model_Observer()
{  
    public function sales_order_invoice_save_after($observer)
    // here should be save_after because invoice id  not available until the object has been saved that means an order
    {  
        $invoice = $observer->getEvent()->getInvoice(); 
        // to see what variables available in $invoice, use the following
        // echo "<pre>"; print_r($invoice->getData()); exit;
    }
}
person Oğuz Çelikdemir    schedule 03.12.2011