Ситуация:
У меня нет клиентской части компонента, да и не нужна в моем случае. Реализовал ее через модуль здесь ход работы.
Нужно написать компонент только для администратора.
Вопросы:
1. Как реализовать установку данного компонента?
Правильно ли я понимаю что в корне сайте, в разделе components, я создаю папку с названием компонента, например — gdspec. В нее кладу: index.php, install.php и больше ничего?
Или, все же здесь, нужно так же создать router.php, model.php?
2. К примеру, я создал компонент для админки — backend.php, положил его в нужную директорию. Что мне нужно сделать чтобы данный компонент отобразился в админке и можно было бы им управлять?
P.S.: пытался как можно подробнее свои мысля изъяснить. Если нужно что дополнить, я дополню.
Обращаюсь к сообщу за помощью. СПС за внимание!
Как всегда небольшое молчание.
Поломав голову и перебрав все компоненты. Пришел к следующему:
1. Компонент устанавливается из директории /componets/моя компонент/install.php
В этой же директории model.php и router.php
2. ответ в первом.
Написал скрипт install.php:
<?php // ========================================================================== // function info_component_gdspec(){ //Описание компонента $_component['title'] = 'GDSPEC'; //название $_component['description'] = 'GDSPEC'; //описание $_component['link'] = 'gdspec'; //ссылка (идентификатор) $_component['author'] = 'braincord'; //автор $_component['internal'] = '1'; //внутренний (только для админки)? 1-Да, 0-Нет $_component['version'] = '1.9'; //текущая версия return $_component; } // ========================================================================== // function install_component_gdspec(){ $inCore = cmsCore::getInstance(); //подключаем ядро $inDB = cmsDatabase::getInstance(); //подключаем базу данных $inConf = cmsConfig::getInstance(); include(PATH.'/includes/dbimport.inc.php'); return true; } // ========================================================================== // function upgrade_component_gdspec(){ return true; } // ========================================================================== // ?>
1. Правильно ли я понимаю,
если $_component['internal'] = '1';
2.
dbRunSQL(PATH.'/components/gdspec/install.sql', $inConf->db_prefix);
Можете проверить правильно ли я сделал?
Приступил к написанию model.php (что есть сейчас):
<?php function gdspec(){ //Инициализируем объекты, которые нам понадобятся $inCore = cmsCore::getInstance(); //подключаем ядро $inDB = cmsDatabase::getInstance(); //подключаем базу $inUser = cmsUser::getInstance();//подключаем пользователей, может и не понадобться так, как я не делал связи с таблице cms_users $inCore->loadModel('gdspec'); //загружаем модель $model = new cms_model_gdspec(); //создадим объект модели global $_LANG;//подключение языка - это скорей всего не понадобиться ведь я не использую frontend.php $do = $inCore->request('do', 'str', 'click');//Получаем текущее действие из URL страницы //======================================================================================================================//
Как мне показать, что есть в админке backend.php? Т.е. при нажатии в меню (админка) название компонента, открывался копонент заложенный в admin/components/gdspec/backend.php.