2016-05-02 13 views
0

MagentoからAdWordsにデータを渡そうとしていますが、コードのスニペットを使用してこの問題を突き止めました。Magento - 非オブジェクト上のloadByIncrementId()メンバ関数を呼び出す

次にコード内の変数を使用して、AdWordsのトラッキングコードに渡します。私は慎重なクライアント情報をブロックしましたが、コードはまだそこにあります。

Magentoのsuccess.phtmlページのbodyタグ内にコードを配置しましたが、実際には機能していないため、実際にはユーザーに表示されるエラーメッセージが返されます。 (良くない)。

は、以下を参照してください。

<?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コードはそれらの行の上にあります)。

このエラーメッセージを調べました。このコードを実行すると、コードの一部が正しくインスタンス化されていないように見えますが、わかりません。

ご協力いただければ幸いです。繰り返しますが、これはADWORDSとMAGENTOがうまく一緒に遊んでいないことです。これらの2つの経験がある場合にのみ回答してください。

ありがとうございます!

答えて

0

PHPコードは、ほぼ右のようだが、私が遭遇した二つのこと:

  • まず:あなたの引用符はMage::getModel('sales/order')->loadByIncrementId();に正しい正しいですか?

    • ここにあなたの兆候が見えているようです。Mage::getModel(‘sales/order’)は一重引用符が正しくありません。
  • 第二には、チェックアウト/セッションモデルMage::getSingleton('checkout/session')が唯一の方法getLastRealOrder()ないgetLastRealOrderId()

+0

すべての良いアイデアを持っていることです。質問:私はこれをどのようにテストできますか?サイトはMagentoにあります。これは、注文した場合にのみsuccess.phtmlページのテストをレンダリングできることを意味します。 –

+0

テスト環境を持っていない限り、これをテストして実環境で注文する必要があるかもしれません。 – codedge

関連する問題