我在后端有一个标识符为 veri-sign
的静态 block 我想在其中显示 verisign Logo ,单击该 Logo 会将用户带到 verisign 证书页面。
这是我在后端静态 block 中的代码
<div id="left-block1-verisign" style="border: 2px solid #f4f5e9; width: 180px; padding: 5px;">
<p style="font-size: 18px; font-family: Verdana, Geneva, sans-serif; margin-left: 8px; color: #4e2488;">Safe & Secure</p>
<script src="https://seal.verisign.com/getseal?host_name=www.mysite.com&size=S&use_flash=NO&use_transparent=NO&lang=en"></script>
</div>
我在 page.xml
中调用这个静态 block 像这样在左栏中归档,
<block type="cms/block" name="cms_test_block4">
<action method="setBlockId"><block_id>veri-sign</block_id></action>
</block>
该 block 在没有 Verisign Logo 和文本“Safe and Secure”的情况下显示良好。我浏览了不同论坛上的许多帖子,但从未真正从那里得到答案。
我使用 Firebug 来查看它是否包含我的 Javascript。它包括 <script>
行,但不是其中的 javascript,就是这样,
<script src="https://seal.verisign.com/getseal?host_name=www.mysite.com&size=S& use_flash=NO&use_transparent=NO&lang=en">
<!--
dn="www.mysite.com";
lang="en";
tpt="opaque";
vrsn_style="WW";
splash_url="https://trustsealinfo.verisign.com";
rStr="";
seal_url="https://seal.verisign.com";
u1=splash_url+"/splash?form_file=fdf/splash.fdf&dn="+dn+"&lang="+lang;u2=seal_url+"/getseal?at=0&sealid=2&dn="+dn+"&lang="+lang+rStr;var sopener;function vrsn_splash(){if(sopener&&!sopener.closed){sopener.focus();}else{tbar="location=yes,status=yes,resizable=yes,scrollbars=yes,width=560,height=500";var sw=window.open(u1,'VRSN_Splash',tbar);if(sw){sw.focus();sopener=sw;}}}
var ver=-1;var v_ua=navigator.userAgent.toLowerCase();var re=new RegExp("msie ([0-9]{1,}[\.0-9]{0,})");if(re.exec(v_ua)!==null){ver=parseFloat(RegExp.$1);}
var v_old_ie=(v_ua.indexOf("msie")!=-1);if(v_old_ie){v_old_ie=ver<5;}
function v_mact(e){var s;if(document.addEventListener){s=(e.target.name=="seal");
if(s){vrsn_splash();return false;}}else if(document.captureEvents){var tgt=e.target.toString();s=(tgt.indexOf("splash")!=-1);if(s){vrsn_splash();return false;}}
......
N wHOLE LOAD of VERISIGN COde
-->
</script>
<a tabindex="-1" href="javascript:vrsn_splash()">
<img border="true" alt="Click to Verify - This site has chosen an SSL Certificate to improve Web site security" oncontextmenu="return false;" src="https://seal.verisign.com/getseal?at=0&sealid=2&dn=www.mysite.com&lang=en" name="seal">
</a>
它既不包括脚本中的代码,也不包括图像和 <a>
标签。
不知道脚本是否需要通过page.xml文件添加?但如果是这样的话,它怎么知道它应该从我的 block 中执行。
我在这里有点困惑,需要一些帮助。我敢肯定有人一定已经成功地做到了这一点(包括您的 magento 网站上的 verisign 证书),只是我正在通过静态 block 做。
我在静态 block 中也有一个 twitter 提要,它具有运行良好的外部 twitter JavaScript。但 verisign Logo 没有。
最佳答案
你可以用另一种方式来做这件事。
您需要按照下面给出的方式进行操作:
- 将您的静态 block 调用到任何自定义 PHTML 文件。
- 在此 PHTML 文件中添加您的脚本部分。
- 您可以使用
Page.xml
在左栏中设置此 PHTML 文件。
希望它对你有用!
关于php - 如何在静态 block 中包含 JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10815151/