【问题标题】:conditional based on time基于时间的条件
【发布时间】:2012-11-05 08:25:21
【问题描述】:

是否可以通过服务器时间触发 EE 中的条件?

{if servertime == 'midnight to 13:00'}
      do this
{if:else}
      do something else
{/if}

谢谢

【问题讨论】:

    标签: expressionengine


    【解决方案1】:

    当然,您可以将{current_time} 全局变量用于基本条件。以您的示例为例,我们将检查时间是否在午夜和 13:00 之间:

    {if
        '{current_time format="%H%i"}' >= '0000' AND
        '{current_time format="%H%i"}' <= '1300'
    }
        It's between 00:00 and 13:00
    {if:else}
        It isn't.
    {/if}
    

    【讨论】:

      【解决方案2】:

      如果您不反对在模板中使用一点 php,那么用户指南有一个基本示例可以帮助您进行操作:http://expressionengine.com/user_guide/modules/channel/channel_entries.html#start-on

      还有这个插件http://devot-ee.com/add-ons/cc-time-difference 可能会派上用场。

      【讨论】:

        【解决方案3】:

        重申一下 Jean 所说的 - 如果您正在做这样的事情,您需要确保您的 DST(夏令时)已正确配置。

        如果您不使用 FocusLab Config - 只需将以下内容放入您的 config.php(在 system/expressionengine/config/ 中)

         $config['daylight_savings'] = ((bool) date('I')) ? 'y' : 'n';
        

        它会为你动态排序。

        【讨论】:

        • 对不起,我不太明白这一点。这会自动执行 EE 的 DST 设置吗?
        • 是的 - 这会自动为您设置,这意味着您无需担心。
        【解决方案4】:

        您还需要注意 DST 设置。解决此问题的一种方法是使用 FocusLab 的 Master Config 修复它,以便自动处理 DST。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-11-14
          • 1970-01-01
          • 2019-04-08
          • 2018-07-26
          • 1970-01-01
          • 2023-03-19
          相关资源
          最近更新 更多