Хак Опции модулей
Данная статья, поможет Вам облегчить жизнь сайтов, запросами MySQL. В этой статье вы узнаете, как устанавливать в админке опции включение и выключение модулей. Детальнее в ссылке подробнее.
Итак, приступим. К примеру возьмём простой модуль "Блок Онлайн". Видим там php-код с запросами в MySQL.
/
/ Показывать пользователям ОС? 1 - Да, 0 - Нет
$onl_options['showos']=1;
Перед этим кодом, нам нужно подгрузить файл config.php в любом месте модуля, вписываем код
include ENGINE_DIR .'/data/config.php';
С условием, что он понимает defined ENGINE_DIR.
Когда мы подключились к файлу config.php, далее мы делаем простую вставку кода:
if($config['online'] == "1") {
Что значит если($конфиг['значение'] == 1) то далее последует выполнение действий кода. В противном случае, php даст нам FALSE.
Данный код, ставим в самом начале, перед всеми функциями, и т.д. В самом конце файла, вставляем это:
}
Значит закрытие функции if($config['online'] == "1") {.
Далее правим файл config.php.
Где Вам угодно ставим эти строки:
'online' => "1",
Это будет означать, что данный модуль уже включён. И, чтобы его Включать, или Отключать, Вам нужно написать прикладной интерфейс админки для этого модуля. Идём в файл /engine/inc/options.php. Ищем там такие строки
showRow( $lang['opt_sys_search'], $lang['opt_sys_searchd'], makeDropDown( array ("1" => $lang['opt_sys_advance'], "0" => $lang['opt_sys_simple'] ), "save_con[full_search]", "{$config['full_search']}" ) );
Примерно 822 строка.
И далее подключаем наши настройки с файла config.php
showRow( $lang['on_mod'], $lang['on_description'], makeDropDown( array ("1" => $lang['mod_on'], "0" => $lang['mod_off'] ), "save_con[online]", "{$config['online']}" ) );
Что значит показать поле (название,описание, и загружать настройки с значением ("1"языковые описание, или с значением "0" языковый файл "сохранить настроки" и записать в поле online файла /engine/data/config.php
Далее мы увидим, что не будет описания этих полей, точнее языковой речи. Идём в файл /language/adminpanel.lng'
и в любом месте (только не розрывать между значениями) вставляем
'on_mod' => "Модуль Блок Онлайн",
'on_description' => "Включение, выключение данного модуля",
'mod_on' => "Включён",
'mod_off' => "Выключен",
И видим, что в админке у нас появиться новая функция в части "Оптимизация запросов к базе данных"
И тогда выбираем значение, включён или выключен. Всё, если модуль выключен, значит он выключен, как будто его нету вообще на сайте. Если включён, значит включён и работает.
Чтобы узнать общее количество MySQL запросов у вас на сайте, простыми средствами движка открываем файл
index.php
Ищем:
$tpl->load_template ( 'main.tpl' );
Выше вставляйте:
$db_result = $db->query_num;
Далее найдите:
$tpl->set ( '{calendar}', $tpl->result['calendar'] );
Ниже вставьте:
$tpl->set ( '{ob_db}', $db_result );
В нужном месте в шаблоне вставьте {ob_db} и всё, вы видите, какое количество запросов у вас на сайте.