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

colen

  • Новичок
  • 5
  • 0 / 0
Хочу разработать компонент для своего сайта.
Идея: на страничке сайта есть поля для заполнения. Данные из этих полей заносятся в таблицу в базе данных (БД)
(база устанавливается вместе с  новым компонентом).
Незнаю с чего начать?
Подскажите где можно узнать об основах разработки компонентов ... с полями для заполнения и БД.
Простой компонент с установкой БД я уже создал. осталось дело за формой с полями.
причем при необходимости редактирования в эти же поля будет выводится информация из БД.
*

FxPunter

  • Давно я тут
  • 691
  • 112 / 7
  • Э-эх!
Re: Разработка нового компонента
« Ответ #1 : 18.04.2008, 08:38:02 »
а может просто воспользоваться компонентом построения форм AkoForms :)
*

colen

  • Новичок
  • 5
  • 0 / 0
Re: Разработка нового компонента
« Ответ #2 : 18.04.2008, 12:45:47 »
Он вроде бы платный? и мне это не подходит.
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Разработка нового компонента
« Ответ #3 : 18.04.2008, 12:53:07 »
colen - это не обязательно должно быть приложение под Joomla!
Ты можешь просто написать код, сохранить его например как mycomponent.php и получать к нему доступ даже не устанавливая через админку Joomla! Просто создай в папке components папку com_mycomponent и закинь туда свою пхпшку. Досуп к ней будет через index.php?option=com_mycomponent

Вот и всё, остальное дело техники: знания html, php + mysql свзяки ;)
*

colen

  • Новичок
  • 5
  • 0 / 0
Re: Разработка нового компонента
« Ответ #4 : 22.04.2008, 08:06:58 »
Ты можешь просто написать код,

Ладно займемся техникой.

Re: Разработка нового компонента
« Ответ #5 : 14.05.2008, 10:00:21 »
Я создаю компонент с полями для регистрации. Вставила свой код в пустой компонент. Проблема в том, что в моём скрипте нужна функция exit; а если её использовать то страница не встраивается в вёрстку сайта, а выводится отдельно. Как оставить и end; и при этом встроить страницу в сайт? Очень нужна помощь!
*

FxPunter

  • Давно я тут
  • 691
  • 112 / 7
  • Э-эх!
Re: Разработка нового компонента
« Ответ #6 : 14.05.2008, 10:43:42 »
так в Joomla есть уже регистрация :)

Re: Разработка нового компонента
« Ответ #7 : 14.05.2008, 11:06:02 »
Так эта регистрация вроде для админки. А мне нужна для посетителей сайта
*

fs-p

  • Захожу иногда
  • 127
  • 49 / 0
Re: Разработка нового компонента
« Ответ #8 : 14.05.2008, 11:12:59 »
Для регистрации пользователей в joomle есть модуль mod_login. Зачем новый велосипед?

Re: Разработка нового компонента
« Ответ #9 : 14.05.2008, 11:25:23 »
Там недостаточно полей. И у меня свой процесс регистрации - введённые данные сравниваются с базой. И вобще мне кажется, что написать свой код лучше, чем менять готовый. Он такой сложный, мне в нём не разобраться
« Последнее редактирование: 14.05.2008, 11:29:43 от Nadejda »
*

Toreador

  • Осваиваюсь на форуме
  • 48
  • 5 / 1
  • Кто ветром служит, тому дымом платят.
Re: Разработка нового компонента
« Ответ #10 : 14.05.2008, 11:36:47 »
Для регистрации пользователей в joomle есть модуль mod_login. Зачем новый велосипед?
Там недостаточно полей. Он такой сложный, мне в нём не разобраться
Я бы не сказал, 4то он сложный... достаточно добавить несколько полей и дописать несколько своих функций... и всё...
Хотя если хочешь пому4аться...
P/S/ возможно приобретешь больше опыта.... хотя лу4ше придерживаться стиля Joomla...

Re: Разработка нового компонента
« Ответ #11 : 14.05.2008, 11:45:56 »
Может ты и прав, попробую разобраться. Хотя как придерживаться стиля Joomla, если его не знаешь
*

Toreador

  • Осваиваюсь на форуме
  • 48
  • 5 / 1
  • Кто ветром служит, тому дымом платят.
Re: Разработка нового компонента
« Ответ #12 : 14.05.2008, 12:06:00 »
Хотя как придерживаться стиля Joomla, если его не знаешь
Я с4итаю, 4то никак по другому не разобраться и не нау4иться стилю джумлы, если не разбираться в кодах, написанных "главными джумлянами мира"...)
P/S/ Всё приходит со временем, трудом и с опытом
*

TK

  • Осваиваюсь на форуме
  • 35
  • 9 / 0
Re: Разработка нового компонента
« Ответ #13 : 14.05.2008, 18:58:20 »
можно использовать Community Builder для таких случаев
*

Sin_gt

  • Новичок
  • 9
  • 1 / 0
  • ubuntu 8.04 LAMP
Re: Разработка нового компонента
« Ответ #14 : 03.07.2008, 15:19:39 »
У мя 2 недели ушло чтоб разобраться с joomla 1.5.Х Так что легкого пути нет
*

SloN

  • Осваиваюсь на форуме
  • 16
  • 1 / 0
  • Just try...
Re: Разработка нового компонента
« Ответ #15 : 25.09.2008, 13:54:56 »
А теперь вопрос, можно ли сделать так:
myphp.php в components/com_mycomponent и просто какой я хочу код, а не использовать функции и потом выводить через myphp.class.php
Думаю вроде сам понял что написал:)
*

Toreador

  • Осваиваюсь на форуме
  • 48
  • 5 / 1
  • Кто ветром служит, тому дымом платят.
