Magento每次更改背景

时间:2012-01-12 19:40:48

标签: session magento background

我正在寻找一个简单的扩展,允许通过管理控制台加载一些背景图片并在每个用户会话的前端显示它们(而不是刷新)。我认为没有任何东西在那里,所以关于如何开始构建一个的一些指针也会很棒。谢谢!

1 个答案:

答案 0 :(得分:2)

这是一个适合您的解决方案。

您可以通过Magento管理员将图像上传到媒体存储中。让我们说你在那里创建了一个子目录“背景”并在那里上传了各种图像。然后你需要做的就是将以下代码添加到app / design / frontend / [your-interface] / [your-theme] /template/page/html/header.php

<?php

 if(!$background = Mage::getSingleton('core/session')->getBackground()){
  $img_arr = array();
  if($handle = opendir(Mage::getBaseDir('base').'/media/backgrounds/')){
   while(false !== ($entry = readdir($handle))){
    if(!preg_match('/^\.+$/', $entry)){
     $img_arr[] = $entry;
    }
   }
   closedir($handle);
  }
  if($img_cnt = count($img_arr)){
   $background = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK).$img_arr[rand(0, $img_cnt-1)]
   Mage::getSingleton('core/session')->setBackground($background);
  }
 }

?>
<?php if(isset($background) && $background) : ?>
<style> background:url(<?php echo $background; ?>); </style>
<?php endif; ?>

未进行现场测试。让我知道。