Шаг 3. Регистрация компонента в База данных.
Вы теперь знаете, как получить доступ и к фронтенду и к административной части компонента.
Хотя мы могли бы продолжать набирать URL каждый раз, когда хотели бы выполнить часть кода, это не будет приемлемым для пользователей сайта. Зарегистрируем наш компонент в БД, это даст нам что мы сможем создавать ссылки на компонент в меню. Предполагается что префикс у ваших таблиц БД - jos_. В противном случае замените jos_ префиксом, который используется у вас.
При помощи phpMyAdmin или другой аналогичной выполните следующий код над вашей БД:
1 |
INSERT INTO `jos_components` (`name`, `link`, `admin_menu_link`, `admin_menu_alt`, `option`, |
После того как в БД была добавлена запись, откройте административную часть и в меню «Компоненты» должна появиться ссылка на наш компонент.
Теперь наш компонент зарегистрирован в CMS Joomla. Создадим ссылку на него в главном меню сайта.
Зайдите «Все меню» -> «mainmenu», нажмите на кнопку «Создать», чтобы добавить новый пункт меню, далее выберите наш компонент, на экране вы увидите что-то подобное:
Пропишите название пункта меню и псевдоним. Далее нажмите «Сохранить», и откройте фронтенд часть сайта.





Комментарии
$query="INSERT INTO `#__components` (`name`, `link`, `admin_menu_lin k`, `admin_menu_alt `, `option`,
`admin_menu_img `, `params`)
VALUES ('Goodtimes', 'option=com_goodtimes', 'option=com_goodtimes', 'Goodtimes', 'com_goodtimes',
'js/ThemeOffice/component.png', '');";
$db=JFactory::getDB O();
$queryresult = $db->Execute($query) ;
if (!$queryresult) {
die('Invalid query: ' . stderr());
}
После обновления страницы http://ваш_сайт/administrator/index.php?option=com_goodtimes будет достигнут аналогичный эффект. Причем без использования дополнительных инструметов, только через Joomla API.
То есть при первом обращении создается запись о компоненте в БД. Ну а если второй раз обновить - ошибок не будет? При попытке еще раз создать ту же запись - запрос просто умрет? То есть можно на постоянку оставить код в ПЫХ файле?
И вообще как установщик собирать? ЧТобы он автоматом разок прописал при установке в БД запись о компоненте и все? А не каждый раз при обращении делал ненужный запрос.
Спасибо
IN IN `jos_com` (`na`, `link`, `ad_me_link`, `ad_me_alt`, `op`,
`ad_me_img`, `pa`)
VA ('Go', 'op=com_go', 'op=com_go', 'Go', 'com_go',
'js/The/com.png', '');
что это ??? я конечно понял что это СКЛ и т.д. но блин это не статья, а головоломка какая то
`admin_menu_img `, `params`)
VALUES ('Goodtimes', 'option=com_goodtimes', 'option=com_goodtimes', 'Goodtimes', 'com_goodtimes',
'js/ThemeOffice/component.png', '');";
$db=JFactory::getDB O();
$queryresult = $db->Execute($query) ;
if (!$queryresult) {
die('Invalid query: ' . stderr());
}
не пошло...не хочет
`admin_menu_img `, `params`)
VALUES ('Goodtimes', 'option=com_goodtimes', 'option=com_goodtimes', 'Goodtimes', 'com_goodtimes',
'js/ThemeOffice/component.png', '');";
$db=JFactory::getDB O();
$queryresult = $db->Execute($query) ;
if (!$queryresult) {
die ('Invalid query: '.stderr());
}
и всё пошло
RSS лента комментариев этой записи.