2012-06-07 60 views
4

我正在嘗試將Google信任徽章添加到我的magento商店。我試圖在Magento網站上搜索擴展,但我找不到一個。我是否需要將以下代碼粘貼到產品和結帳頁面,或者我必須對其進行更改?如果有人能指引我走向正確的方向,我將非常感激。將Google信任徽章添加到Magento

<!-- BEGIN: Google Trusted Store --> 
<script type="text/javascript"> 
    var gts = gts || []; 

    gts.push(["id", "54785"]); 
    gts.push(["google_base_offer_id", "ITEM_PRODUCT_SEARCH_ID"]); 
    gts.push(["google_base_subaccount_id", "ITEM_PRODUCT_SEARCH_ACCOUNT_ID"]); 
    gts.push(["google_base_country", "ITEM_PRODUCT_SEARCH_COUNTRY"]); 
    gts.push(["google_base_language", "ITEM_PRODUCT_SEARCH_LANGUAGE"]); 

    (function() { 
    var scheme = (("https:" == document.location.protocol) ? "https://" : "http://"); 
    var gts = document.createElement("script"); 
    gts.type = "text/javascript"; 
    gts.async = true; 
    gts.src = scheme + "www.googlecommerce.com/trustedstores/gtmp_compiled.js"; 
    var s = document.getElementsByTagName("script")[0]; 
    s.parentNode.insertBefore(gts, s); 
    })(); 
</script> 
<!-- END: Google Trusted Store --> 


<!-- START Trusted Stores Order --> 
<div id="gts-order" style="display:none;"> 

    <!-- start order and merchant information --> 
    <span id="gts-o-id">MERCHANT_ORDER_ID</span> 
    <span id="gts-o-domain">MERCHANT_ORDER_DOMAIN</span> 
    <span id="gts-o-email">CUSTOMER_EMAIL</span> 
    <span id="gts-o-country">CUSTOMER_COUNTRY</span> 
    <span id="gts-o-currency">CURRENCY</span> 
    <span id="gts-o-total">ORDER_TOTAL</span> 
    <span id="gts-o-discounts">ORDER_DISCOUNTS</span> 
    <span id="gts-o-shipping-total">ORDER_SHIPPING</span> 
    <span id="gts-o-tax-total">ORDER_TAX</span> 
    <span id="gts-o-est-ship-date">ORDER_EST_SHIP_DATE</span> 
    <span id="gts-o-has-preorder">HAS_BACKORDER_PREORDER</span> 
    <span id="gts-o-has-digital">HAS_DIGITAL_GOODS</span> 
    <!-- end order and merchant information --> 

    <!-- start repeated item specific information --> 
    <!-- item example: this area repeated for each item in the order --> 
    <span class="gts-item"> 
    <span class="gts-i-name">ITEM_NAME</span> 
    <span class="gts-i-price">ITEM_PRICE</span> 
    <span class="gts-i-quantity">ITEM_QUANTITY</span> 
    <span class="gts-i-prodsearch-id">ITEM_PRODUCT_SEARCH_ID</span> 
    <span class="gts-i-prodsearch-store-id">ITEM_PRODUCT_SEARCH_ACCOUNT_ID</span> 
    <span class="gts-i-prodsearch-country">ITEM_PRODUCT_SEARCH_COUNTRY</span> 
    <span class="gts-i-prodsearch-language">ITEM_PRODUCT_SEARCH_LANGUAGE</span> 
    </span> 
    <!-- end item 1 example --> 
    <!-- end repeated item specific information --> 

</div> 
<!-- END Trusted Stores --> 
+4

因此,您可以向Google提供有關您的客戶的更多信息? (我知道,一個小題目,但有些想法...) –

+0

嗨@Paul我很抱歉,但我不想把這個代碼放到?我只是想做更多的業務。雖然,我擔心我的客戶隱私。我不認爲Google會濫用它。 – FlourishDNA

+1

「我不認爲Google會濫用它」 - 濫用是這樣一個主觀詞! :) –

回答

2

您可以在app/design/frontend/default/USED_TEMPLATE/template/checkout/onepage.phtml的底部插入該代碼,使其顯示在最終結帳頁面上。

您需要填寫變量,使用Magento函數並輸出它們。例如:

