Simpla 2.1+: отключение сайта

Simpla 2.1+: отключение сайта

Дата публикации:
Поделиться:

Скачиваем и распаковываем архив в корень сайта по ФТП. В нет содержится только 1 файл - шаблон страницы offline.tpl.

Добавляем поле для значения “включен-выключен” в таблицу s_settings

INSERT INTO  `s_settings` VALUES (NULL ,  'site_enabled',  '1');

Добавляем пункт для отключения сайта в админку в раздел "Настройки". Открываем файл simpla/SettingsAdmin.php и перед 18 строкой

$this->settings->site_name = $this->request->post('site_name');

вставляем код сохранения значения

$this->settings->site_enabled = $this->request->post('site_enabled', 'integer');

Теперь в шаблоне simpla/design/html/settings.tpl перед 40 строкой

<li><label class=property>Имя сайта</label><input name="site_name" class="simpla_inp" type="text" value="{$settings->site_name|escape}" /></li>

добавляем код

<li><label class=property>Сайт</label>
      <select name="site_enabled" class="simpla_inp">
            <option value='1' {if $settings->site_enabled == 1}selected{/if}>включен</option>
            <option value='0' {if $settings->site_enabled == 0}selected{/if}>выключен</option>
      </select>
</li>

С управлением закончили. Теперь сделаем само отключение - открываем файл view/View.php. Добавляем проверку на отключение сайт - после строки 45

self::$view_instance = $this;

добавляем код

if(!$this->settings->site_enabled && !isset($_SESSION['admin'])) {
      print $this->design->fetch('offline.tpl');
      exit();
}

В данной проверке помимо сверки значения отключения сайта, проверяем еще и сессия администратора. Т.е. для админов сайта он будет работать, пока они залогинены.

Поправьте шаблон отключенного сайта под Ваш дизайн и теперь Вы можете отключать сайт для ведения технических работ!

Удачи в работе!

Отзывы

Ваш отзыв будет первым
Оставьте отзыв
На него будут приходить уведомление при ответе. На сайте не публикуется

Модули из этой тематики