Заглушка
22 сентября 2015, 17:19
После написания модуля заглушки для Market Place я полагал, что тема с подобными заглушками для меня закрыта, но пришла следующая.
Задача:
Во время определённого периода времени сайт должен быть:
- закрыт для посетителей
- открыт для редакторов
- открыт для администраторов
Мат. часть
Битрикс реализует закрытие публичной части от посещений отслеживая состояние site_stopped — опции главного модуля в файле prolog_after.php.
Соответственно для закрытия сайта нам необходим вызов вида
COption::SetOptionString("main","site_stopped","Y");
после этого битрикс заглянет в
/bitrix/php_interface/<ID-сайта>/include/site_closed.php
и если не обнаружит там файла, то заглянет сюда
/bitrix/php_interface/include/site_closed.php
пример содержимого такого файла
<? require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); CHTTP::SetStatus("503 Service Unavailable"); ?> <!DOCTYPE html> <html> <head> <title>Название информационного русурса</title> </head> <body> <div class="main"> <p> В связи с такими-то праздниками сайт закрыт для посещений. Бла-бла-бла с такого-то по такое-то вермя, число нужное зачеркнуть... </p> </div> </body> </html>
Решение
пришлось повесить на крон два скрипта, которые:
- в час X выключает сайт
- в час Z включает обратно
Твитнуть
Поделиться
Поделиться
Популярное