Войти Регистрация

Вход на сайт

Логин *
Пароль *
Запомнить меня

Зарегистрироваться

Поля, отмеченные звездочкой (*) обязательны для заполнения.
Ваше имя *
Логин *
Пароль *
Повторите пароль *
E-mail *
Повторите e-mail *
  • English
  • Русский

(050) 492 38 31
(050) 343 90 48

Статьи

Работа с базой данных в Joomla — База знаний Joomla

Опубликовано: 24.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». Теперь можно приступать непосредственно к созданию базы данных.


Новости

Где купить объектив для телефона

Так как я очень люблю фотографировать и работаю фотографом, недавно стала искать объектив для телефона. Хоть и имею телефон с довольно хорошей камерой, телефон не передаёт достаточного качества снимка.

Морские круизы из
Туристическая инфраструктура в современном мире чрезвычайно развита, что позволяет практически всем нашим современникам без проблем и с комфортом путешествовать, наслаждаясь природными и рукотворными

Круизы по средиземному морю
Любой человек, который желает получать удовольствие от жизни и познавать этот мир во всей его красе, сегодня имеет замечательную возможность без проблем и с комфортом путешествовать, наслаждаясь природными

Астаны и Шымкент от всех туроператоров
Столица Казахстана, город Астана, находится не берегу реки Ишим, на севере республики. Решением ЮНЕСКО в 1999 году Астана получила звание «город мира». Так как город является молодым, здесь не найдётся

Тур прага вена будапешт
Длительность тура:   6 дней/5 ночей (1 ночной переезд) Даты тура:     20.05.18 · 03.06.18 · 17.06.18 · 01.07.18 · 08.07.18 · 15.07.18 · 22.07.18 · 29.07.18 · 05.08.18 · 12.08.18 · 19.08.18

Камеры видеонаблюдения одесса онлайн
Сам живу в Москве, но родился и рос вплоть до подросткового времени в Белоруссии, в славном местечке Молодечно. Сам город настолько чистый и ухоженный, что напоминает добропорядочную старушку Европу:

Отдых на валдае недорого базы
Валдай – город с богатой историей и великолепной природой. Здесь берут своё начало такие великие реки, как Днепр, Волга, Западная Двина и Нева. Валдай и его окрестности настолько живописны и красивы,

Базы отдыха на можайском водохранилище
В Москве аномальная жара. Все подмосковные водоёмы переполнены людьми. Как быть в такой ситуации? Куда поехать с палатками на выходные? Выход есть – отправиться на какую-нибудь платную турбазу. Платить

Турбаза дон | Турбаза «ДОН»
Туристическая база «Дон» - уникальное место отдыха в Природном парке «Усть-Медведицкий» на соединении пойм двух рек - Левобережья Дона и Медведицы.   База отдыха «Дон» расположена в лесном массиве

Онлайн видеокамеры одесса
Не так давно я нашел очень интересный сайт, ссылку на который я оставлю здесь видеонаблюдение через интернет Через него можно напрямую наблюдать всё то. что происходит в конкретной точке мира, а именно

67570, Украина,
пгт Черноморское,
Коминтерновский район,
Одесская обл.
+38 050 343 90 48, +38 050 492 38 31


Как к нам проехать...