我正在建立一个企业目录,不仅希望发布营业时间列表,还希望发布业务目前是否开放营业。
在矩阵中,我有7行,row_1表示星期六的星期日row_7。所以我有两个问题。
条件中是否存在缺陷,告知商家目前是否开放?它现在似乎工作,但没有经过严格测试。
{!-- Hours of Operation --}
{exp:stash:set name="hours-of-operation"}
The Current time is: {current_time format="%g:%i%a"}<br/>
{hours_of_operation}
{if row_count=="1"}Sunday{/if}
{if row_count=="2"}Monday{/if}
{if row_count=="3"}Tuesday{/if}
{if row_count=="4"}Wednesday{/if}
{if row_count=="5"}Thursday{/if}
{if row_count=="6"}Friday{/if}
{if row_count=="7"}Saturday{/if}
{open_time format="%g:%i%a"} - {close_time format="%g:%i%a"}<br/>
{/hours_of_operation}
{/exp:stash:set}
{!-- Hours of Operation --}
{!-- Are we open? --}
{exp:stash:set name="are-we-open"}
{exp:mx_calc expression='{current_time format="%w"}+1'}
{!-- matrix --}
{hours_of_operation}
{if row_count=="{calc_result}"}
Today is: {current_time format="%l"}<br/>
<strong>
{if '{open_time format="%H%i"}' <= '{current_time format="%H%i"}' && '{close_time format="%H%i"}' <= '{current_time format="%H%i"}'}
We are currently open!{if:else}We are currently closed.
{/if}
</strong><br/>
Today's Hours are:<br/> <strong>{open_time format="%g:%i%a"} - {close_time format="%g:%i%a"}</strong><br/>
{/if}
{/hours_of_operation}
{!-- matrix --}
{/exp:mx_calc}
{/exp:stash:set}
{!-- Are we open? --}
答案 0 :(得分:8)
这对我来说很好看,我唯一要改变的是在矩阵的左边添加另一列,并在下一周调用它,以便客户选择日期。然后在你的代码中你可以摆脱所有这些条件并用{day_of_week}替换它
答案 1 :(得分:1)
这种逻辑不起作用:
{if '{open_time format="%H%i"}' <= '{current_time format="%H%i"}' && '{close_time format="%H%i"}' <= '{current_time format="%H%i"}'}
您正在检查结束时间和开放时间是否都小于current_time
,而不是检查current_time
是否在两个值之间。如果商家已开启,那么close_time
应该更多而不是current_time
,而不是更少。逻辑应该是:
{if
'{open_time format="%H%i"}' <= '{current_time format="%H%i"}' &&
'{close_time format="%H%i"}' > '{current_time format="%H%i"}'
}
此外,如果我们挑剔,如果他们必须为一周内一天或多天完全关闭的商家输入数据,他们会怎么做?如果是我,我会将PT Switch字段作为“全天封闭”列,默认为否。它只需要对现有逻辑进行小幅调整:
{if
'{open_time format="%H%i"}' <= '{current_time format="%H%i"}' &&
'{close_time format="%H%i"}' > '{current_time format="%H%i"}' &&
'{closed_all_day}' != 'y'
}
We're currently open!
{if:else}
然后在{hours_of_operation}
循环中:
{if closed_all_day != 'y'}
{open_time format="%g:%i%a"} - {close_time format="%g:%i%a"}<br/>
{else}
Closed<br/>
{/if}