Re: Разработка нового компонента
« Ответ #16 : 26.09.2008, 16:00:18 »
А теперь вопрос, можно ли сделать так:
потом выводить через myphp.class.php
Как это ты собираешься выводить классом)... хм...
Ну а вообще можно и без функций)
*

TrOn

  • Захожу иногда
  • 91
  • 0 / 0
Re: Разработка нового компонента
« Ответ #17 : 06.01.2009, 16:24:51 »
Есть ли вообще какие-нибудь инструкции по написанию своего компонента? находил под  joomla 1.0 но насколько понимаю в 1.5 что то изменилось...
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
*

TrOn

  • Захожу иногда
  • 91
  • 0 / 0
Re: Разработка нового компонента
« Ответ #19 : 11.01.2009, 21:00:35 »
А как делается вот такая штука как на вложение? смотрел код не очень че-то понял

[вложение удалено Администратором]
*

Ворон

  • Новичок
  • 5
  • 0 / 0
Re: Разработка нового компонента
« Ответ #20 : 15.01.2009, 19:43:54 »
У меня проблема возникла, пока ответа найти не могу.
Дело было так:
несколько вложенных свитчей

switch($act)
   {
   case 'config':
      switch ($task)
      {
...      }
      break;
   case 'manage':
   default:
      switch ($chapter)
      {
         case 'table':
            switch ($task)
            {
               case 'edit':
                  editTable($option, $id);
               break;
               case 'new':
...               break;
               default:
               listTables();
               break;
            }
         break;
         case 'cutter':
            switch ($task)
            {
...            }
         break;
         case 'plasmatron':
            switch ($task)
            {
...            }
         break;
         case 'chpu':
            switch ($task)
            {
...            }
         break;
         default:
            selectChapter();
         break;
      }
   break;

...
function selectChapter()
{
   ?>
   <h1>Управление компонентом "Конструктор"</h1>
   <h2><br>
   <a href="index2.php?option=com_constructor&act=manage&chapter=table">Link 1</a><br>
   <a href="index2.php?option=com_constructor&act=manage&chapter=cutter">Link 2</a><br>
   <a href="index2.php?option=com_constructor&act=manage&chapter=plasmatron">Link 3</a><br>
   <a href="index2.php?option=com_constructor&act=manage&chapter=chpu">Link 4</a><br></h2>
   <?
}
...
В результате, если Register Globals установлен в ON, то все ссылки работают, если же установлен в OFF, то уже не работает, причем снова вызывается selectChapter() и в адресной строке имеется переменная $chapter с идним из соотвествующих значений.
Подскажите, плз, как исправить код, чтобы компонент заработал :-) Может я как-то не так переменные извлекаю?
Заранее благодарен ;-)
*

Physicist

  • Глобальный модератор
  • 984
  • 194 / 0
  • Рябов Денис
Re: Разработка нового компонента
« Ответ #21 : 15.01.2009, 20:30:25 »
Так ты ж не написал, как ты $act извлекаешь...
*

Ворон

  • Новичок
  • 5
  • 0 / 0
Re: Разработка нового компонента
« Ответ #22 : 15.01.2009, 20:54:54 »
$act из подменю компонента
в *.xml я описал:
...
<menu act="manage">Manage items</menu>
...
*

Ворон

  • Новичок
  • 5
  • 0 / 0
Re: Разработка нового компонента
« Ответ #23 : 15.01.2009, 21:00:49 »
как раз с $act проблем нет. Свитч нормально обрабатывает.
Проблема возникла с $chapter.
Скажем выбрав ссылку <a href="index2.php?option=com_constructor&act=manage&chapter=table">Link 1</a><br> на странице после выполнения selectChapter, он возвращает меня на страницу, сгенерированную функцией selectChapter();
при этом в адресной строке следующее:
http://joomla/administrator/index2.php?option=com_constructor&act=manage&chapter=table
и так с каждой ссылкой.
*

Ворон

  • Новичок
  • 5
  • 0 / 0
Re: Разработка нового компонента
« Ответ #24 : 15.01.2009, 21:10:47 »
Все с этой проблемой справился.
Решил извлечь таким образом.

$chapter = mosGetParam( $_REQUEST, 'chapter', '' )
Спасибо за ответ.
*

Ворон

  • Новичок
  • 5
  • 0 / 0
Re: Разработка нового компонента
« Ответ #25 : 15.01.2009, 21:19:31 »
Возникла следующая проблема.
В этом же файле (admin.component.php) описана функция:
function editTable($option, $uid)

{
   global $database;
   $row = new table($database);
   if($uid)
   {
      $row -> load($uid[0]);
   }
   HTML_table::editTable($option, &$row);
}
которая вызывается в свитче
case 'edit':
   editTable($option, $id);
break;
Использую класс mosMenuBar для выбора $task.
Результат: меня выбрасывает на главную страницу админской части.
HTML_table::editTable($option, &$row): содержит только форму.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Модификация стандартного компонента weblinks

Автор gdX

Ответов: 25
Просмотров: 7305
Последний ответ 19.03.2012, 15:32:29
от klenovskaja
Вывод компонента

Автор CTPZ

Ответов: 4
Просмотров: 1568
Последний ответ 13.06.2011, 18:27:13
от CTPZ
Создание компонента! Joomla 1.5 MVC!

Автор ANRY_777

Ответов: 7
Просмотров: 3531
Последний ответ 23.02.2011, 18:58:30
от ANRY_777
использование Quote и getEscaped в модели компонента

Автор Dron79

Ответов: 1
Просмотров: 3202
Последний ответ 12.12.2010, 08:46:35
от Dron79
Создание конфига для компонента

Автор b2z

Ответов: 10
Просмотров: 2448
Последний ответ 21.10.2010, 18:47:23
от shprota