Different Greeting for time of day

Respondida

9 Comentarios

  • Graeme Carmichael
    Acciones de comentarios Permalink

    Colin

    You can use liquid markup to customise your greeting.

    Try this:

    {% assign hour= 'now' | date:'%k' | plus: 0 %}

    This is the hour of day {{hour}}

    {% if hour < 12 %} Good Morning {% else %} Good Afternoon.{% endif %}

    You will have to vary the code depending on daylight saving. Unfortunately, I do not know how to handle that automatically.

     

    1
  • Colin Campbell
    Acciones de comentarios Permalink

    That's great, thanks so much! 

    0
  • Andrew J
    Acciones de comentarios Permalink

    Hello Graeme,

    What about widening the variations as below - it's not working - I think my logic is wrong...

    {% assign hour= 'now' | date:'%k' | plus: 13 %}{% if hour < 10 %}morning{% if hour < 12 %}day{% if hour < 16 %}afternoon{% else %}evening{% endif %}

    0
  • Andrew J
    Acciones de comentarios Permalink

    Looks like I got it, needed to use 'case'

    {% assign hour= 'now' | date:'%k' | plus: 13 %}{% case hour %} 
    {% when 0 or 1 or 2 or 3 or 4 or 5 or 6 or 7 or 8 or 9 %} morning
    {% when 10 or 11 or 12 or 13 %} day
    {% when 14 or 15 or 16 %} afternoon
    {% else %} evening
    {% endcase %}
    0
  • Mark
    Acciones de comentarios Permalink

    After a bunch of trial and error, I got the following:

    Good {% assign hour = 'now' | date:'%k' | plus: -4 %} {% if hour < 12 %} morning {% elsif hour < 16 %} afternoon {% else %} evening {% endif %} {{ticket.requester.first_name}},

     

    Here's how I understand the markup:

    {% assign hour = 'now' | date:'%k' | plus: -4 %}

    converts the word "hour" into a number.  That number is the current hour, based on a 24 hour clock:

    'now' will pull up the time when used before "| date:"

    Adding " '%k'  " will make it only show the hour

    Adding "| plus: -4 " will subtract 4 hours from the previous number. This is because my time zone is GMT -4.

     

    (As Graeme Carmichael wrote:

    "This is the hour of day {{hour}}"

    Put {{hour}} in under your code to see the number that shows up.)

    At this point it's a simple if statement.

    {% if hour < 12 %} morning {% elsif hour < 16 %} afternoon {% else %} evening {% endif %}

    0
  • Graeme Carmichael
    Acciones de comentarios Permalink

    Mark

    That is excellent. Thank you.

    0
  • Karen
    Acciones de comentarios Permalink

    Hi All,

    I am looking to include some liquid markup so that the current day can be displayed.

    I have worked out how to have the greeting show for the correct time of day, but displaying the day is alluding me.

    Just to say "Happy Wednesday" or something like that.

    Any help on this would be great.

    Karen

    0
  • Graeme Carmichael
    Acciones de comentarios Permalink

    Karen

    Try this:

    Happy {{ 'now' | date: '%A' }} !

     

    0
  • Karen
    Acciones de comentarios Permalink

    Thanks so much @Graeme

    0

Iniciar sesión para dejar un comentario.

Tecnología de Zendesk