[英]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.