Запит до бази даних в joomla 3

Запит до бази даних в joomla 3
Вітаю всіх як початківців розробників, так і розробників зі стажем в розділі "Блог" нашої веб студії.

У цій статті приведу приклад роботи з базою даних в CMS Joomla 3 з вибіркою даних з таблиці і виведенням їх на екран у вигляді рядка.

Виявляється, в дивовижному світі ми живемо. І часто доводиться дивуватися тим речам, яким навіть і не думав дивуватися.

В даному випадку моє здивування викликало те, що для такої популярної CMS як Joomla, за добу пошуку в Інтернеті, мною не було знайдено жодної повної і тямущою статті про те як же правильно зробити запит до бази даних в joomla і при цьому вивести результат з потрібної осередку на сторінці у вигляді рядка. Згідно знайденої мною статистикою, кількість сайтів в інтернеті створених на движку Joomla становить понад 30 млн. Умовно припустимо, що для їх створення потрібно близько 0,5 млн. Розробників. Якщо допустити, що з цього півмільйона всього лише одному відсотку розробників довелося писати запити до бази даних - то ми отримаємо 5000 розробників. І ось що дивно: чому досі, ніхто з цих 5000 фахівців, не написав жодної доступною до розуміння статті про те як же правильно здійснити вибірку з бази даних Joomla.

Однак давайте перейдемо безпосередньо до технічної реалізації процесу обробки даних бази даних Joomla.

По-перше, хотілося б сказати, для чого це може знадобитися?

Уявіть, що на Вашому сайті необхідно вивести дані з деяких полів адміністративної частини, а стандартний набір компонентів і модулів не дозволяє цього зробити. Ось тоді ми і вдаємося до написання власних запитів. У моєму випадку мені було потрібно відобразити дані з поля "Примітка" стандартного модуля виводу останніх новин, на сторінці фронтенда сайту.

Запит до бази даних в joomla 3

Нижче представлений код з'єднання з базою даних Joomla. вибірки даних з комірки таблиці і виведення цих даних у вигляді строкової змінної. Даний код може бути застосований для будь-якого поля будь-яких таблиць БД Joomla. Його можна прописати в основному файлі шаблону - index.php. можна в файлі шаблону модуля або компонента default.php. або ж в інших файлах відповідають за виведення вмісту на фронтенді сайту.

Ще раз хочу звернути увагу читача, що представлений код в першу чергу, характеризує принцип роботи з базою даних Joomla і є повністю працездатним в третій версії joomla. Цілком ймовірно, що він буде працювати і на joomla 2.5.

Запит до бази даних в joomla 3

Для реалізації ж виведення вмісту з додаткових полів, в тому числі з поля "Примітка" модуля, є й інші способи.

А тепер давайте через підрядник розберемо наш код.

відповідає за безпечну для Joomla установку з'єднання з базою даних сайту.

йде вибірка даних з таблиці баз даних. У нашому випадку, ми з таблиці #__modules вибираємо значення полів id і note. де id дорівнює значенню змінної $ module-> id (змінна $ module-> id - номер модуля). Так само тут варто звернути увагу на те, яким чином ми вказуємо назву таблиці. Спочатку назви йде знак # і два нижніх підкреслення. Знак # і перше нижнє підкреслювання замінює нам префікс таблиць БД, тобто нам немає необхідності прописувати тут реальний префікс таблиць.

Кожен розробник в даному випадку складе свій запит із зазначенням потрібної йому таблиці і умов.

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

заносить в змінну $ result нашу вибірку у вигляді асоціативного масиву. Якщо кому-небудь цікаво, то команда print_r ($ result) допоможе побачити цей масив на екрані.

Метод loadObjectList () - як раз і відповідає за те, що наші дані будуть отримані у вигляді асоціативного масиву. Існують і інші методи.

У рядках 5-7 ми через цикл foreach виводимо наші дані на екран таким чином:

Запит до бази даних в joomla 3

Дякую всім за увагу.

Схожі статті