Joomla Component Tool или строительные леса?


12

Я создал пару плагинов для Joomla 3.2 и недавно начал использовать компонент для управления арендой квартир. Мне было интересно, существует ли какая-либо инфраструктура, в которой уже была создана базовая структура файлов / папок с файлами, необходимыми для быстрого запуска компонента.

Я не хочу заново создавать колесо при каждом запуске, а файлы и классы, необходимые для запуска компонента, имеют базовую необходимую структуру. Там уже есть один?

Если нет, то какой из стандартных компонентов Joomla будет хорошим примером для работы?

РЕДАКТИРОВАТЬ: увидев ответы, я думаю, что, возможно, «рамки» был плохим выбором терминов. Я не ищу ничего, что имеет собственную кодовую базу. Я искал что-то, что имеет структуру файлов / папок, общую для всех компонентов Joomla и необходимую для запуска, такую ​​как контроллер, папка представлений, папка моделей и т. Д.

То, что я ищу, не должно иметь зависимостей, которые уже не являются частью основного кода Joomla.

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


Если вы ищете леску Joomla, попробуйте mmleoni.net/joomla-component-builder .

Ответы:


15

Одним из инструментов, который я использовал в прошлом, является Создатель компонентов: http://www.component-creator.com/en/ .

Этот инструмент позволяет вам набросать одну таблицу бесплатно (больше, если вы подпишетесь на платный пакет), а также другую общую информацию о самом компоненте. Затем вы можете загрузить установочный zip-файл, чтобы запустить компонент.

Для тех, кто в любом случае с радостью приступает к написанию кода, это может быть отличным простым методом для начала разработки компонента.


Есть также некоторые расширения, которые вы можете установить в Joomla, чтобы помочь вам в разработке других компонентов Joomla. Одним из примеров этого стиля помощника является это бесплатное расширение Easy Creator: http://extensions.joomla.org/extensions/miscellaneous/development/5908

Это может быть отличным дополнением для среды тестирования, смешанной с инструментом сборки в одном удобном пакете.


Существует еще один инструмент под названием Joomla Component Generator для простой и быстрой генерации компонентов. Это позволяет создавать неограниченное количество таблиц бесплатно. Есть платные пакеты, но покупать их не обязательно, если вам не нужно несколько просмотров. Он также генерирует устанавливаемый zip-файл для загрузки. Тест показывает преимущества этого генератора. Посмотрите на сгенерированный код и отступы.

http://www.componentgenerator.com/


Компонент создателя выглядит многообещающе. Не могу дождаться, чтобы попробовать это.
Нестор Ледон

Component Creator действительно хорош, чтобы получить устанавливаемый компонентный фреймворк MVC за несколько минут.
Frupel

Создатель компонентов хорош и предоставляет много того, что мне нужно, даже на бесплатном уровне.
Pathfinder

8

После написания многочисленных расширений для клиентов я обнаружил, что снова и снова повторяю множество одинаковых шаблонов. Чтобы сохранить вещи сухими, я создал «компонентную структуру», которая абстрагирует большинство общих задач, которые я выполняю, но до сих пор она использовалась только внутри моей компании. Ему не хватает многих функций, но он выполняет работу для того, что мне нужно.

Я сказал это, чтобы сказать это - разработайте свою собственную компонентную структуру таким же образом. Возьмите общие черты кода, который вы в настоящее время производите, и переместите его на уровень иерархии OO в свой собственный слой, который находится между вашим компонентом и Joomla. При таком подходе вы избегаете проблемы «если фреймворк рухнет», о которой упоминал Чад, и понимаете ее гораздо лучше. До сих пор это работало хорошо для меня.


это в значительной степени то, что я ищу. Был хороший вариант для Joomla 1.5, который делает именно то, о чем вы говорите.
Pathfinder

1
Существует среда компонентов DRY, которая поставляется с более новыми версиями Joomla, называемая FOF (Framework on Framework), возможно, вы захотите взглянуть на нее: Документация , Google Group
fruppel,

Я знаю о FOF, но не хочу его использовать, так как он довольно тяжелый с точки зрения размера и использует устаревшие методы, такие как Singleton и Statics, во многих местах, которые мне не нравятся.
Дон Гилберт

Привет Дон, я сделал то же самое, и я очень счастлив. Я рекомендую другие разработки, чтобы сделать это.
Пьеро Марсилио

5

Я не люблю рекомендовать какие-либо «рамки» для такого рода вещей по нескольким причинам:

1) В CMS есть «фреймворк», и мне бы хотелось, чтобы, если нужно было «упростить» написание расширений, мы бы сосредоточились на основном коде фреймворка, а не на написании сторонних элементов.

2) Если вы пишете свое расширение на фреймворке, которое перестает существовать, вы скорее всего испорчены.

3) Использование ядра в идеале позволит улучшить обновления. Это не всегда так, поэтому существуют сторонние структуры для этого, но чем больше мы настаиваем на том, что это так, и ожидаем, тем больше будет на самом деле. Если мы не сосредоточимся на этом, это никогда не улучшится.

-

Таким образом, в Joomla есть «RAD Framework», называемый FoF (framework на framework). Я не использовал его, но это, как говорят, инструмент для экономии времени. Здесь есть некоторая документация:

https://www.akeebabackup.com/documentation/fof/getting-started-with-fof.html

Примечание. FoF включен в дистрибутив Joomla 3.2, поэтому вам не нужно устанавливать его, если вы используете расширение для Joomla 3.2+.

Наконец, если вы хотите остаться в ядре и использовать базовые классы MVC, в настоящее время все еще рекомендуется использовать устаревшие классы MVC (изменится, как только новый MVC будет тщательно изучен). Хорошим базовым расширением является компонент com_contact или com_banners. Они довольно просты, и вы можете выбрать такие вещи, как JForm и пользовательские модели.


Я согласен с @chad. Если вы действительно хотите использовать фреймворк, я бы посоветовал вам попробовать FOF. Это намного лучше, чем другие рамки.
Рамеш Эламати

4

Я очень рекомендую Cook Self Service . Я считаю, что это небольшая плата, но она генерирует около 85% нашего основного образовательного компонента, экономя 1000 долларов для начала работы, и сгенерированный код был приятным и чистым для нашей модификации.


3

Вы взглянули на компонент Joomla Hello World ? Я еще не смотрел на это, но похоже, что он имеет минимальное количество файлов, необходимых для создания компонента. Также, поскольку Joomla 3.2 включает Framework on Framework (FOF), вы рассматривали пример компонента To-Do FOF ? Я знаю, что у меня есть собственный компонент Joomla 3.x в моем списке дел, и это были два примера, которые я планировал использовать в начале проекта. Надеюсь, они тоже будут работать на вас.


1
  1. Мы разработали RB Framework поверх Joomla. Мы используем его для разработки наших компонентов (PayPlans, PayInvoice и т. Д.) ( Https://github.com/readybytes/rbframework )

  2. Для этого у нас есть компонентный компоновщик ( https://github.com/readybytes/component-builder )

Выше рамки уменьшает много стресса, делая одни и те же вещи снова и снова.

Имп:

  1. Документация недоступна. Вы должны учиться на существующих компонентах.
  2. Он настолько мощный, что на нашем сайте есть специальный компонент для ведения блогов и документации (разработанный за один день).

Было бы здорово в файле readme, если бы вы могли просто дать несколько советов о том, как его использовать. Прямо сейчас я не знаю, с чего начать.
Валентин Деспа
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.