2016-05-02 3 views
0

Я пытаюсь передать данные из Magento в AdWords, используя фрагмент кода, который я нашел, выкрикивая о проблеме.Magento - вызов функции-члена loadByIncrementId() для необъекта

Затем я беру переменную в код и передаю ее в свой код отслеживания AdWords. Я заблокировал конфиденциальную информацию о клиенте, но код все еще существует.

Я разместил код в тегах тела на странице success.phtml в Magento, но он не работает и фактически возвращает сообщение об ошибке, которое видно пользователю. (нехорошо).

Смотрите ниже:

<?php 
$order_details = Mage::getModel(‘sales/order’)->loadByIncrementId(Mage::getSingleton(‘checkout/session’)->getLastRealOrderId()); 
$adwords_saleamt = $order_details->subtotal; 
?> 

<!-- Google Code for Website Conversions Conversion Page --> <script type="text/javascript"> 
/* <![CDATA[ */ 
var google_conversion_id = 1011076746; 
var google_conversion_language = "en"; 
var google_conversion_format = "3"; 
var google_conversion_color = "ffffff"; 
var google_conversion_label = "3B7tCPfZj2YQip2P4gM"; var google_conversion_value = $adwords_saleamt; var google_conversion_currency = "USD"; var google_remarketing_only = false; 
/* ]]> */ 
</script> 
<script type="text/javascript" 
src="//www.googleadservices.com/pagead/conversion.js"> 
</script> 
<noscript> 
<div style="display:inline;"> 
<img height="1" width="1" style="border-style:none;" alt="" 
src="//www.googleadservices.com/pagead/conversion/1011076746/?value=$adwords_saleamt&amp;currency_code=USD&amp;label=3B7tCPfZj2YQip2P4gM&amp;guid=ON&amp;script=0"/> 
</div> 
</noscript> 

Точная ошибка Фатальная ошибка: Вызов функции члена loadByIncrementId() на не-объект в (каталог страниц здесь) в строке 67 (строка 67 строка 2 в мой код, а остальная часть кода success.phtml находится над этими строками).

Я изучил это сообщение об ошибке. Похоже, что часть моего кода не создается должным образом при запуске этого PHP-кода, но я не уверен, что.

Любая помощь будет оценена по достоинству. Опять же, это ADWORDS и MAGENTO, которые не играют хорошо вместе. Пожалуйста, ответьте только если у вас есть опыт работы с этими двумя.

Спасибо!

ответ

0

РНР код кажется почти сразу, но две вещи я столкнулся:

  • Первое: Ваши цитаты правильно Mage::getModel('sales/order')->loadByIncrementId(); правильно?

    • Похоже, что вы указали знаки сигл здесь Mage::getModel(‘sales/order’) не верны одинарные кавычки.
  • Во-вторых, что/Модель Checkout Session Mage::getSingleton('checkout/session') имеет только метод getLastRealOrder()неgetLastRealOrderId()

+0

Все хорошие идеи. Вопрос: как я могу проверить это? Сайт находится в Magento, что означает, что я могу только выполнить проверку страницы success.phtml, если я разместил заказ. –

+0

Правильно, если у вас нет среды тестирования, вам, вероятно, нужно протестировать это размещение заказа в вашей живой среде. – codedge

Смежные вопросы