Session Magento更改每个会话的背景

Session Magento更改每个会话的背景,session,magento,background,Session,Magento,Background,我正在寻找一个简单的扩展,允许通过管理控制台加载一些背景图片,并显示在前端每个用户会话(而不是刷新)。我不认为有什么是存在的,所以一些关于如何开始建立一个将是伟大的。谢谢 这里有一个解决方案 您可以通过Magento admin将图像上载到媒体存储中。假设您在那里创建了一个细分“背景”,并在那里上传了各种图像。然后,您只需将以下代码添加到app/design/frontend/[您的界面]/[您的主题]/template/page/html/header.php中 <?php if(!

我正在寻找一个简单的扩展,允许通过管理控制台加载一些背景图片,并显示在前端每个用户会话(而不是刷新)。我不认为有什么是存在的,所以一些关于如何开始建立一个将是伟大的。谢谢

这里有一个解决方案

您可以通过Magento admin将图像上载到媒体存储中。假设您在那里创建了一个细分“背景”,并在那里上传了各种图像。然后,您只需将以下代码添加到app/design/frontend/[您的界面]/[您的主题]/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; ?>

背景:url();

没有进行现场测试。让我知道。

你想做一个扩展还是简单的主题调整对你合适?看看这个网站:或者这个页面在他们的代码中使用了cookie技术@Dick Laurent-我觉得任何东西都很酷。现在我想得更多了……这需要使用当前的Magento会话。i、 e:重置用户的存储会话时更改背景。我对复制会话或创建额外的cookie不感兴趣。这段代码看起来很有希望-我今天会尝试检查一下,我会让你知道它是如何工作的。谢谢