Выводим текст или чанк на сайте, по графику.
Всем привет.
Понадобилось мне на сайте выводить мобильный номер оператора техпотдержки, но проблемка
в том, что оператор работает только в будни и только в определенное время.
Чтоб не скрывать номер руками каждый день я написал простенький сниппет, который будет показывать номер на сайте только в нужное мне время.
Возможно кому-то (кто не силен в PHP так же как и я) он будет полезен.
Например мне нужно показывать номер телефона на сайте в пн-пт, с 8-00 до 16-59
Обед с 13-00 до 13-59.
Вызов в шаблоне:
&gdays — Порядковый номер дня недели от 1 (понедельник) до 7 (воскресенье)
&ghours — Часы в 24-часовом формате от 0 до 23
&info — то что нужно выводить на сайте, можно писать текст, код HTML, указать чанк…
Создаем сниппет «OutputTime»:
Понадобилось мне на сайте выводить мобильный номер оператора техпотдержки, но проблемка
в том, что оператор работает только в будни и только в определенное время.
Чтоб не скрывать номер руками каждый день я написал простенький сниппет, который будет показывать номер на сайте только в нужное мне время.
Возможно кому-то (кто не силен в PHP так же как и я) он будет полезен.
Например мне нужно показывать номер телефона на сайте в пн-пт, с 8-00 до 16-59
Обед с 13-00 до 13-59.
Вызов в шаблоне:
[[!OutputTime?
&gdays=`1,2,3,4,5`
&ghours=`8,9,10,11,12,14,15,16`
&info=`<div class="mob" style="color:red;">моб. +7 999-000-0000</div>телефон для справок`
]]Где: &gdays — Порядковый номер дня недели от 1 (понедельник) до 7 (воскресенье)
&ghours — Часы в 24-часовом формате от 0 до 23
&info — то что нужно выводить на сайте, можно писать текст, код HTML, указать чанк…
Создаем сниппет «OutputTime»:
<?php
/*
N - Порядковый номер дня недели в соответствии со стандартом ISO-8601 (добавлен в версии PHP 5.1.0)
от 1 (понедельник) до 7 (воскресенье)
***
G - Часы в 24-часовом формате от 0 до 23
*/
$tday = date("N"); /* Текущий день на сервере */
$thour = date("G"); /* Текущий час на сервере */
$a = explode(",", $gdays); /* Получаем параметры указанные в &gdays */
$b = explode(",", $ghours); /* Получаем параметры указанные в &ghours */
if (in_array($tday, $a) /* Проверка на соответсвие дня */
& in_array($thour, $b)) /* Проверка на соответсвие часа*/
return $info; /*Выводим данные из &info */ Комментарии: 9
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Побольше бы люди делились такими ништяками с обычными любителями :-)
А вот телефон прятать не очень хорошая идея, ибо человек может записать его себе и позвонить в рабочее время, а так нужно догадаться зайти на сайт в «рабочее время сайта»
Я поэтому и написал «для неискушенных PHP» :). Я вот два дня потратил…
А насчет скрывать телефон\не скрывать это зависит от ситуации. У меня например такая: два телефона на сайте обычный и мобильный. Мобильный сделали недавно для того чтоб могли дозвонится, на городском почти всегда занято (несколько линий, 2 оператора), теряем клиентов.
График работы конторы с 8 до 20 (без выходных), а вот оператор на мобильном только до 17 (и с выходными), поэтому пока прячем, чтоб не вводить в заблуждение…
Возможно просто сделаем переадресацию с выключенного мобильного на городской…
или автоотвечик.
Например немного доработав\добавив в сниппет else… можно например сделать на сайте цену со скидкой по выходным в утренние часы…
Можно придумать и другие применения, зависит от задач и потребностей.
Так что держите немного моего гавнокода(т.к. я не искушен PHP), вдруг пригодится:
Вызовы:
Вроде бы все потестил, но возможны ошибки)