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

костикTITS

  • Осваиваюсь на форуме
  • 16
  • 2 / 0
Хочу сделать некоторый компонент, который выводил бы стандартный Джумельский контент (только условия другие).
А вот и вопрос, есть ли какая-то документация, как создавать компоненты (я когда в стандартные заглядываю — плакать хочется, до чего сложные!) и как в этих компонентах использовать стандартный Джумельский com_content (по типу com_frontpage)?
А, да, очень хотелось бы по-русски.

Спасибо!
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re:Документация по компонентам
« Ответ #1 : 05.02.2006, 20:36:29 »
вообще нормальной документации на русском нет нигде, все что я не видел - переводы, причем порой весьма корявые.

вот например один из них: http://wiki.ru-mambo.ru/RukovodstvoPoSozdanijuKomponentov?v=104u

однако, я давно собираюсь создать такую документацию. давай устроим в этом топике обсуждение, и я постараюсь ответить на все интересующие вопросы по разработке расширений для Джумла.  А потом, на базе имеющегося материала топика - мы оформим это статьей...
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re:Документация по компонентам
« Ответ #2 : 06.02.2006, 11:31:44 »
неблагодарное это дело
 >:(
по себе знаю...

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

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re:Документация по компонентам
« Ответ #3 : 06.02.2006, 11:51:37 »
неблагодарное это дело
ну кто-то же должен начать? :) тем более что сегодня был анонсирован Joomla Developer Network...

короче, предложение остается в силе: я готов ответить на ЛЮБЫЕ вопросы по разработке расширений для Joomla.
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re:Документация по компонентам
« Ответ #4 : 06.02.2006, 12:47:48 »
хороший фреймворк...

только это ничего не меняет.
отвечать на вопросы - это одно, а писать мануал - это другое.
у вас на сайте уже есть краткое описание как написать компонент.
оно, конечно, не полное, но что дальше?..
 :-\

зы. можно взять за основу раздел написания компонентов из Developer Manual, перевести его на русский, а потом дополнять уже "по-факту"...
« Последнее редактирование: 06.02.2006, 12:49:47 от userxp »
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

костикTITS

  • Осваиваюсь на форуме
  • 16
  • 2 / 0
Re:Документация по компонентам
« Ответ #5 : 06.02.2006, 19:24:18 »
Спасибо за ссылку!
Буду разбираться.

Насчёт документации — навряд ли я тут смогу помочь. Я в Джумле вообще ни в зуб ногой. :)
Разве что тупыми вопросами, на которые нужно будет ответить, хехе.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re:Документация по компонентам
« Ответ #6 : 06.02.2006, 19:43:44 »
Насчёт документации — навряд ли я тут смогу помочь. Я в Джумле вообще ни в зуб ногой. :)
Разве что тупыми вопросами, на которые нужно будет ответить, хехе.
ну все мы когда-то начинали, мне напрмер щас трудно сказать что там непонятного-то, поэтому спрашивай - буду отвечать по-тихоньку
*

костикTITS

  • Осваиваюсь на форуме
  • 16
  • 2 / 0
Re:Документация по компонентам
« Ответ #7 : 06.02.2006, 19:54:19 »
Ну, в плане создания компонента — я почитал, вроде понятно. Хотя пробовал давно — не получилось... (сейчас пока не пробовал)
Разве что, как из своего компонента вызвать стандартный com_content.

Допустим, я выбрал из базы по чёрти знает какому алгоритму некоторые данные, стандартные Джумельские данные, только отсортированные поособому. Так вот, как это на экран вывести?
(разумеется, хотелось бы не своими силами, а именно с помощью встроенных в Джумлу)
*

костикTITS

  • Осваиваюсь на форуме
  • 16
  • 2 / 0
Re:Документация по компонентам
« Ответ #8 : 07.02.2006, 02:20:06 »
А подумав, решил я написать здесь, что вообще хочу получить-то — и вам понятней и я хоть определюсь, что хочу.

