如何在静态块中包含JavaScript?

时间:2012-05-30 11:13:47

标签: php javascript html magento

我在后端有一个带有标识符veri-sign的静态块,我希望在其中显示veri-sign徽标,点击该徽标时会将用户带到verisign证书页面。

这是我在后端静态块中的代码

       <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 &amp; Secure</p>
      <script src="https://seal.verisign.com/getseal?host_name=www.mysite.com&amp;size=S&amp;use_flash=NO&amp;use_transparent=NO&amp;lang=en"></script>
      </div>

我在左栏中的page.xml文件中调用此静态块,如下所示,

      <block type="cms/block" name="cms_test_block4">
           <action method="setBlockId"><block_id>veri-sign</block_id></action>
      </block>

该块显示正常,没有Verisign徽标,只有文本'安全且安全'。我在不同的论坛上经历了很多帖子,但从未真正从那里得到答案。

我使用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文件添加脚本?但如果是这样的话,它怎么会知道它应该从我的块中执行。

我有点困惑,需要一些帮助。我确信有些人必须成功地做到这一点(包括你的magento网站上的verisign证书),只是我正在做一个静态阻止。

我在静态块中也有一个twitter feed,它有外部的twitter JavaScript,工作正常。但是verisign徽标没有。

1 个答案:

答案 0 :(得分:2)

你可以用另一种方式做这件事。

您需要按照以下方式进行操作:

  1. 将您的静态区块称为任何自定义PHTML文件。
  2. 在此PHTML文件中添加脚本部分。
  3. 您可以使用Page.xml
  4. 在左栏中设置此PHTML文件

    希望它对你有用!