0 Пользователей и 1 Гость просматривают эту тему.
  • 375 Ответов
  • 170699 Просмотров

Re: Документация по компонентам
« Ответ #30 : 02.03.2006, 16:39:53 »
хммм...
модуль - это как бы маленький компонент ;)
Для чего следует писать модуль, а для чего компонент?
Наиболее абстрактно описываю потребность. Необходимо нажать на кнопку меню и увидеть вывод PHP кода (сюда включается использование patTemplate) окружённый шаблоном Joomla, с меню слева и пр. как главная страница. В PHP коде необходимо иметь доступ к джумловским переменным типа
Код
$my
.

Re: Документация по компонентам
« Ответ #31 : 02.03.2006, 16:45:19 »
почитай статью: http://joomlaportal.ru/content/view/174/68/
Спасибо!
Из статьи я понял, что копал правильно и мне нужен именно компонент.

Теперь осталось разобраться с patTemplate.
Подскажешь гайд?
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Документация по компонентам
« Ответ #32 : 02.03.2006, 17:01:31 »
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Документация по компонентам
« Ответ #33 : 03.03.2006, 15:44:55 »
2 smart
нужно, чтобы мои "пути" в собственном компоненте появлялись в mosPathWay.
чтобы, например, 
component/option,com_компонент/Itemid,айди/параметр1,значение1/параметр2,значение2 и т.д.
появлялись в наФигаторе как
Главная -> Компонент -> Параметр1 -> Параметр2 ->...  и т.д.

что для этого нужно?
ну или хотя бы в двух словах, как управлять навигатором?
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Документация по компонентам
« Ответ #34 : 03.03.2006, 16:06:42 »
а я уже и сам нашёл ;)
$mainframe->appendPathWay ('HTML-код');
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3

Re: Документация по компонентам
« Ответ #35 : 03.03.2006, 16:56:26 »
smart отписался тебе в ЛС, жду ответа.

Может я вопрос задал не верно, или вопрос слишком сложный :(
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Документация по компонентам
« Ответ #36 : 03.03.2006, 17:13:45 »
а я уже и сам нашёл ;)
$mainframe->appendPathWay ('HTML-код');
угу, только одна проблема... весь путь ДО твоего компонента будет ссылками, потом название твоего компонента будет текстом написано, а затем - ты снова можешь ссылки набивать... я как-то писал об этом еще Phil Taylor'у, в свое время это он эту фичу прикрутил таким странным образом... он ничего внятного ответить не смог :(
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Документация по компонентам
« Ответ #37 : 03.03.2006, 17:36:10 »
угу, только одна проблема... весь путь ДО твоего компонента будет ссылками, потом название твоего компонента будет текстом написано, а затем - ты снова можешь ссылки набивать... я как-то писал об этом еще Phil Taylor'у, в свое время это он эту фичу прикрутил таким странным образом... он ничего внятного ответить не смог :(
эт я увидел.
буду думать, как "прикручиваться", хотя... честно говоря, я по ка не вижу в этом какой-то особой проблемы.
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Документация по компонентам
« Ответ #38 : 03.03.2006, 18:19:39 »
ну я нашёл где исправлять, теперь надо решить как поступить.
-------------------------------

пока вот так:
файл /includes/pathway.php

ПОСЛЕ кода (заголовки php <?php и ?> - НЕ копировать  ;) )
Код
<?php 
// if it is the current page, then display a non hyperlink
if ($item->id == $Itemid || empty( $mid ) || empty($item->link)) {
$newlink = "  $itemname";
} else if (isset($item->type) && $item->type == 'url') {
$correctLink = eregi( 'http://', $item->link);
if ($correctLink==1) {
$newlink = '<a href="'. $item->link .'" target="_window" class="pathway">'. $itemname .'</a>';
} else {
$newlink = $itemname;
}
} else {
$newlink = '<a href="'. sefRelToAbs( $item->link .'&Itemid='. $item->id ) .'" class="pathway">'. $itemname .'</a>';
}
?>

