簡體   English   中英

在Magento一頁結帳頁面中添加SSL授權javascript代碼

[英]adding SSL authority javascript code in Magento one page checkout page

我一直試圖在一頁Magento結帳時添加由SSL簽名機構提供的一串javscript代碼。 Magento中的某些內容似乎在簽出的第一步后就剝離了javascript代碼,但是我找不到令人討厭的代碼。 還有其他人注意到此問題或解決方案嗎?

我將JS代碼添加到\\ app \\ design \\ frontend \\ default \\ myTheme \\ template \\ checkout \\ onepage \\ progress.phtml的底部。

代碼如下所示:

 <span id="siteseal"><script type="text/javascript" src="https://seal.godaddy.com/getSeal?sealID=xxx"></script></span>

起初我以為它是隱藏的,但是徽標出現在第一步,但隨后的步驟消失了,但是“ siteseal”跨度仍然存在-空

雖然進度部分的初始輸出是基於PHP的,但是隨着您逐步移動,Magento會通過AJAX 更新頁面的進度部分。 這由以下代碼處理

#File: skin/frontend/base/default/js/opcheckout.js
reloadProgressBlock: function(toStep) {
    var updater = new Ajax.Updater('checkout-progress-wrapper', this.progressUrl, {
        method: 'get',
        onFailure: this.ajaxFailure.bind(this),
        parameters: toStep ? {toStep: toStep} : null
    });
},

如果查看Ajax.Updater的文檔,則會看到Magento不會傳遞的其他選項

evalScripts(布爾值;默認為false):是否應該評估響應文本中的元素。

這意味着當Magento通過Ajax更新頁面的該部分時,不會評估腳本,這是您看到所描述行為的最可能原因。

為了解決您的問題,我跳過了將代碼添加到progress.phtml模板的過程,而是使用以下布局更新(在local.xml ,或者這是您所local.xml其他方式)

<layouts>
    <checkout_onepage_index>
        <reference name="right">
            <block type="core/text" name="my_extra_stuff" before="checkout.progress.wrapper">
                <action method="setText"><text><![CDATA[
                <span id="siteseal"><script type="text/javascript" src="https://seal.godaddy.com/getSeal?sealID=xxx"></script></span>
                ]]></text></action>
            </block>
        </reference>
    </checkout_onepage_index>
</layouts>  

如果要將代碼放在進度表的下面,只需從布局更新xml中刪除before="checkout.progress.wrapper"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM