2013-01-11 46 views
1

我一直在嘗試添加由SSL簽名權限提供的javscript代碼的字符串,其中包含一頁Magento結帳頁邊距。 Magento中的某些東西好像在退房的第一步後就會剝離出JavaScript代碼,但我找不到有問題的代碼。其他人注意到這個問題或解決方案?我將JS代碼添加到\ app \ design \ frontend \ default \ myTheme \ template \ checkout \ onepage \ progress.phtml底部。在Magento的單頁結帳頁面中添加SSL權限javascript代碼

代碼是這樣的:

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

起初我還以爲是隱藏的,但標誌上出現了第一步,但消失的後續步驟,但是「siteseal」跨度仍然存在-empty

+0

這將有助於瞭解如何添加代碼頁面,以及除了代碼如何保存在AJAX頁面的多個部分之外。 –

+0

完美,這正是我需要知道回答這個問題。 –

回答

1

儘管進度部分的初始輸出是基於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,或別的地方,如果這是你的風格)

<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"

相關問題