php - 如何在静态 block 中包含 JavaScript?

标签 php javascript html magento

我在后端有一个标识符为 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 &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 像这样在左栏中归档,

      <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 没有。

最佳答案

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

您需要按照下面给出的方式进行操作:

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

希望它对你有用!

关于php - 如何在静态 block 中包含 JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10815151/

相关文章:

javascript - JQuery - 只需走进主要的 li 元素

php - PHP数组在C层面是如何实现的?

php - 仅当记录不存在时插入数据

javascript - 如何根据N :N relationship 检索SOAP中的相关记录

javascript - nodejs/selenium webdriver : Can't move mouse to a required position

javascript - 谷歌地图中弹出信息框

Oracle数据库中日期的PHP格式

php - Joomla getUser() 不显示更新的用户数据

javascript - 解除绑定(bind)不起作用

html - 控制一段高度