如何在Magento中重新加载块?

时间:2015-11-24 15:21:45

标签: php html css magento

我正在Magento上为圣诞节做一个模块。 每天都会在网站的索引页面上显示弹出窗口。 此弹出窗口将包含图像和链接。

要加载弹出窗口,我定义要使用的css(module.phtml):

<?php
    $today = explode(".",date("d.m.y")); 
    $month = $today[1];
    $day = $today[0];
    $file = 'POP UP '.$day.'.jpg';      
    $class = 'block block-AdventCalendar'.$day; 
?>

<div class="<?php echo $class ?>">
</div>

CSS文件(app-base.css)中的示例:

.block-AdventCalendar1 {
 background-image: url('../images/popupAdvent/POP UP 1.jpg');
 background-size: 100% 100%;
 color: #fff;
 margin: 0;
 height:350px;
 width :700px;
}

此代码工作正常,但是当白天更改时,Magento会加载错误的CSS类。 要显示正确的图像,我必须每天清除Magento缓存。

但是,当我在phtml文件中修改某些内容时,会立即显示更改,只会重新加载内联CSS。

有人有想法强制phtml加载正确的CSS吗?

3 个答案:

答案 0 :(得分:0)

尝试使用它:

Mage::app()->cleanCache();

在代码加载后清除Magento缓存。

答案 1 :(得分:0)

你也可以尝试JavaScript替代方案:

<script>
  var dateObj = new Date();
  var month = dateObj.getUTCMonth() + 1; //months from 1-12
  var day = dateObj.getUTCDate();
  var element = document.getElementById('your_div_id');

  if (element) {
    element.className += element.className ? ' block-AdventCalendar'+day : 'block-AdventCalendar'+day;
  }
</script>

在要添加类的div之后添加此项。另外,为您的div提供唯一ID(<div id="your_div_id">...</div>

答案 2 :(得分:0)

问题不在于CSS。 如果我改变它或phtml,所有改变都是立即的。

只有div类保持不变

<div class="<?php echo $class ?>">