Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом финальный.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.31 Mб
Скачать

3.2. Описание стандартных функций компонентов

3.2.1. Класс db

В CMS DataLife Engine существует стандартный класс DB для работы с базами данных. Данный класс упрощает работу с базами данных, а также он упрощает программный код для более простого зрительного восприятия работы модулей. В DLE в папке engine/data находится специальный файл dbconfig.php, в котором указаны настройки подключения к базам. В этом файле находятся такие строки - define ("DBHOST", "сервер"); define ("DBNAME", "имя_базы_данных"); define ("DBUSER", "имя_пользователя"); define ("DBPASS", "пароль"). Используется с функцией safesql, которая сохраняет результаты SQL-запросов к базам данных. Метод класса query создаёт запросы. Все запросы в PHP в основном выполняются с помощью функции query(). C помощью mysql_query(), непосредственно происходит передача, уже составленного SQL – запроса, к базе данных. Функция принимает два аргумента. Первый аргумент - это строка со SQL-запросом, второй аргумент содержит дескриптор соединения, возвращаемый функцией mysql_connect(). Так как мы работаем с одной базой данных, то не следует указывать второй аргумент. Если дескриптор соединения отсутствует, mysql_query() пытается соединиться с БД используя параметры по умолчанию. Эти же параметры использует функция mysql_connect() при отсутствии данных для соединения.[36]

В принципе, идентификатор подключения можно не указывать, тогда будет использоваться последнее сделанное подключение. Но такой подход чреват ошибками в сложных скриптах с несколькими одновременными подключениями к различным базам. Переменной $query присваевается ответ от бызы данных. $result - это переменная, полученная после вызова query(). С помощью этой функции можно получить доступ к отдельно взятому полю таблицы. Функция query() позвращает ссылку на результаты выполнения запроса. Если запрос завершился с ошибкой - функция вернёт false, после чего текст ошибки можно будет получить вызовом функции mysql_error(), а номер ошибки - функцией mysql_errno().

Функция get_row выполняет SQL-запрос и возвращает первую строку результата. Функция используется только для запросов чтения (SELECT, SHOW и т.д.). Результаты запроса будут кэшироваться, если не установить аргумент $use_cache в false. При разработке модуля кталога товаров использовалась данная функция.

3.2.2. Класс template

Данный класс используется в DataLife Engine для работы с файлами шаблонов. Используется даннй класс с методом класса – load_template, который осуществляет подключение файла witrina.tpl, имя которго прописывается после указания самого метода класса.

3.3. Алгоритм работы модуля

Принцип работы модуля можно описать как последовательность выполняемых системой действий. Сначала необходимо запустить сайт, на котором установлен данный проект. Для этого в адресной строке браузера введём www.vh44753.eurodir.ru, либо www.witrina.eurodir.ru. При этом запустится CMS DLE. Запустятся все файлы движка, находящиеся в папке engine. DataLife Engine сделает вход в папку templates, подключит шаблон, который выбран администратором, в данном случае он носит название Default. В папке шаблона находятся все необходимые файлы для отображения иконок, шрифтов, ссылок, фонов, скриптов и фотографий техники. Файлы, находящиеся в папке language определят, на каком языке будет отображаться сайт, админпанель, справочная информация и подсказки, системные сообщения администратору, а также тексты подсказок администратору. При подключении папки posts на страницах сайта отобразится информация из неё, она будет представлена в виде новостей и публикаций.[37]

Подключится файл main.tpl, который определит расположение и наличие всех элементов страницы. Отобразится главная страница сайта с информацией о проекте.

После нажатия на ссылку “Каталог электроники” произойдёт включение файла witrina.tpl. Вместо новостей появится модуль каталога электроники. В верхней части модуля появятся надписи – “Алфавитный каталог электроники” и “Информация о товарах”. Ниже включатся ссылки на товары в виде алфавита, форма поиска товара по названию и ссылки в виде названий категорий товаров.

Одновременно с файлом witrina.tpl произойдёт подключение файла witrina.php из папки modules движка DLE. Папка modules содержит в себе php-файлы всех модулей сайта, включая дополнительные. Дополнительные модули для удобства помещаются в отдельные подпапки. Подпапка модуля каталога товаров имеет название witrina. Настройки запуска всех файлов движка содержатся в файле engine.php. Произойдёт подключение к таблице dle_witrina_tbl. Для этого произойдёт подключение папки tools и подпапки в ней phpMyAdmin. В этой папке содержится все данные таблиц и баз данных, в том числе и таблица dle_witrina_tbl. Ссылка “Каталог электроники” содержит в себе адрес, который ведёт к категории “Телевизоры”, поэтому при нажатии на неё отобразится список всех товаров в этой категории. С помощью функции $sql = "SELECT * FROM " . PREFIX произойдёт подключение к таблице dle_witrina_tbl, будет выбран и отображён столбец cat_vid. При выборе любого товара из этой категории произойдёт перемещение на страницу с полным описанием этого товара. Для этого используется файл read_witrina.php. Произойдёт подключение к таблице dle_witrina_tbl, а в частности к её столбцам sat_id, cat_id, cat_name, cat_witrina с помощью функции $sql_result_cat. Внизу модуля будут отображаться ссылки навигации по страницам модуля – “Назад”, “Следующая”, “Начало”, “Последняя”, а также цифровые указатели на страницы. В самой нижней части модуля отобразится блок “Посмотрите также”, в котором будут содержаться ссылки на другие товары в произвольном порядке.[38]

При использовании функции поиска товара произойдёт подключение файла find_witrina.php. После ввода искомой комбинации символов происходит их сравнение с символами в столбце cat_name. Найденный товар отобразится на открывшейся странице, при этом будет отображено количество найденных слов. В случае ввода комбинации символов, которые отсутствую в столбце cat_name таблицы dle_witrina_tbl файл find_witrina.php выдаст пустой результат, а также такую надпись: “Количество найденных слов – 0”.

С помощью файла style.css, находящегося в папке style шаблона Default, будет определён внешний вид модуля, его шрифт и отступы.