вставить
Код
<?php
if ($mainframe->getCustomPathWay()){
$newlink = '<a href="'. sefRelToAbs( $item->link .'&Itemid='. $item->id ) .'" class="pathway">'. $itemname .'</a>';
}
?>

т.о. ссылка <a href... будет добавляться только в том случае, если $mainframe->_custom_pathway не пустой
« Последнее редактирование: 03.03.2006, 18:31:00 от userxp »
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Документация по компонентам
« Ответ #39 : 03.03.2006, 18:32:19 »
хотя... честно говоря, я по ка не вижу в этом какой-то особой проблемы.
проблема уже в том, что без правки ядра это не изменить... меня убило это в свое время...
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Документация по компонентам
« Ответ #40 : 03.03.2006, 18:59:09 »
проблема уже в том, что без правки ядра это не изменить... меня убило это в свое время...
а насколько реально тыкнуть этими хаками в девелоперов, шоб они поправили?

или проще набрать "свою" Knowledgebase и после выхода релиза делать патч?
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Документация по компонентам
« Ответ #41 : 03.03.2006, 19:11:01 »
а насколько реально тыкнуть этими хаками в девелоперов, шоб они поправили?
да надо бы, на следующей неделе попробую
*

PyKaB

  • Захожу иногда
  • 88
  • 19 / 13
Re: Документация по компонентам
« Ответ #42 : 03.03.2006, 22:18:49 »
смарт, ну расскажи как компонент для модуль для админки сделать!! ну пожалуйстаааа
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Документация по компонентам
« Ответ #43 : 03.03.2006, 22:40:26 »
смарт, ну расскажи как компонент для модуль для админки сделать!! ну пожалуйстаааа
а чего тебе не хватает? я статью почитал и сделал...
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

PyKaB

  • Захожу иногда
  • 88
  • 19 / 13
Re: Документация по компонентам
« Ответ #44 : 04.03.2006, 13:09:01 »
мне не хватает сделать именно для АДМИНКИ. обычных я себе уже наделал ))
т.е. что надо сделать с обычным модулем чтобы он появился в "модули\админка", а не в "модули\сайт"
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Документация по компонентам
« Ответ #45 : 04.03.2006, 14:31:39 »
в статье чётко написано какие файлы нужны.... ок,
минимальные требования:

компонент - название компонента БЕЗ префикса com_

АДМИН-панель (/administrator/components/com_имя_компонента)
admin.компонент.php - это главный файл админки, обычно содержит в себе необходимые функции
admin.компонент.html.php (необязательный) - содержит информацию для вывода на экран, подключается внутри admin.компонент.php
toolbar.компонент.php - содержит фунции иконок панели инструментов справа вверху
toolbar.компонент.html.php (необязательный) -  оформление иконок панели инструментов, подключается внутри toolbar.компонент.php 
компонент.xml - инсталляционный файл

КОМПОНЕНТЫ (/components/com_имя_компонента)
компонент.php - исполняемый файл компонента во фронт-енде
компонент.html.php (необязательный) - содержит информацию для вывода на экран, подключается внутри компонент.php

зы. чуть поззже приаттачу демо...
---------------------------------------------------------------------
прилагаю аттачмент (только админ часть).

зы. настоятельно предлагаю прочитать статью!!!

[вложение удалено Администратором]
« Последнее редактирование: 04.03.2006, 16:10:19 от userxp »
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

PyKaB

  • Захожу иногда
  • 88
  • 19 / 13
