2015-05-20 12 views
0

在magento中的靜態塊中,我想根據一週中的某一天和時間顯示一個動態消息。如何根據時間和星期幾顯示magento靜態塊中的動態文本?

這是給客戶的,所以他們知道客戶支持何時開放以及何時關閉。

例如:我想在星期一至星期五的09:00至17:00之間顯示「現在打開」。 在星期六,星期日和星期一 - 星期五從17:01直到08:59我想顯示文本:「現在關閉」。

有沒有辦法做到這一點與JavaScript或任何其他方式?

請記住,我是這個問題上的相當小事:)。

所有幫助非常感謝!

回答

0

我還沒有在這裏提供完整的解決方案,因爲它需要一定的時間和精力,但我可以幫助您一些想法,以便您可以實現您的要求。

的邏輯是:

  1. 您可以創建與圖像或信息兩個靜態塊開放密切。你可以很容易地從管理面板做到這一點。
  2. 現在主要部分.i.e。你需要操縱時間和days.If你想它完全動態,如果管理員可以選擇日期和時間比你需要創建一個自定義模塊。在這個模塊中,你需要提供一個地方來選擇日期和時間(你必須在這裏使用你的邏輯,你可以更容易地操縱你從這裏得到的數據,你可以使用多選幾天等等上)。
  3. 接下來的部分是,在模塊準備好之後,您必須從後端插入要顯示靜態塊的模板文件。您必須使用一些條件來顯示打開關閉區塊。

您可能需要對如何在您的案例中操縱時間做很少的研究。就這樣。

試試這個,如果您還有其他問題,請隨時提問。

希望這會有所幫助。

0

我設法想出了另一種解決方案。

將此放在HTML頭:

<style type="text/css"> 
#openSign.OPEN { 
color: green; 
background-color: yellow; 
font-size: x-large; 
} 
#openSign.CLOSED { 
color : red; 
background-color: pink; 
font-size: large; 
} 
</style> 

<script type="text/javascript"> 

var OPENAT = 7.5; // 7:30 AM ... change as appropriate - can be fractions of an hour e.g. 7.5 = 7:30am 
var CLOSEAT = 21; // 9:00 PM ... change as appropriate 

function areWeOpen() { 
var sign = document.getElementById("openSign"); 
var day = new Date().getDay(); 
var hour = new Date().getHours(); 
var mins = new Date().getMinutes(); 
hour = hour + mins/60; 
if (day >=1 && day <=5 && hour >= OPENAT && hour < CLOSEAT) { 
sign.innerHTML = "We are now OPEN"; 
sign.className = "OPEN"; 
} 
else { 
sign.innerHTML = "Sorry, we are now CLOSED"; 
sign.className = "CLOSED"; 
} 
} 
</script> 

這在靜態塊:

<body onload = "areWeOpen()"> 
<span id="openSign"></span> 

我不知道這是一個整潔的解決方案,但它爲我工作。

相關問題