Пишемо свій модуль для joomla 1

У цій статті ми з вами створимо простий модуль для Joomla, який буде показувати корисні поради на сайті. модуль

назвемо mod_faidingtips (від англ. "Fading Tips"). Список корисних порад, а також швидкість їх чергування ми винесемо в налаштування нашого

Поради будуть чергуватися плавними ефектами загасання і появи - цього можна легко досягти за допомогою jQuery.

Оскільки сайт, на якому буде встановлюватися наш модуль, може не підтримувати jQuery, ми повинні передбачити

можливість підключення jQuery всередині модуля. Ця можливість буде також налаштовуватися за допомогою параметрів модуля.

Отже, для нашої задачі ми створимо десь на диску папку mod_faidingtips, а в ній такі файли і каталоги:

У цій статті ми з вами створимо простий модуль для Joomla, який буде показувати корисні поради на сайті. Модуль назвемо mod_fadingtips (від англ. "Fading Tips"). Список корисних порад, а також швидкість їх чергування ми винесемо в налаштування нашого модуля. Поради будуть чергуватися плавними ефектами загасання і появи - цього можна легко досягти за допомогою jQuery. Оскільки сайт, на який буде встановлюватися наш модуль, може не підтримувати jQuery, ми повинні передбачити можливість підключення jQuery всередині модуля. Ця можливість буде також налаштовуватися за допомогою параметрів модуля. Отже, для нашої задачі ми створимо десь на диску папку mod_fadingtips. а в ній такі файли і каталоги:

  • mod_fadingtips.xml
  • mod_fadingtips.php
  • index.html
  • css / mod_fadingtips.css
  • css / index.html
  • tmpl / default.php
  • tmpl / index.html

Розглянемо всі файли по порядку.

Дескриптор модуля mod_fadingtips.xml

Бачимо, що в секції перераховані всі файли і папки, які будуть копіюватися при установці нашого модуля в каталог / modules / mod_fadingtips. У секції вказані такі параметри, які будуть доступні на сторінці налаштувань модуля в панелі адміністрування Joomla:

  • loadJQuery (перемикач) - якщо включений, то будемо довантажувати бібліотеку jQuery до нашого сайту перед отрисовкой модуля.
  • animationSpeed ​​(текстове поле) - буде задавати швидкість зміни наших порад. Це час в мілісекундах. За замовчуванням значення параметра дорівнює 5000, що дорівнює 5 секундам.
  • tipsList (текстова область) - тут ми будемо вказувати список порад. Кожен рада буде відділятися від інших символом нового рядка \ n
  • cssTipClass (текстове поле) - CSS-клас для відтворення ради
  • cssContainerClass (текстове поле) - CSS-клас для контейнера рад. Контейнер - це просто додатковий
    -елемент, який буде містити всі наші поради. Зроблено для можливості додаткової стилізації нашого модуля.

З файлом дескриптора ми завершили. Тепер прийшов час написати точку входу нашого модуля - файл mod_fadingtips.php

Точка входу модуля - mod_fadingtips.php

Точка входу нашого модуля - це нескладний і невеликий за обсягом файл mod_fadingtips.php. Основне його завдання - підключити необхідні ресурси (CSS-таблиці, скрипти) до документа перед отрисовкой модуля, завантажити параметри модуля і в кінці - передати управління файлу default.php. який містить логіку відтворення модуля. Нижче наведено текст для mod_fadingtips.php:

Як бачимо, функція приймає два параметри - $ module і $ layout. Перший - це назва модуля, другий - назва розмітки для модуля, яке за замовчуванням приймає значення 'default'. В останньому рядку нашого файлу mod_fadingtips.php при виконанні функції getLayoutPath ми опускаємо другий параметр, а значить для відтворення модуля буде завантажуватися файл /tmpl/default.php. Також зверніть увагу, що будь-який модуль може мати перевизначення своєї розмітки в поточному шаблоні Joomla. Тобто якщо у нас поточний шаблон називається SomeTemplate. і в каталозі / templates / SomeTemplate / html / mod_fadingtips / tmpl / був би файл default.php. то для відтворення нашого модуля движок Joomla використовував би саме його. Це додаткова можливість, яку дає нам Joomla - завдяки їй можна мати розмітку модуля "за замовчуванням" і перевизначити зовнішній вигляд модуля для різних шаблонів сайту.

Отрісовка модуля - файл розмітки за замовчуванням default.php

Файл розмітки default.php розташовується в папці tmpl нашого модуля. Напишемо туди наступний код:

Файл стилів для модуля - mod_fadingtips.css

Ми майже завершили написання нашого модуля. Залишилося додати файл CSS-стилів mod_fadingtips.css:

файли index.html

Як легко здогадатися, вона просто відображає сторінку з білим фоном.

Упаковка файлів і створення інсталяційного архіву mod_fadingtips.zip

Нам залишилося запакувати наш модуль в інсталяційний архів для Joomla. Для цього виділяємо всі файли і папки всередині каталогу mod_fadingtips і додаємо їх в архів. Особисто я для цієї мети користуюся WinRAR з опцією упаковки в формат ZIP за замовчуванням. Після цього можна спробувати встановити наш модуль через панель адміністрування Joomla.

Установчий файл

Установчий файл нашого модуля можна завантажити тут