Значит так, есть некоторый пользователь (для краткости, Вася), есть мега-сайт сайт.ру (с уникальной информацией) с поддоменами (в каждом из которых информация уникальна).
Наш Василий заходит на один из поддоменов (допустим, суб3.сайт.ру) и невероятным образом (с помощью mod_rewrite я подозреваю) попадает на мой компонент, который выдаёт ему стандартные статьи, только отсортированные для конкретного поддомена (в нашем случае суб3.сайт.ру). Вопрос №1 — как создать пакет контента и выдать стандартному их обработчику, т.е. com_content.
Далее, в каждом, я повторяю, в каждом поддомене (и даже в самом корне) есть некоторое подменю, которое никогда не меняется, просто действует в рамках своего поддомена.
Вопрос №2 — сработает ли стандартный модуль mod_mainmenu или надо его изменить? Вопрос КАК пока не стоит — это не сложно, как я представляю.
Вася бродит по меню, тыкает, ему выдаётся всё в зависимости от поддомена, разумеется.
И тут он хочет сделать поиск по сайту. Причём он хочет искать в разных режимах, как то — в своём поддомене или на глобальном сайте или даже вообще на всех поддоменах. Для этого, разумеется, надо сделать какие-то изменения в компоненте поиска, т.е. добавить выбор доступных поддоменов.
Вопрос №3 — сложно ли сделать это?
И тут ему приходит в голову, что он, наивный, может как-то посодействовать жизни сайта, причём это будет полезно почитать как глобальным пользователям, так и пользователям из суб3.сайт.ру (а может и другим некоторым поддоменам).
Не долго думая, он кликает на "Написать статью". Есть такая стандартная фича в Джумле, если кто не знает, которая позволяет писать пользователям контент. Так вот, её же тоже надо будет как-то менять, тоже добавить список поддоменов, в которые он может написать.
Вопрос №4 — где это делается?
Вроде всё.
Из того, что сделано — добавление поддомена происходит вручную, т.е. я пишу его название и в предварительно созданной таблице создаётся запись с русским названием этого поддомена и его названием для SEF-адреса.

Перефразирую вопросы:
1. Как выдать стандартному обработчику контента, т.е. com_content, то, что я выбрал из таблицы?
2. Сработает ли стандартный модуль mod_mainmenu для ситуации с одинаковым меню и разными поддоменами или надо его изменить/написать свой?
3. Сложно ли изменить компонент поиска по сайту, чтобы поиск зависел от поддомена, с которого поиск идёт?
4. Где и как изменить компонент добавления контента? Как он вообще называется?

Спасибо за терпение!
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Документация по компонентам
« Ответ #9 : 01.03.2006, 11:46:13 »
ну все мы когда-то начинали, мне напрмер щас трудно сказать что там непонятного-то, поэтому спрашивай - буду отвечать по-тихоньку
ну держи вопрос :)
начал я ковыряться с созданием компонентов.
уже раз 10 вычитал "родную" доку - инфы мало.
для теста (ессессно) взял пример HelloWorld (даже специально выкачал зип с примером)