Re: Документация по компонентам
« Ответ #46 : 04.03.2006, 19:41:58 »
это мне что ли все?
мне не надо....
мне нуже модуль...
или я че не понятно спросил?
статью читал - вообще читать люблю я.
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Документация по компонентам
« Ответ #47 : 04.03.2006, 20:41:01 »
ой... это меня переклинило и я не правильно прочитал вопрос.
сорри!
 >:(

зы. а что там такого сложного?
всё просто: XML+PHP. ложишь в /administrator/modules/ (можно вообще без XML)
другое дело функции/возможности.....

посмотри из того, что есть, сразу станет ясно.
а зачем тебе модуль в админке?
« Последнее редактирование: 04.03.2006, 20:49:45 от userxp »
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

PyKaB

  • Захожу иногда
  • 88
  • 19 / 13
Re: Документация по компонентам
« Ответ #48 : 04.03.2006, 22:52:33 »
его же надо в базе регистрировать... простого копирования недостаточно...
начинка модуля уже почти готова, так что вопрос становится все актуальнее.
хочу сделать полезныймодуль бэкапа. подробности есть в теме модуль для админки в этом разделе...
помогите мне и будете первыми обладателями :)))
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Документация по компонентам
« Ответ #49 : 04.03.2006, 23:49:44 »
итак, вычисляем ;)
модуль в админке должен быть записан в таблице #__modules со значение полей:
id...
published=1
module=имя_модуля
numnews=0
access=99
client_id=1
showtitle=1
ordering=...
position=?? cpanel видимо...
iscore=1
params=пусто

-----------------------------------------------------------------
ну, у меня получилось, модуль в списке появился,
в CPanel-и тоже
 :D
« Последнее редактирование: 05.03.2006, 00:02:03 от userxp »
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Документация по компонентам
« Ответ #50 : 05.03.2006, 13:30:53 »
2 smart
а каким образом можно обеспечить индексацию поиска внутри моего компонента?
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

PyKaB

  • Захожу иногда
  • 88
  • 19 / 13
Re: Документация по компонентам
« Ответ #51 : 05.03.2006, 18:17:28 »
я так понял, что нормальную установку модуля для админки не предусмотрели...
придется видимо делать хак или еще что...
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Документация по компонентам
« Ответ #52 : 05.03.2006, 18:56:46 »
я так понял, что нормальную установку модуля для админки не предусмотрели...
придется видимо делать хак или еще что...
зачем хак?
напиши админ-компонент ;)
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Документация по компонентам
« Ответ #53 : 06.03.2006, 00:55:00 »
2 smart
а каким образом можно обеспечить индексацию поиска внутри моего компонента?
необходимо написать поисковой мамбот, который будет осуществлять поиск по данным твоего компонента, и возвращать их компоненту com_search. если есть вопросы по реализации мамбота - давай открывай новую тему, расскажу там.

Re: Документация по компонентам
« Ответ #54 : 10.03.2006, 22:21:12 »
Несмог найти вменяемого мана по api функция джумлы. Такой есть в природе в принципе?
Или где можно взять информации по поводу api функций каксающихся работы с: пользователем (создание/удаление), работы с группой (создание/удаление), работас с acl.

*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Документация по компонентам
« Ответ #55 : 10.03.2006, 23:39:46 »
Несмог найти вменяемого мана по api функция джумлы. Такой есть в природе в принципе?
нету, нет... есть только для 1.1, но во-первых она еще не вышла, а во-вторых оно еще поменяется...

Или где можно взять информации по поводу api функций каксающихся работы с: пользователем (создание/удаление), работы с группой (создание/удаление), работас с acl.
в Mambo/Joomla нет никаких особенных функций для работы с пользователями - вся работа ведется на уровне класса mosUser наследника от mosDBTable. Группы пользователей - фиксированы, поэтому добавлять или удалять их не получится.

Re: Документация по компонентам
« Ответ #56 : 11.03.2006, 00:02:28 »
Тоесть как неполучится? А где хваленая гибкость джумлы? (вопрос реторический) Недумаю что так уж сложно создать бополнительную группу... темболее насколько я понял что они создаются в джумле динамически через _mos_add_acl. Если всетаки я неправ можно ли реализовать в джумле следуюшее.

Есть станадартный компанент для которого необходимо раширить функциональность.
С прекладными функциями я какнибудь разберусь сам а вот с системными (те функции которые ложатся на кмс) есть проблемы.
Конкретно что непонятно
- к компаненту(бэкенд) планируетс реализовать 2хуровненый доступ( 1)администратор имеет полную свободу действий и 2)продвинутый юзер который должен имет доступ только к бэкэнду данного компаненто при чем только к определенным функциям). Это реально реализвать ччерез api?(как я понял из предидущего вашего ответа нет), предется придумывать что-то свое? Если реально то в какую сторону копать? Я предпологаю сделать дополнительную группу и какнибудь через acl дать ей соответственно права только на определенный функционал бекенда. Насколько я заню в акл это должно быть ;) но реализацию acl в джумле пока доконца непоянл(поянл что acl в джумлу доконца не портирован).

