添加SSL授权javascript代码在Magento一页结帐页

adding SSL authority javascript code in Magento one page checkout page

本文关键字:一页 Magento SSL 授权 javascript 代码 添加      更新时间:2023-09-26

我一直在尝试在单页Magento checkout的页边空白处添加由SSL签名机构提供的一串javascript代码。Magento中的某些东西似乎在结帐的第一步之后剥离javascript代码,但我找不到违规代码。还有人注意到这个问题或解决方案吗?

我在'app'design'frontend'default'myTheme'template'checkout'onepage'progress. php的底部添加了JS代码。

代码是这样的:

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

起初我以为它是隐藏的,但标志出现在第一步,但在随后的步骤中消失了,然而" sitesseal " span仍然在那里-empty

虽然进度部分的初始输出是基于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"