так вот, если компонент просто ложить /administrator/components/ то он нормально отрабатывается по ссылке index2.php?option=com_имя_компонента.
я попробовал его синсталлировать - написал xml - инсталлируется нормально, НО!
вот тут самое главное - ничего не работает - при нажатии на пункте через меню в списке (как и впрямую через URL) всё время вызывается главная страница настройки....  >:(

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

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Документация по компонентам
« Ответ #10 : 01.03.2006, 12:14:53 »
чего не хватает-то??
прикрепи к теме архив с компонентом - гляну
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Документация по компонентам
« Ответ #11 : 01.03.2006, 16:34:58 »
опа... странно... а мне форум НЕ показал твоего ответа в непрочитанных...

ладно, то не важно.
у меня уже кое-что стало получаться ;)
тот вопрос оставим на чуть по-поззже
(видимо это было связано с основным пунктом меню, поскольку у меня на него не было определено действие;
что-то вроде <menu>com_component</menu> )  >:(
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Документация по компонентам
« Ответ #12 : 01.03.2006, 16:37:12 »
(видимо это было связано с основным пунктом меню, поскольку у меня на него не было определено действие;
что-то вроде <menu>com_component</menu> )  >:(
ага, если пункта меню нет, то компонент и не попадает в таблицу jos_components...
*

userxp

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

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Документация по компонентам
« Ответ #14 : 01.03.2006, 17:07:23 »
не, пункт есть.
действие не указано
действия были прописаны в подменю-шках
если действие не указано, то просто не будет определена переменная $task, а работать все должно
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Документация по компонентам
« Ответ #15 : 01.03.2006, 17:39:57 »
если действие не указано, то просто не будет определена переменная $task, а работать все должно
работает.
значит, проблема была в чём-то другом...

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

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Документация по компонентам
« Ответ #16 : 01.03.2006, 18:08:11 »
кстати, а чем "рисуются" вкладки( табы)?

вот таким кодом:

Код
<?php
$tabs = new mosTabs( 0 );
$tabs->startPane( 'test' );
$tabs->startTab( 'Первая страница', "frist");
echo 'этот текст находится на первой странице';
$tabs->endTab();
$tabs->startTab( 'вторая страница', "second");
echo 'этот текст находится на второй странице';
$tabs->endTab();
$tabs->startTab( 'третья страница', "third");
echo 'этот текст находится на третьей странице';
$tabs->endTab();
$tabs->endPane();
?>

*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Документация по компонентам
« Ответ #17 : 01.03.2006, 18:22:00 »
Данке шён  :D

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

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Документация по компонентам
« Ответ #18 : 02.03.2006, 00:08:10 »
Данке шён  :D
Bitte schön

зы. а в природе есть более/менее полное описание апи для 1.0? или нужно в 1.1 лезть?
для 1.0 фактически ничего нет, или по исходникам можно раскопать, можно меня спросить - все что знаю - расскажу.

что касается API Joomla 1.1, то посмотреть его можно тут: http://api.joomla.org
*

userxp

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

Re: Документация по компонентам
« Ответ #20 : 02.03.2006, 03:30:01 »
ну кто-то же должен начать? :) тем более что сегодня был анонсирован Joomla Developer Network...

короче, предложение остается в силе: я готов ответить на ЛЮБЫЕ вопросы по разработке расширений для Joomla.
Привет.

Для начала правильный вопрос. Необходимо показывать информацию о пользователе сайта, при этом брать её не только из базы джумлы, но и из других файлов (включая http) и из другой базы. Вопрос 1: Нужно ли здесь ваять свой новый компонент?
Теперь неправильные вопросы... Вопрос 2: что необходимо для начала использования patTemplate в Joomla! 1.0.7.04? Вопрос 3: Он как-то хитро устанавливается или встроен?
Вопрос 4: есть ли в джумле кэш страниц, как у IPB для большой нагрузки?
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Документация по компонентам
« Ответ #21 : 02.03.2006, 11:46:36 »
Вопрос 1: Нужно ли здесь ваять свой новый компонент?
смотря где показывать и сколько информации.
имхо - это модуль.

Вопрос 2: что необходимо для начала использования patTemplate в Joomla! 1.0.7.04?
тут пусть smart комментирует ;)
patTemplate поставляется в дистрибутиве (у меня даже где-то есть в виде отдельного инсталлируемого компонента)
а более "полную" (последнюю) версию можно взять с php-tools.de (php-tools.net)
так же можно выкачать доку по API (прилагать не буду - файл почти 800 кБ)

Вопрос 4: есть ли в джумле кэш страниц
есть. смотри Общие настройки\Кэш
« Последнее редактирование: 02.03.2006, 11:48:22 от userxp »
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3

