Бортовой журнал Ктулху

Создание простого модуля Prestashop 1.5 с базой данных

Категорически приветствую.

Настало время выложить материалы по созданию модуля Prestashop 1.5 с админкой и БД.

Предыдущий простой модуль ничего полезного делать не мог.

Опускаю основы создания модулей, с ними можно ознакомиться по ссылке выше.

В этом модуле будет несколько дополнительных функций: создание таблиц при установке, удаление таблиц при удалении модуля, добавление новой записи, редактирование существующей.

 

Установка:

public function install()
{
if (!parent::install() OR
!Db::getInstance()->execute('
CREATE TABLE ps_blocktest (
'id' int(2) NOT NULL AUTO_INCREMENT,
'text' varchar(255),
PRIMARY KEY('id'))
ENGINE='._MYSQL_ENGINE_.' default CHARSET=utf8'))
return false;
return true;
}

 

Удаление:

public function uninstall()
 {
 if (!parent::uninstall() ||
 !Db::getInstance()->execute('DROP TABLE ps_blocktest'))
 return false;
 return true;
 }

Для простоты методы работы с БД я поместил в функции вывода содержимого админки - public function getContent()

Получить данные из таблицы:

$query = 'SELECT * FROM ps_blocktest';
 $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query);

Можно получить способом, описанным в документации:

Db::getInstance()->getRow($sql)

Обновление:

Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('UPDATE `ps_blocktest` SET `text` = "'.$_POST["testform"].'" WHERE id = 2');

Можно еще скопипастить много чего из документации, но вот ссылка на нужный раздел, если что.

В конце статьи прикрепляю тестовый модуль. В нем абы как реализована работа с БД, но для учебных целей пойдет.

Модуль не имеет вывода информации в публичную часть, все только в админке.

Ну и кто желает заказать разработку модуля - обращайтесь.

Вложения:
ФайлОписаниеРазмер файла:
Скачать этот файл (blocktest1.zip)blocktest1.zip 2 Кб