0

我在 Magento 1.7 和它的新副本上运行。

我想要实现的目标:在网站页面加载时,显示时事通讯模板块

{{block type="newsletter/subscribe" template="newsletter/subscribe.phtml"}}

作为 Magento 中的一次弹出窗口,cookie 将在给定时间段后过期,例如:1 周。

网络上的答案要么不具体,要么不够详细,因为我对脚本的了解并不广泛。

到目前为止我尝试了什么:

尝试添加灯箱:

1) 添加灯箱 CSS & JS

    <script type="text/javascript" src="<?php echo $this->getJsUrl('lightbox/lightbox.js'); ?>"></script>

<link rel="stylesheet" type="text/css" href="<?php echo $this->getJsUrl('lightbox/lightbox.css'); ?>" media="screen"/>

2)在 view.phtml 我添加了一个链接

<a href="<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('measurement')->toHtml() ?>" rel="lightbox">Size chart</a>

灯箱正在工作,但未调用静态块...仍在弄清楚如何调用静态框..

4

1 回答 1

0

我已经使用以下步骤成功调用了一个包含静态块的弹出窗口。

http://jsfiddle.net/5USUu/

所以基本上我们需要:

  1. 添加 .js 和 .css 文件 - 我正在使用 colorbox
  2. 定义函数
  3. 调用函数

1)在标题中添加以下脚本

<link rel="stylesheet" type="text/css" href="<?php echo $this->getJSUrl('pop/colorbox.css'); ?>" media="screen"/>
<link rel="stylesheet"  type="text/css" href="<?php echo $this->getJSUrl('pop/popup.css'); ?>" />
<script language="javascript" src="<?php echo $this->getJSUrl('pop/colorbox.js'); ?>"></script>

<script>
jQuery(document).ready(function (){
 if (document.cookie.indexOf('visited=true') == -1){
      var fifteenDays = 1000*60*60*24*15; 
      var expires = new Date((new Date()).valueOf() + fifteenDays);
      document.cookie = "visited=true;expires=" + expires.toUTCString(); 
      jQuery.colorbox({width:"580px", inline:true, href:"#subscribe_popup"});
      }
      jQuery(".open_popup").colorbox({width:"580px", inline:true, href:"#subscribe_popup"});
      });
</script>

2)在链接到您的弹出窗口的html中添加此链接

<a href="#" class="open_popup">Click here to open the popup</a>

3)添加包含您的静态块标识符的 html

<div style='display:none'>
<div id='subscribe_popup' style='padding:10px;'> 
<!-- BEGIN #subs-container --> 
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('subscribe')->toHtml() ?>
<div id="subs-container" class="clearfix"> </div>
</div>
</div>
<!-- END subscribe popup--> 
于 2013-05-21T11:45:12.927 回答