Работа с базой данных в Joomla — База знаний Joomla
Опубликовано: 23.10.2017Это статья из раздела Программирование для Joomla . Вернитесь в него для более полной информации.
Общая информация
При старте Joomla в числе прочих, создается объект класса database (исходники класса лежат в /includes/database.php), позволяющий Joomla работать с базой данных – выбирать данные и изменять их. Исторически сложилось, что данный класс лишь обертка над myslq_* функциями, пусть и очень удобная.
Префикс таблиц в Joomla
Так как Joomla изначально создавалась для учета реальных требований хостинга, то в ней заложен функционал доступа к таблицам, согласно их префиксу. Т.е. если ваш тарифный план на хостинге дает вам возможность использовать одну лишь базу данных MySQL, а вы хотите поставить, например две Joomla или какой-либо дополнительный скрипт, названия таблиц которого совпадают с некоторыми таблицами в Joomla, то это можно реализовать при помощи префикса таблиц.
Сам префикс задается еще при установке и чаще всего представляет собой нечто вроде “jos_” (JOS расшифровывается как Joomla Open Source) и записывается в файл конфигурации configuration.php.
Конечно, при работе с базой данных можно считывать эту переменную и каждый раз приписывать ее к именам таблиц в SQL-запросах, но намного удобнее использовать механизм, встроенный в Joomla, а именно макроподстановку #__ (знак решетки и два подчеркивания). В классе database данный символ будет заменен на текущий префикс таблиц, с которым работает Joomla. Например, если при установке вы оставили префикс пустым, то он и будет заменен на пустую строку, и названия таблиц будут самыми читабельными: users, session.
Установка Joomla на Денвер — База знаний Joomla
Скачивание необходимых файлов
Во-первых надо скачать Joomla из нашего файлового архива. Достаточно зайти на главную страницуи просмотреть ее глазами на предмет ссылки на скачивание. Итак у вас есть архив. Распаковываем его.
Во-вторых необходимо установить локальный веб-сервер. Наилучший вариант по-моему мнению сборки "все в одном" это Денвер . Самая последняя версия качается отсюда . После скачивания устанавливаем его. Программа установки и ее подсказки довольно понятны. Инструкцию по установке денвера можно прочитать перейдя по этой ссылке .
Настройка денвера
После установки создаём внутри папки, куда установлен сервер папку для тестового сайта Joomla. Можно так его и назвать, без всяких зон, просто "joomla". Например:
D:\www\home\joomla\www\
Если сервер установлен на диск D:\ в папку с именем www. Внутри этой папки, есть папочка home - внутри неё нужно создавать домены. В данном примере создан домен для тестирования - директория joomla, внутри директории home, а уже внутри директории joomla создана директория www, чтобы при запуске сервер распознал новый домен. Если директорию www не создать - то сервер домен не распознает.
Запуск денвера
Для его запуска были созданы ярлыки, либо он должен стартовать автоматически при начале работы Windows(tm)(r) .Набираем в строке браузера localhost - должна открыться страница, где будет отображена страница приветствия на русском. В середине этой страницы есть ссылка - Заведение новых БД и пользователей MySQL . Нажимаем, открывается страница с формой создания новой базы данных (в базе хранятся все текстовые данные сайта и настройки). Не зполняем пароль администратора, во все остальные поля вводим одно слово joomla - это чтобы не путаться в последствие. Логика такая - тестируем скрипт Joomla!, значит домен называем joomla, а базу для него тоже называем joomla и с паролем на неё тоже joomla. Нажав на кнопочку отправки формы видим сообщение об успешном заведение новой базы данных. Двигаемся дальше.
Далее распаковываем все файлы из архива установки Joomla! внутрь директории home/joomla/www/ - сервер всё ещё запущен. Обратите внимание, чобы программа архиватор случайно не привела названия файлов к нижему регистру - есть несколько файлов с ИмяФайла.php где важны заглавные буквы! Обычно этого не происходит, но на всякий случай будьте бдительны. Теперь у нас всё готово к установки системы - сервер есть, на сервере создан домен, для хранения данных создана база, файлы скрипта положены куда надо. Приступаем к установке.
JDatabase – прямые запросы в базу данных Joomla / Классы Joomla .:. Документация Joomla! CMS
Безопасная вставка данных
Главное при работе с базой данных — это безопасность, поэтому предохраняйтесь от случайных данных. Таким средством является метод getEscaped();
$_REQUEST["sometext"] = "Безопасность превыше всего, всевозоможные апострофы - (') нужно экранировать "; $mytext = JRequest::getVar('sometext',''); $db =& JFactory::getDBO(); $mytext = $db->getEscaped($mytext); echo $mytext;Установка используемой базы данных
Эта возможность полезна, когда нужно получить данные из базы данных, отличной от текущей. Однако нужно заметить, чтобы этот метод был выполнен успешно, нужно, чтобы пользователь mysql установленный в настройках Джумла имел право работать с обеими базами данных.
$db =& JFactory::getDBO(); $database_name = "db2"; if ($db->select($database_name)) { //запросы к другой базе данных }Отладка текущего запроса
От ошибок не застрахован никто, поэтому полезно иногда посмотреть что возвращает ваш запрос. И для этого не обязательно копировать его и вставлять в phpmyadmin.
$db = JFactory::getDBO(); $q = "SELECT * FROM #__content LIMIT 5"; $db->setQuery($q); $db->explain();Проверка соединения с базой данных
Иногда полезно знать, что сервер mysql не «упал» и соединение с ним работает. Например перед тем как обновить данные в базе об оплате счета и т. п.
$db =& JFactory::getDBO(); if (!$db->connected()) { echo "Нет соединения с сервером баз данных"; jexit(); } else { echo "Все отлично, мы можем выполнять важные действия с базой данных"; }Получение данных о пользователе
Работа с записью пользователя Joomla 1.5.x получение данных о пользователе
Частенько приходится отделять зерна от плевел. Как это сделать в Джумла? — Очень просто — назначить группы. А как же узнать к какой группе принадлежит пользователь, конечно же по идентификатору группы.
Вот табличка соответствия стандартных групп Джумла.
Идентификатор Название Группы 18 Зарегистрированные пользователи 19 Автор 20 Редактор 21 Публикатор 23 Менеджер 24 Администратор 25 Супер администратор //для текущего пользвоателя $user =& JFactory::getUser(); $user62 =& JFactory::getUser(62); echo "ИД группы текущего пользователя:".$user->get( 'gid' ); echo "ИД группы пользователя с ИД=62:".$user62->get('gid' ); if ($user->get( 'guest' )) { echo "Пользователь проходимец или просто гость"; } else { echo "Пользователь зарегистрирован"; echo "Дата последнего визита:".$user->get('lastvisitDate'); echo "Дата регистрации:".$user->get('registerDate'); echo "Имя пользователя/никнейм:".$user->get('name'). "/".$user->get('username'); echo "ID пользователя:".$user->get('id'); echo "Тип пользователя:".$user->get('usertype'); echo "email пользователя:".$user->get('email'); echo "MD5 хеш от пароля:".$user->get('password'); }Установка Joomla! на Денвер
Скачивание необходимых файлов
Первым делом скачиваем архив с доступной нам версией Joomla. После распаковываем его.
Далее следует установить локальный сервер. Одной из лучших сборок является Денвер. Далее скачиваем и устанавливаем его . Мануал по установке.
Настройка денвера
Внутри папки, куда установили сервер создадим папку для тестовой версии сайта Joomla. Допустим назовём её "joomla". К примеру:
D:\www\home\joomla\www\
Если сервер расположен на диске D:\ в папку с именем www. Внутри неё есть каталог home – в нём необходимо создавать домены. Здесь мы рассматриваем домен для тестирования - папка joomla, в папке home, а внутри joomla созданая папка www, с целью распознавания сервером нового домена. Сервре на станет распознавать домен, если не создать директорию www.
Запуск денвера
Денвер стартует автоматически при запуске системы, либо для запуска создаются иконки. В строке браузера прописываем localhost – откроется страница приветствия, в середине которой ссылка - Заведение новых БД и пользователей MySQL. По этой ссылке мы увидим форму для новой базы данных, в которой будут позднее храниться все настройки и данные сайта. Чтобы не путаться в последствии, оставим поле пароля администратора пустым, а во всех остальных полях напишем joomla. Отправляем форму и получаем сообщение о том, что новая база данных успешно создана.
Затем следует распаковать файлы из архива Joomla! В папку home/joomla/www/ - сервер до сих пор активен. Следите за тем, чтобы программа архиватор случайно не привела названия файлов к нижнему регистру - есть некоторые файлы с ИмяФайла.php где важны заглавные буквы. Происходит это довольно редко, но лучше перестрахуйтесь. На данный момент всё подготовлено к установке - сервер, установленный на нём домен, база, необходимая для хранения данных, файлы скрипта находятся в нужных директориях.
Установка
В браузере вводим слово joomla (просто слово joomla).
Откроется первое окно с функцией проверки наличия всех директорий и файлов, необходимых для установки. Далее нам предлагают ввести данные учётной записи подключения к базе данных. Сервер находится на локальном компьютере, соответственно пишем localhost, логин и пароль, имя базы данных - joomla. По завершению будет предложено удалить папку установки из соображений безопасности – сделайте это. Установка завершена, вы можете опробовать систему.Как попасть на сайт
http://joomla, а панель администрирования вы найдёте здесь - http://joomla/administrator.
Использование Базы Данных
Создание простого модуля
Материалы в этой серии
Данная серия материалов написана о том, как разработать какой-либо модуль для Joomla! в версии
Начните со вступленияи пройдитесь по материалам этой серии с помощью либо расположенной внизу навигационной кнопки, либо расположенного справа навигационного текстового блока ( Материалы в этой серии ).
Многие модули в Joomla требуют использования базы данных. В этом учебнике предполагается, что вы уже понимаете основы использования класса JDatabase. В противном случае, обратитесь к документации на доступ к базе данных, с использованием JDatabase , прежде чем продолжить этот урок.
Создание таблицы при установке
Чтобы создать XML-таблицу при установке мы собираемся добавить следующие строки в mod_helloworld.xml :
<install> <sql> <file driver= "mysql" charset= "utf8" > sql/mysql/install.mysql.utf8.sql </file> <file driver= "sqlazure" charset= "utf8" > sql/sqlazure/install.sqlazure.utf8.sql </file> </sql> </install> <uninstall> <sql> <file driver= "mysql" charset= "utf8" > sql/mysql/uninstall.mysql.utf8.sql </file> <file driver= "sqlazure" charset= "utf8" > sql/sqlazure/uninstall.sqlazure.utf8.sql </file> </sql> </uninstall> <update> <schemas> <schemapath type= "mysql" > sql/mysql/updates </schemapath> <schemapath type= "sqlazure" > sql/sqlazure/updates </schemapath> </schemas> </update>В этом коде есть 3 секции:
PhpMyAdmin - создание базы данных
Каждая новая установка CMS Joomla требует создание новой базы данных. Данная база данных будет хранить данные, такие как статьи/материалы, меню, категории и пользователи. Эти данные необходимы для управления сайтом на Joomla!
Для установки Joomla вы должны иметь рабочую базу данных, пользователя базы данных, пароль пользователя базы данных и соответствующие привилегии для пользователя базы данных.
В этом материале будет рассмотрен наиболее распространенный тип базы данных, используемых при установке Joomla, а именно база данных MySQL. Мы рассмотрим два варианта создания базы данных для Joomla. Первый способ будет заключатся в создании базы данных на локальном сервере, а второй – в создании БД на хостинге, при этом акцент будет делаться на использование DirectAdmin – панель управления хостингом. Но другие панели управления хостингом должны иметь аналогичные шаги создания базы данных.
Создание базы данных MySQL на локальном сервере
Для того чтобы создать базу данных на локально сервере, его нужно сначала установить. Поэтому скачиваем локальный сервер – Denwer [ Скачать ] и устанавливаем его. Инструкция по установке Denwer .
После успешной установки локального сервера можно приступать к созданию базы данных для установки Joomla! Для того чтобы попасть в интерфейс управления базами данных, необходимо запустить локальный сервер Denwer (если не запущен) и в адресной строке браузера ввести: http://localhost/tools/phpmyadmin . В открывшимся окне вы увидите веб-интерфейс «phpMyAdmin». Теперь можно приступать непосредственно к созданию базы данных.
Разделы
Новости
|
Смс-сервис
Форум
Вход на сайт
Фото Дня
Календарь
Публикации
- 04.05.2013 Пасхальное послание митрополита Ионы священнослужителям, боголюбивым инокам и благочестивым мирянам
- 19.02.2013 Интервью с насельником Иоанно-Предтеченского монастыря, директором Центра культуры и просвещения «Боголепъ» иеромонахом Антонием (Азизовым)
- 18.02.2013 Послание Освященного Архиерейского Собора клиру, монашествующим и мирянам Русской Православной Церкви
- 15.02.2013 Постановления Освященного Архиерейского Собора Русской Православной Церкви
- 24.01.2013 Пожертвования на восстановление храма Казанской иконы Божией Матери
- 06.01.2013 РОЖДЕСТВЕНСКОЕ ПОСЛАНИЕ Святейшего Патриарха Московского и всея Руси Кирилла
- Рождественское послание Архиепископа Астраханского и Енотаевского Ионы
Астраханская и Енотаевская епархия Русской православной церкви
Россия, Астрахань, Покровская площадь,6
+7 (8512) 25-09-80