Re: Документация по компонентам
« Ответ #22 : 02.03.2006, 12:49:38 »
смотря где показывать и сколько информации.
имхо - это модуль.
показывается по клике в меню "Успехи Персонажа". Насколько я знаю, модули придуманы чтобы показываться на многих страницах. Здесь совершенно однозначно только одна.

Большое спасибо за ответы!
*

userxp

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

userxp

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

Re: Документация по компонентам
« Ответ #25 : 02.03.2006, 15:31:11 »
У меня тоже есть пара вопросов.
Задача: добавить в джумлу функционал позволяющий более гибко работать с группами. Мне нужно создать группу модераторы, и привязать кадого модератора к определённому разделу или категории сайта. В пределах своей категории модератор может опубликовывать статьи, видеть неопубликованные статьи этого раздела (к которому он привязан), давать пользователям право опубликовывать статьи без предмодерации (но только в разделе за который отвечает модератор). В общем задача мягко говоря не простая.
Сейчас мучаю как вообще видеть неопубликованные статьи и опубликовывать их через фронт-энд. Ничего лучше не придумал как расковырять com_content из админки и не оформить его в виде компонента. В качестве компонента он у меня работает, но попытка просмотра всего содержимого приводит к ошибке базы... Параметр Limit у SQL запроса берётся при вызове конструктора класса PageNav, у меня при вызове SQL запроса получается такой бред LIMIT ,1 т.е. первый параметр не задан вообще, второй равен единице. Покопал PageNav (тот который в инклуде админки лежит) но такой результат по логике его работы и должен выдаваться, а правильно было бы для моего случая LIMIT 0,11
 
код из PageNav.php '/administrator/includes/pageNavigation.php'

Код
function mosPageNav2( $total, $limitstart, $limit ) {
$this->total = intval( $total );
$this->limitstart = max( $limitstart, 0 );
$this->limit = max( $limit, 1 );
if ($this->limit > $this->total) {
$this->limitstart = 0;
}
if (($this->limit-1)*$this->limitstart > $this->total) {
$this->limitstart -= $this->limitstart % $this->limit;
}
}
код из com_content.php (взят из /administrator/components/com_content, реально находится в /components/com_adv_content)
Код
     // get the total number of records
              .........
             $total = $database->loadResult();
require_once( $GLOBALS['mosConfig_absolute_path'] . '/components/com_adv_content/pageNavigation.php' );
$pageNav = new mosPageNav2( $total, $limitstart, $limit );
Значение переменной тотал при вызове конструктора класса равно 11.

Ничего не понимаю  ???
Может jacl 1.0.7.a мне бы помог, но он только для chartered members  :(

Re: Документация по компонентам
« Ответ #26 : 02.03.2006, 15:54:19 »
ну почему же?... вовсе не обязательно.
модуль может быть привязан как ко всем меню, так и к конкретному или, более того, может быть отображён только для определённой группы пользователей после авторизации.
Хорошо, тогда в чём разница? Где следует писать модуль, а где компонент?
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Документация по компонентам
« Ответ #27 : 02.03.2006, 16:00:02 »
Хорошо, тогда в чём разница? Где следует писать модуль, а где компонент?
хммм...
модуль - это как бы маленький компонент ;)
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Документация по компонентам
« Ответ #28 : 02.03.2006, 16:33:30 »
Хорошо, тогда в чём разница? Где следует писать модуль, а где компонент?
почитай статью: http://joomlaportal.ru/content/view/174/68/
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Документация по компонентам
« Ответ #29 : 02.03.2006, 16:38:49 »
Может jacl 1.0.7.a мне бы помог, но он только для chartered members  :(
ну 1.0.7a доступен всем зарегистрированным пользователям... ограничен пока доступ только к JACL 1.0.8... если возникнут проблемы со скачиванием JACL 1.0.7a - стукнись ко мне, я выложу его куда-нибудь
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор n_drey

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