Различие между компонентами, модулями, расширениями и плагинами в Joomla

Возможно, не вид "подсказки", которую Вы искали, но я должен сказать что мой опыт после нескольких лет перемещения от C++ & STL к C++ & повышение & STL - то, что я теперь трачу партия меньше времени в GDB, чем я привык для. Я подавил это ко многим вещам:

  • интеллектуальные указатели повышения (особенно "совместно использованный указатель" и контейнеры указателя, когда производительность необходима). Я не могу помнить прошлый раз, когда я должен был записать, что явное удаляет (удалите, "goto" C++, по моему скромному мнению). Там идет много времени GDB, разыскивая недопустимые и протекающие указатели.
  • повышение полно доказанного кода для вещей, из которых Вы, вероятно, взломали бы вместе нижнюю версию иначе. например, boost::bimap является большим для общего шаблона LRU кэширующаяся логика. Там идет другая "куча" времени GDB.
  • Принятие unittesting. boost::test АВТОМАТИЧЕСКИЕ макросы означают, что это - абсолютный пустяк для установки тестовых сценариев ( легче, чем CppUnit). Это ловит много материала задолго до того, как он встроен во что-либо, к чему необходимо было бы присоединить отладчик.
  • Связанный с этим, инструменты как boost::bind облегчают дизайну для теста. например, алгоритмы могут быть более универсальными и менее связаны с типами, на которые они воздействуют; это делает включение их в тестовые контейнеры/прокси/фиктивные объекты и т.д. легче (это и то, что воздействие шаблону-tasticness повышения поощрит Вас "сметь обрабатывать по шаблону" вещи, которые Вы никогда не рассматривали бы прежде, приводя к подобным преимуществам тестирования).
  • boost::array. "C выстраивают" производительность, с проверкой диапазона в сборках отладки.
  • повышение полно большого кода, который Вы не можете не изучить от [1 111]

26
задан nbro 25 June 2015 в 14:12
поделиться

2 ответа

Плагины

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

Компоненты

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

Модули

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

Расширения

Компоненты, языки, модули, плагины и шаблоны, вместе известные как Расширения.

Бесплатное руководство по быстрому запуску .

45
ответ дан 28 November 2019 в 06:25
поделиться

Модули и компоненты отображаются на странице.

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

На странице может быть только один компонент . Когда вы выбираете пункты меню, вы фактически выбираете компонент, который вы хотите отображать на странице. Переменные для компонента сохраняются один раз (в базе данных), поэтому у вас не может быть нескольких экземпляров компонента!

С другой стороны, модули добавляются несколько раз. У вас может быть много модулей на одной странице . Фактически, у вас может быть 100 экземпляров одного и того же модуля на одной странице. Переменные модуля хранятся для каждого экземпляра. (в базе данных).

Вот почему шаблоны joomla имеют один заполнитель для компонента и много заполнителей для модулей.

Модуль может быть добавлен к отдельной странице (элемент меню), выбранным страницам или всем страницам.

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

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

  • Примеры компонентов:

    • ] com_content (отображает статьи ...)
    • доска объявлений
    • форум
    • карта сайта
  • Примеры модуля:

    • часы обратного отсчета
    • 10 самых читаемых материалов
    • опрос
8
ответ дан 28 November 2019 в 06:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: