Логотип StingRay

Социальные сети
FacebookInstagramRSSTwitterYouTubeВ контактеОдноклассники
FacebookInstagramRSSTwitterYouTubeВ контактеОдноклассники
Силуэт человека

Несколько фокусов с CMS Joomla! Отображение заглушки «сайт в разработке» для всех и всего сайта для избранных


Отображение заглушки «сайт в разработке» для всех и всего сайта для избранных

По умолчанию в CMS Joomla! имеется два основных режима работы сайта («Административная панель» > «Сайт» > «Общие настройки» > «Сайт» > «Установки сайта» > «Сайт выключен»: «Нет»/«Да»):

  • включен – сайт работает и доступен для всех, с учётом уровней доступа к отдельным его частям, конечно;
  • выключен – сайт находится на обслуживании/обновляется и доступен только в административном исполнении избранным пользователям.

(Для справки: в выключенном режиме сайт по умолчанию отображает страницу /templates/system/offline.php, которую можно переопределить в вашем шаблоне (отобразить в вашем дизайне) как /templates/<шаблон>/offline.php.)

В случае, когда сайт ещё только создаётся (“under construction“), и заказчику хочется отслеживать его развитие, но при этом не «позориться» перед остальной публикой, штатный вариант выключения Joomla-сайта не подходит – сайт должен быть включен, но работать только для «избранных». Естественно, «избранные» при этом должны как-то идентифицироваться. Ну а чтобы не мучить их (тем более что «они» – это обычно Заказчик) запоминанием и вводом какого-либо секретного имени-пароля, лучше всего это сделать через использование «секретного» адреса, то есть обычного адреса сайта с некоторым «секретным» параметром. А чтобы при этом не таскать за собой этот параметр по всем адресам всех страниц сайта, после первого обращения его нужно просто записать в переменную сеанса.

И снова немного вмешательства в код (тоже небольшое), но на этот раз в код вашего шаблона:

/templates/<шаблон>/index.php


session_start();
if (($_GET["showto"] != "siteowners") && ($_SESSION["showto"] != "siteowners")) Header("Location: http://<домен>/underconstruction.html");
if ($_GET["showto"] == "siteowners") $_SESSION["showto"] = "siteowners";

Только если вы будете использовать моё решение, не забудьте в целях безопасности изменить название «секретного» параметра showto и/или его значения siteowners. 😊

Добавьте свой комментарий или войдите, чтобы подписаться/отписаться.
OpenId
Предпросмотр
Улыбка Подмигивание Дразнит Оскал Смех Огорчение Сильное огорчение Шок Сумасшествие Равнодушие Молчание Крутизна Злость Бешенство Смущение Сожаление Влюблённость Ангел Демон Задумчивость Рука-лицо Не могу смотреть Жирный Курсив Подчёркивание Зачёркивание Размер шрифта Гиперссылка Цитата
Загрузка…