// Magento .phtml-style 
<?php $cart = Mage::getSingleton('checkout/cart'); ?> 
<span class="gts-i-quantity"><?php echo $cart->getItemsCount(); ?></span>` 

或者你走很長的路,使用Magento的鉤在自己的擴展到目前的谷歌 - 摘錄不管你想要的,而不需要實現它的模板。

+1

這實際上應該在結賬*成功*頁面上,它在結帳頁面上沒有好處,'$ cart-> getItemsCount()'返回您購物車中物品的數量,而不是訂購物品的數量,因爲'gts-i-quantity'應該是。 – nachito

+0

我對上面的Google代碼一無所知。所以我不知道它會放在哪裏最好,'$ cart-> getItemsCount()'也只是一個例子。 – feeela

+0

Hi @feeela,我給Google寫了一封電子郵件,他們告訴我第一個代碼會進入頁腳,而另一個代碼則會進入成功頁面。 – FlourishDNA

6

Implementing Google Trusted Stores#3 Add the JavaScript to Your Site

谷歌實際上是希望你把第一部分上網站的每個頁面。您可以將其添加到「系統」>「配置」>「常規」>「設計」中的「頁腳」>「其他HTML」中,而不是在模板文件中執行此操作。我刪除了ITEM_PRODUCT_SEARCH_IDITEM_PRODUCT_SEARCH_ACCOUNT_ID,但隨時可以編輯您的產品頁面以添加此數據。下面的代碼:

<!-- BEGIN: Google Trusted Store --> 
<script type="text/javascript"> 
    var gts = gts || []; 

    gts.push(["id", "54785"]); 
    gts.push(["google_base_country", "US"]); 
    gts.push(["google_base_language", "en"]); 

    (function() { 
    var scheme = (("https:" == document.location.protocol) ? "https://" : "http://"); 
    var gts = document.createElement("script"); 
    gts.type = "text/javascript"; 
    gts.async = true; 
    gts.src = scheme + "www.googlecommerce.com/trustedstores/gtmp_compiled.js"; 
    var s = document.getElementsByTagName("script")[0]; 
    s.parentNode.insertBefore(gts, s); 
    })(); 
</script> 
<!-- END: Google Trusted Store --> 

Screenshot of Magento System/Config/Design/Footer HTML

的代碼的其餘部分只需要爲結帳成功頁面(應用程序/設計/前端/ {您}/{主題} /模板/結帳/success.phtml)。我們需要加載訂單以獲取客戶的電子郵件,國家和訂單數據。您需要實施邏輯以確定是否有任何商品處於延期交貨狀態,是否有任何商品是下載商品,以及商品何時發貨。在該文件中添加此的任何地方:

<?php 
    $orderId = $this->getOrderId(); 
    $order = Mage::getModel('sales/order')->loadByIncrementId($orderId); 
    $customer = Mage::getModel('customer/customer')->load($order->getCustomerId()); 
    $address = $order->getShippingAddress(); 
    $backorder = false; // some backorder logic 
    $download = false; // some download logic 
    $shipDate = new Zend_Date(); // some logic to determine ship date 
?> 
<!-- START Trusted Stores Order --> 
<div id="gts-order" style="display:none;"> 

<!-- start order and merchant information --> 
<span id="gts-o-id"><?php echo $orderId; ?></span> 
<span id="gts-o-domain">{www.yourstore.com}</span> 
<span id="gts-o-email"><?php echo htmlentities($customer->getEmail()); ?></span> 
<span id="gts-o-country"><?php echo htmlentities($address->getCountryId()); ?></span> 
<span id="gts-o-currency">USD</span> 
<span id="gts-o-total"><?php echo $order->getGrandTotal(); ?></span> 
<span id="gts-o-discounts">-<?php echo $order->getDiscountAmount(); ?></span> 
<span id="gts-o-shipping-total"><?php echo $order->getShippingAmount(); ?></span> 
<span id="gts-o-tax-total"><?php echo $order->getTaxAmount(); ?></span> 
<span id="gts-o-est-ship-date"><?php echo $shipDate->toString('yyyy-MM-dd'); ?></span> 
<span id="gts-o-has-preorder"><?php echo $backorder ? 'Y' : 'N'; ?></span> 
<span id="gts-o-has-digital"><?php echo $download ? 'Y' : 'N'; ?></span> 
<!-- end order and merchant information --> 

<!-- start repeated item specific information --> 
<?php foreach ($order->getAllItems() as $item): ?> 
<span class="gts-item"> 
<span class="gts-i-name"><?php echo htmlentities($item->getName()); ?></span> 
<span class="gts-i-price"><?php echo $item->getBasePrice(); ?></span> 
<span class="gts-i-quantity"><?php echo (int)$item->getQtyOrdered(); ?></span> 
<span class="gts-i-prodsearch-country">US</span> 
<span class="gts-i-prodsearch-language">en</span> 
</span> 
<?php endforeach; ?> 
<!-- end repeated item specific information --> 

</div> 
<!-- END Trusted Stores --> 
+0

實際上,Google希望獲取客戶*送貨地址*,而不是帳單地址,因爲他們有興趣跟蹤您是否正確發貨。顯然我無法編輯你的文章,但你可能想要。 – acorncom

+0

@acorncom:極好的一點,我編輯了這篇文章。 – nachito

+0

2年後還在爲Magento工作!謝謝@nachito。我發現的唯一問題是您的代碼段不允許客人發送電子郵件。 '$ email = $ customer-> getData('email'); $ email_address2 = $ address-> getEmail(); if($ email ==「」)$ email = $ email_address2; ' –

2

的代碼肯定需要在應用程序文件夾中的結賬成功頁面(應用程序/設計上/ frontend/yourtheme /template/checkout/success.phtml)。我在這裏找到了我的答案magento badge implementation,但正如幾個答案所示,LOGIC認爲它很重要,並且每個商店通常都有所不同,具體取決於您正在運行的擴展程序和定製開發。

<!– START Google Trusted Stores Order –> 
<div id=」gts-order」 style=」display:none;」 translate=」no」> 

<!– start order and merchant information –> 
<span id=」gts-o-id」><?php echo $orderId; ?></span> 
<span id=」gts-o-domain」>[INSERT URL (www.example.com)]</span> 
<span id=」gts-o-email」><?php echo htmlentities($customer->getEmail()); ?></span> 
<span id=」gts-o-country」><?php echo htmlentities($address->getCountryId()); ?></span> 
<span id=」gts-o-currency」>[USD]</span> 
<span id=」gts-o-total」><?php echo round_and_kep($order->getGrandTotal()); ?></span> 
<span id=」gts-o-discounts」>[CALL IT OUT WITH CODE – use 0 if no discounts]</span> 
<span id=」gts-o-shipping-total」><?php echo round_and_kep($order->getShippingAmount()); ?></span> 
<span id=」gts-o-tax-total」><?php echo round_and_kep($order->getTaxAmount()); ?></span> 
<span id=」gts-o-est-ship-date」><?php echo $shipDate->toString(‘yyyy-MM-dd’); ?></span> 
<span id=」gts-o-est-delivery-date」><?php echo $shipDate->toString(‘yyyy-MM-dd’); ?></span> 
<span id=」gts-o-has-preorder」><?php echo $backorder ? ‘Y’ : ‘N'; ?></span> 
<span id=」gts-o-has-digital」><?php echo $download ? ‘Y’ : ‘N'; ?></span> 
<!– end order and merchant information –> 

<!– start repeated item specific information –> 
<!– item example: this area repeated for each item in the order –> 
<span class=」gts-item」> 
<span class=」gts-i-name」><?php echo htmlentities($item->getName()); ?></span> 
<span class=」gts-i-price」><?php echo round_and_kep($item->getBasePrice()); ?></span> 
<span class=」gts-i-quantity」><?php echo (int)$item->getQtyOrdered(); ?></span> 
<span class=」gts-i-prodsearch-id」>[ITEM_GOOGLE_SHOPPING_ID]</span> 
<span class=」gts-i-prodsearch-store-id」>[YOUR STORE ID GIVEN TO YOU BY GOOGLE]</span> 
<span class=」gts-i-prodsearch-country」>US</span> 
<span class=」gts-i-prodsearch-language」>en</span> 
</span> 
<!– end item 1 example –> 
<!– end repeated item specific information –> 

</div> 
<!– END Google Trusted Stores Order –>