Как разработать модуль Joomla?

Я смотрел далеко и широко для учебника по этому вопросу, но, похоже, не нашел ничего подходящего. Как вы создаете новый модуль для joomla?

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

Документация joomla довольно запутанна, и, прочитав ее несколько раз, я сдался. Может ли кто-нибудь помочь мне объяснить этот процесс? спасибо!

8 голосов | спросил serakfalcon 7 Mayam14 2014, 07:49:35

4 ответа


15

Изучение разработки модуля Joomla

Как я узнал, я изучал и настраивал основные или другие сторонние модули.
Модули в качестве концепции проще, чем компоненты (которые мы можем сказать, это 2 приложения front-end /back-end) и предназначены для отображения информации. Поэтому, если вы открываете папку /файлы модуля и начинаете читать код, вы, вероятно, быстро в него входите.

Анатомия модуля Joomla на примере

Например, вы можете открыть Latest Articles Module в Joomla 3.2 и проверить его код при чтении строк ниже. В папке модуля мы найдем 4 основных файла:

1. mod_articles_latest.php
2. helper.php
3. TMPL /default.php
4. mod_articles_latest.xml

  1. mod_articles_latest.php - это основной файл модулей, который используется при первом вызове модуля. Он инициализирует модуль и включает helper.php, вызывает метод класса helper для извлечения данных и, наконец, включает в себя шаблон модуля (default.php) для отображения данных.

  2. Файл helper.php - это «механизм» модуля (если можно так назвать). В помощнике мы создаем класс модуля и его методы для извлечения данных. Это место, где мы можем подключить модуль к базе данных. Прочитав код в этом вспомогательном файле этого модуля, вы увидите, что он содержит класс ModArticlesLatestHelper , который имеет один метод: getList (& $ params) .

    В рамках этого метода модуль проверяет настройки бэкэнд модуля и в конечном итоге строит список статей, которые он вернет, на основе этих условий. Обратите внимание: этот модуль использует метод JModelLegacy::getInstance , чтобы вернуть объект модели содержимого.

  3. Default.php является основным шаблоном модуля и ответственным за отображение содержимого модуля - здесь мы создаем вывод html, используя данные, которые вы извлекли ранее в mod_articles_latest.php, вызывая класс модуля. Он находится внутри папки tmpl. * Обратите внимание, что файл основного модуля содержит файл шаблона с помощью метода JModuleHelper :: getLayoutPath , который сначала проверяет наличие переопределения шаблона.

  4. Наконец, mod_articles_latest.xml я бы назвал его «послом» модуля. Это файл, который «вводит» модуль Joomla во время установки, определяет файлы, которые будут скопированы установщиком, а также содержит информацию о параметрах модуля, которые используются диспетчером модулей, а также дополнительную информацию о модуле.

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

ответил FFrewin 7 Mayam14 2014, 11:27:43
3

Мы разработали бесплатный модуль с той же целью Пользовательский PHP-модуль для Joomla CMS .

  

Вам нужно создать файл PHP, например. login.php в [site-root] /modules /mod_customphp /files

     
  • Теперь, чтобы использовать этот файл
  •   
  • Перейдите к [backend] -> модуль-менеджер
  •   
  • Создать новый пользовательский php-модуль
  •   
  • В параметре includefile введите логин
  •   
  • Это сделает файл login.php в модуле.
  •   
ответил Shyam 7 Mayam14 2014, 08:22:17
3

Вы можете скопировать существующий модуль в локальную установку. Затем вы переименуете его так, как хотите. Вы также должны переименовать файлы php и xml, а также имена классов php в коде. Затем вы просто создаете zip-файл своего модуля. Этот zip-файл, который вы можете установить в своей установке joomla.

Вам нужна дополнительная информация о переименовании?

ответил seagul 7 Mayam14 2014, 10:48:21

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132