我正在尋找一個簡單的擴展,允許通過管理控制檯加載一些背景圖片,並顯示在前端每用戶會話(不刷新)。我不認爲任何東西都在那裏,所以一些關於如何開始構建一個的指示器也會很棒。謝謝!Magento每次會話改變背景
1
A
回答
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
相關問題
- 1. 每次訪問更改背景圖片
- 2. 每10秒改變一次身體背景
- 3. CheckableLinearLayout背景確實會隨着背景選擇器而改變
- 4. 按鈕不會改變背景點擊
- 5. 身體背景顏色不會改變
- 6. 當活動會改變背景
- 7. WCF:此場景中每次會話的每次呼叫會更好?
- 8. 更改背景onclick兩次
- 9. 更改Magento的身體背景每隻貓ID
- 10. Android Studio多次改變背景顏色,點擊1次按鈕
- 11. 使用jQuery設置背景圖像只能改變背景一次
- 12. jquery.Countdown - 改變背景顏色
- 13. 改變UITableViewCell的背景
- 14. sIFR和改變背景
- 15. 角背景圖像改變
- 16. 改變背景圖像jquery
- 17. 改變背景顏色
- 18. 改變表格的背景
- 19. 改變背景顏色onclick
- 20. 改變背景顏色
- 21. 每次打開鍵盤都會調整背景圖片
- 22. 每當我滾動隨機物品時改變項目背景顏色也改變背景顏色
- 23. 需要更改每次移動鼠標時的背景位置
- 24. Magento會話重設每個請求
- 25. Android:每次會話運行一次asynctask
- 26. 更改LinearLayout的背景會改變它的寬度和高度
- 27. 在java中更改主題不會改變背景顏色
- 28. 會話沒有註冊jQuery的背景
- 29. 複選框背景圖像不會更改第二次
- 30. Magento會話
你想做它作爲一個擴展或簡單的主題調整將是可以嗎? – 2012-01-12 20:52:30
看看這個網站:[使用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
@Dick Laurent - 任何東西都和我一樣酷。 – 2012-01-12 22:59:22