Re: Документация по компонентам
« Ответ #57 : 16.03.2006, 10:53:33 »
Здравствуйте все!
Вот у меня тоже проблема есть, только не знаю сюда пишу или нет.

Структура моего компонента такова (то есть из каких файлов состоит):

Код
<files>
<filename>all.php</filename>
<filename>all.html.php</filename>
<filename>file.php</filename>
<filename>all.css</filename>
</files>
<install />

<uninstall />

<installfile>
<filename>install.all.php</filename>
</installfile>

<administration>
<menu task="about">Компонент</menu>

<files>
<filename>admin.all.php</filename>
<filename>admin.all.html.php</filename>
<filename>example_css.css</filename>
</files>
<images>
<filename>images/all.gif</filename>
</images>
</administration>
Файл all.php это форма из которой пользователь посылает значения в файл all.html.php.В файле all.html.php есть ссылка "подробнее" при клике на нее пользователь попадает на полное описание в file.php.
Вот из этого всего не могу собрать компонент. У меня получается что в компонент входит только один файл с одноименным названием компонента, то есть из формы значения не посылаются в другой файл, а работают помимо ядра. А если я вставляю в файл all.php:
Код
require_once( $mainframe->getPath( 'front_html' ) );

то они какбы сливаются и получается, что всегда отображается сразу и форма и результаты. Причем делаю ссылку в меню на свой компонент, после захода по этой ссылке компонент отображается, но без шаблона сайта, а когда что-нибудь набираю в форме и делаю запрос, тогда отображается в шаблоне, но как уже писал выше все вместе (И форма и результаты). И вообще не понятно тогда как использовать 3 файл, на который пользователь попадает после нажатия на ссылку "подробнее". Пока получилось сделать каждый файл компонентом (из одного компонента, он же является формой, передаются значения в другой компонент), но чую это не выход.
Как связать все файлы в один компонент в моем случае? И как прикрутить свой файл CSS (он у меня в head'e, но его же убрать придется)? 

Re: Документация по компонентам
« Ответ #58 : 17.03.2006, 07:49:35 »
Никто не поможет? Все пользуются уже готовыми компонентами...чтоли? Подскажите, куда хотябы глядеть, может я что-то не так делаю?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Документация по компонентам
« Ответ #59 : 17.03.2006, 13:43:20 »
Никто не поможет? Все пользуются уже готовыми компонентами...чтоли? Подскажите, куда хотябы глядеть, может я что-то не так делаю?
запутал ты меня...

тебе надо сделать во фронте 2 файла:

имякомпонента.php
имякомпонента.html.php

в первом, ты реализуешь логику работы, и, допустим, в зависимости от некоторого параметра (обычно используется task), ты вызываешь ту или иную фунцию.

например, в имякомпонента.php пишешь нечто вроде:

Код
<?php
// автоматически подключаешь файл имякомпонента.html.php
require_once( $mainframe->getPath( 'front_html' ) );

$task = mosGetParam($_REQUEST, 'task', '');

switch($task) {

case 'saveform'
savesorm();
break;

case 'showform':
default:
showform();
break;

}

function showform() {
// тут какая-то логика, а затем вызов отображения типа:
// HTML_form::showForm($param1, $param2 ... );
}

function saveform() {
// тут сохраняешь данные и т.д.
}
?>

а в файле имякомпонента.html.php пишешь уже реализацию отображения:
Код
<?php
class HTML_form {

showForm($param1, $param2 ... ) {
// тут уже непосредственно отображение формы
}

}
?>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Документация по созданию user profile плагина для Joomla 1.6

Автор n_drey

Ответов: 13
Просмотров: 2480
Последний ответ 05.10.2011, 21:03:46
от n_drey