dle.in.ua » Вебмастеру » Опции модулей

Опции модулей

Автор: Silveral от 28-08-2009, 22:48
Опции модулей

Данная статья, поможет Вам облегчить жизнь сайтов, запросами 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} и всё, вы видите, какое количество запросов у вас на сайте.
  • Группа: User
  • Icq: 817135
  • Комментариев: 321
  • Публикаций: 0
  • Неплохая вещь, на мой взгляд не помешала бы отдельная пошаговая инструкция, а то какая-то каша получилась. Silveral, если не трудно, отдели мух от котлет и выложи в нормальном удобочитаемом виде, я думаю ребята меня поддержат.

    --------------------
    • ALTERNATE
    • Регистрация: 12.12.2008
    • Репутация: (0|0|0)
    • 28 августа 2009 23:38
    • 1
    ^
  • Группа: User
  • Icq: 5994599
  • Комментариев: 144
  • Публикаций: 23
  • Silveral, спасибо! сейчас как раз модуль немного переделываю) отличный материал, хотя немного не удобен для чтения. Спасибо)

    --------------------
    • petroff
    • Регистрация: 11.08.2008
    • Репутация: (0|0|0)
    • 29 августа 2009 02:18
    • 2
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Ребята, сейчас у меня завал на работе. Чуть попозже, выложу отдельную инструкцию, полностью понятную для использования данного материала!
    • Silveral
    • Регистрация: --
    • Репутация: (||)
    • 29 августа 2009 07:37
    • 3
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • smile хорошая инструкция!
    • NoN4ER
    • Регистрация: --
    • Репутация: (||)
    • 29 августа 2009 09:54
    • 4
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 181
  • Публикаций: 25
  • belay вродебы дета было уже =) я использую даный метод часто

    --------------------
    • park0ur
    • Регистрация: 18.01.2009
    • Репутация: (0|0|0)
    • 29 августа 2009 09:55
    • 5
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Ну я увы не нашёл, и решил написать свою статью.
    • Silveral
    • Регистрация: --
    • Репутация: (||)
    • 29 августа 2009 20:19
    • 6
    ^
    Информация
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.