Привязка компонента к пункту меню

Автор: Avalon
Опубликовано: 1998 дней назад (22 июня 2012)
+1
Голосов: 1
Начал писать компонент, прописал его в ручную в таблице csm_compotents и он появился в админке, но когда попробовал привязать его к пункту меню - то не нашел его в выпадающем списке компонентов. Скажите пожалуйста в чем может быть проблема? Может нужно прописать компонент еще куда-то (компонент включен в админке)
Проблема с пунктом "Автор записи" | Ajax запрос
Комментарии (7)
Dream # 22 июня 2012 в 15:52 +1
ну в документации это не описано, по этому приходится ручками в коде искать, и ничего сложного
идем в admin/applets/menu.php строчка 56 и копаем... там вроде этого нет, идем дальше в admin/applets/cp.php

строчка 188 - там вся эта формочка добавления пункта прописана
далее смотрим функцию получения в формочку выпадающего списка компонентов

строчка 220
и далее - запрос в базу получения списка там вот такой
$components_sql = "SELECT * FROM cms_components ORDER BY title";

далее цикл получения списка компонентов и показ при условии:
if ($com['published'] && $inCore->isAdminCan('admin/com_'.$com['link'], $adminAccess)){

то есть в выпадающий список попадают компоненты из таблицы cms_components при условии если в поле published выставлен флажек и выполняется условие разрешающее админу его редактировать - вычисляется функцией isAdminCan
Avalon # 22 июня 2012 в 16:21 +1
Эм... Наверно вы даете описание под последнюю версию. у меня сайт на V1,8
В admin/applets нет файла cp.php есть component.php (по смыслу думаю это оно), но проблема в том что там тока 197 строк =)
ну теперь хоть ясно где можно покопаться,
upd
формирование выпадающего списка нашел в файле admin/applets/menu.php
Avalon # 25 июня 2012 в 10:54 0
Как всегда методом проб и ошибок, получилось реализовать это (даже 2 решения нашел).
Теперь возник вопрос при написании контроллера.
Необходимо задать GET переменную которая будет отправляться при отправке формы, чтоб запускалось определенное условие.
Проверка на нажатие кнопки - проходит как-то криво.
Как задать в экшне формы GET переменную - если экшн пуст (как в примере - так как обработка происходит в том же файле )
Avalon # 25 июня 2012 в 11:03 0
UPD: решил проблему другим путем
Dream # 25 июня 2012 в 11:42 0
так же и задать - в принципе все равно чем потом обрабатывать - хоть тем же файлом хоть другим
Avalon # 25 июня 2012 в 11:48 0
опять же проблема, как задать путь
/akciya?blablalba='foo' типа такого?
Dream # 25 июня 2012 в 13:40 0
внутри файла обеспечить передачу переменной $blablalba='foo'
я сделал так
foreach ( $GLOBALS[HTTP_POST_VARS] as $key=>$value ) { $$key = $value; }
но это ламмерство, надо каждую переменную которая присутствует вылавливать из HTTP_POST_VARS и присваивать