2012-01-12 70 views
1

我正在尋找一個簡單的擴展,允許通過管理控制檯加載一些背景圖片,並顯示在前端每用戶會話(不刷新)。我不認爲任何東西都在那裏,所以一些關於如何開始構建一個的指示器也會很棒。謝謝!Magento每次會話改變背景

+0

你想做它作爲一個擴展或簡單的主題調整將是可以嗎? – 2012-01-12 20:52:30

+0

看看這個網站:[使用JavaScript改變背景的Cookie](http://www.codingforums.com/showthread.php?t=67922),或者這個頁面在他們的代碼中使用了Cookie技術[改變頁面背景圖片](http://docstore.mik.ua/orelly/webprog/DHTML_javascript/0596004672_jvdhtmlckbk-chp-12-sect-7.html) – 2012-01-12 22:41:16

+0

@Dick Laurent - 任何東西都和我一樣酷。 – 2012-01-12 22:59:22

回答

2

以下是您的解決方案。

您可以通過Magento admin將圖像上傳到媒體存儲。假設你在那裏創建了一個subdir「backgrounds」,並在那裏上傳了各種圖像。然後,所有你需要做的是添加以下代碼到應用程序/設計/前端/ [您接口]/[您的主題] /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; ?> 

沒有測試它生活。讓我知道。

+0

這段代碼看起來很有前途 - 我今天會嘗試檢查一下,我會告訴你它是如何工作的。謝謝! – 2012-01-13 14:01:40