Проверка ветки, если дата - Рождество или Пасха - PullRequest
0 голосов
/ 23 апреля 2019

Я получил три версии логотипа приложения, по одной на каждый день, одну на Пасху и одну на Рождество.

Я хотел бы сделать функцию, которая автоматически изменяет логотип в определенный период года, но не мешает мне каждый год менять дату.

Вот текущий код:

    <img id="app_logo" src="
         {% if date("2019-12-10 00:00:00") < date() and date("2019-12-26 23:59:59") > date() %}
                {{ asset('img/home/logo-white-christmas.png')}}
         {% elseif date("2019-04-10 00:00:00") < date() and date("2019-04-28 23:59:25") > date %}
                {{ asset('img/home/logo-white-easter.png')}}
         {% else %}
                {{ asset('img/home/logo-white.png')}}
         {% endif %}
    " class="img-fluid" style="max-width:280px"/>

Ответы [ 3 ]

0 голосов
/ 25 апреля 2019

Для даты получения =>

$hapi = new HolidayAPI\v1('_YOUR_API_KEY_');

$parameters = array(
  // Required
  'country' => 'US',
  'year'    => 2016,
  // Optional
  // 'month'    => 7,
  // 'day'      => 4,
  // 'previous' => true,
  // 'upcoming' => true,
  // 'public'   => true,
  // 'pretty'   => true,
);

$response = $hapi->holidays($parameters);

Выходной API

Создайте объект для хранения даты в BDD, и вы также можете создать расширение Twig, которое будетсравнить сегодняшнюю дату с датами праздника

0 голосов
/ 25 апреля 2019

Если у вас включено расширение календаря для вашей установки PHP (часто это уже будет), у вас есть доступ к easter_date () и easter_days () .Таким образом, вы можете сделать что-то вроде этого:

$easterSunday = easter_date();
$oneDayInSeconds = 24 * 60 * 60;
$showEasterLogoStart = $easterSunday - 7 * $oneDayInSeconds;
$showEasterLogoEnd = $easterSunday + 5 * $oneDayInSeconds;
$now = time();
$showEasterLogo = $showEasterLogoStart <= $now || $showEasterLogoEnd >= $now;

Вы можете передать это своей ветке или сделать ее доступной как расширение ветки.

Обратите внимание, что easter_date() не использует часовой пояс PHPустановка, но переменная окружения TZ.Вы можете либо установить его, либо использовать easter_days().Обходной путь также можно найти в самой документации.

0 голосов
/ 23 апреля 2019

Я думаю, что это поможет вам, поэтому, если вы не хотите менять год, просто попробуйте проверить день и месяц

{% set now = date() %}

{% if  now | date('d-m') >= '10-12' and now | date('d-m') <= '26-12' %}
  <img id="app_logo" src="{{ asset('img/home/logo-white-christmas.png')}}" class="img-fluid" style="max-width:280px"/> 
{% elseif now | date('d-m') >= '10-04' and now | date('d-m') <= '28-04' %}
  <img id="app_logo" src="{{ asset('img/home/logo-white-easter.png')}}" class="img-fluid" style="max-width:280px"/>
{% else %}
  <img id="app_logo" src="{{ asset('img/home/logo-white.png')}}" class="img-fluid" style="max-width:280px"/>
{% endif %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...