Новости Joomla

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

Александр Фёдоров

  • Захожу иногда
  • 143
  • 26 / 4
  • Жизнь - удивительная штука
Коллеги, приветствую.

Может кто-то уже реализовывал или думал в указанном направлении... :)

Задача такая: сделать модульное приложение, функционал которого можно расширять. Но приложение должно быть именно модульным. Т.е. в одном случае имеем один набор функционала, в другом - другой. А общая часть должна совпадать...

Самый простой пример - способы оплаты в интернет-магазине. По-умолчанию есть "наличными курьеру", который не требует никаких дополнительных действий со стороны системы - только зафиксировать факт выбора способа оплаты. Но должен быть и способ оплаты через те же Я.Деньги или банковскую карту, и этот функционал хочется сделать "отцепляемым".

Если это делать с помощью плагинов Joomla, то появляется вопрос по поводу MVC в плагинах, т.к. нужен будет вызов удалённого сервиса, отправка пользователя туда, возврат обратно, сохранение полученных данных. Ну и т.д.

Ну или может кто-то делал другим способом?
Жизненно важный ингредиент успеха — это не знать, что задуманное вами невозможно выполнить. М.Жванецкий
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Разработка модульного приложения
« Ответ #1 : 21.01.2013, 23:16:09 »
Теоретически можно все шаги оформления покупки затолкать в один модуль, который бы подгружал текущие шаги. Есть возможность связи с БД, есть возможность передавать данные модели компонента в контроллер модуля. Или даже создавать свою модель для модуля. В принципе, тут больше дело технического подхода. Или речь не об этом? В каком смысле "отцепляемым"? От чего?
*

Александр Фёдоров

  • Захожу иногда
  • 143
  • 26 / 4
  • Жизнь - удивительная штука
Re: Разработка модульного приложения
« Ответ #2 : 21.01.2013, 23:43:26 »
Ну, если развивать пример, который я привёл выше, нет смысла запихивать в отдельный "пакет" все способы оплаты, т.к. кому-то нужен PayPal, а кто-то принимает только webmoney. Вот и хотелось бы загружать на сайт только нужный функционал.

Если делать "пакет" в виде плагина, то появляются два вопроса: возможно ли в плагине организовывать MVC и возможно ли компонент переадресовывать на контроллер плагина, а из плагина вызывать вид компонента?  ;D

Забавно получается...
Жизненно важный ингредиент успеха — это не знать, что задуманное вами невозможно выполнить. М.Жванецкий
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Разработка модульного приложения
« Ответ #3 : 22.01.2013, 10:56:53 »
Зачем в плагине MVC? Многие компоненты и так адресуются на контроллеры системных плагинов, тут все скучно и тривиально. А вот отделять и подгружать только нужное (кому?Админу, или покупателю? Если последнему, то как выяснить что ему нужно?) то и без лишних извращений есть решения. Onpay к примеру  ;D
*

mohax

  • Давно я тут
  • 901
  • 66 / 3
Re: Разработка модульного приложения
« Ответ #4 : 22.01.2013, 11:05:49 »
Ну, если развивать пример, который я привёл выше, нет смысла запихивать в отдельный "пакет" все способы оплаты, т.к. кому-то нужен PayPal, а кто-то принимает только webmoney. Вот и хотелось бы загружать на сайт только нужный функционал.

Если делать "пакет" в виде плагина, то появляются два вопроса: возможно ли в плагине организовывать MVC и возможно ли компонент переадресовывать на контроллер плагина, а из плагина вызывать вид компонента?  ;D

Забавно получается...
Не совсем понял. Но ведь плагины вызываются из компонента. И после выполнения действия мы так же возвращаемся в компонент. У вас есть н-ное количество плагинов, которые реализуют функционал. Их можно включать/отключать. Причем плагины могут быть разного типа. Мне кажется в рамках J! это самый правильный путь
*

Александр Фёдоров

  • Захожу иногда
  • 143
  • 26 / 4
  • Жизнь - удивительная штука
Re: Разработка модульного приложения
« Ответ #5 : 22.01.2013, 11:17:43 »
... И после выполнения действия мы так же возвращаемся в компонент. У вас есть н-ное количество плагинов, которые реализуют функционал. Их можно включать/отключать. Причем плагины могут быть разного типа. Мне кажется в рамках J! это самый правильный путь

Если у нас плагин отвечает только за одношаговую реакцию на какое-либо событие, произошедшее в компоненте, то всё верно. Мы можем вести цепочку событий в компоненте и по мере необходимости подгружать плагины.

Другой случай, когда в компоненте возникает событие, которое должно запустить цепочку событий, о которой компонент не знает. Та же он-лайн оплата подразумевает вызов платёжной системы, получение от неё ответа и реакцию в зависимости от полученного ответа, т.е. три события, о которых компонент ничего не знает. Указанные события должны обрабатываться внутри плагина, соответственно нужен как минимум свой контроллер, виды, а в случаях и модели.

Я пока нигде не нашёл способ организации MVC в плагинах.

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

Александр Фёдоров

  • Захожу иногда
  • 143
  • 26 / 4
  • Жизнь - удивительная штука
Re: Разработка модульного приложения
« Ответ #6 : 22.01.2013, 11:20:46 »
... Многие компоненты и так адресуются на контроллеры системных плагинов...

Вот это интересно было бы, если так на самом деле. Пока во всех источниках информации я не нашёл контроллеров у плагинов...
Жизненно важный ингредиент успеха — это не знать, что задуманное вами невозможно выполнить. М.Жванецкий
*

voland

  • Легенда
  • 11030
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Разработка модульного приложения
« Ответ #7 : 22.01.2013, 11:25:14 »
Тут наверно стоит реализовать в компоненте своё API и свою систему плагинов.
Как пример подобного расширения функционала - JComments, sh404SEF итп.
*

mohax

  • Давно я тут
  • 901
  • 66 / 3
Re: Разработка модульного приложения
« Ответ #8 : 22.01.2013, 12:08:10 »
Тут наверно стоит реализовать в компоненте своё API и свою систему плагинов.
Как пример подобного расширения функционала - JComments, sh404SEF итп.
Именно это я и имел ввиду. Вам нужна своя система плагинов. А там уж городите что хотите.
*

Александр Фёдоров

  • Захожу иногда
  • 143
  • 26 / 4
  • Жизнь - удивительная штука
Re: Разработка модульного приложения
« Ответ #9 : 22.01.2013, 12:35:33 »
Тут наверно стоит реализовать в компоненте своё API и свою систему плагинов.

Я видел подобную систему у Tiend'ы, когда некоторый функционал добавлялся в магазин с помощью плагинов Joomla. Правда из-за общего количества ошибок в компоненте я посчитал рискованным ориентироваться на схемы в нём реализованные, но сейчас ещё раз поближе покопаю.

За наводку на JComments спасибо. Я знал, что там есть система плагинов, но не думал, что самописная... Надо поговорить со smart'ом.
Жизненно важный ингредиент успеха — это не знать, что задуманное вами невозможно выполнить. М.Жванецкий
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Разработка компонента

Автор dimasan57

Ответов: 16
Просмотров: 1257
Последний ответ 23.05.2017, 14:27:42
от dimasan57
Разработка компонента: в админке в списке не работает смена состояния записи

Автор AlekVolsk

Ответов: 4
Просмотров: 1142
Последний ответ 10.11.2014, 16:23:12
от b2z
Разработка компонента: как из контроллера получить экземпляр представления?

Автор justquestion

Ответов: 5
Просмотров: 1362
Последний ответ 30.10.2014, 14:16:55
от b2z