Как сделать новую запись в таблице SQL и вывести её в шаблон на сайт
Оглавление
Как сделать новую динамическую запись на сайте. Инструкция для Prestashop.
Иногда нам нужно добавить для товаров какую либо переменную. Чаще всего текстовую. То есть для определённого товара добавить, определённую запись. К примеру, у меня на сайте нужно было прописать к цене товара предлог «ОТ». На определённые товары, которые выполняются на заказ нет фиксированной цены. А на какие, то есть. Вот и нужно нам создать ещё один столбец данных в карточке товаров и вывести её на страницу.
Я создал ещё один столбец в базе данных своего магазина, в таблице ps_product_lang. Столбец назвал prise_ot.
Подключение к базе данных
Для работы с базой данными я пользуюсь программой HeidiSQL. Скачать её можно здесь.
Сначало на своём хостинге предоставляем удалённое подключение к своё базе данных. Благо, что я использую хостинг beget и у меня это всё занимает считанные секунды. Если хотите, чтоб сайт летал и простую административную панель по управлению сайтом — рекомендую только BEGET.
Можно настроить подключение только с определённого ip адреса, но я просто делаю пароль посложнее и ставлю » подключение со всех IP адресов», так как работаю не только на работе и дома и не только.
Теперь можно подключиться к базе данных через программу HeidiSQL.
Создаём новое подключение HeidiSQL к нашей базе данных
Нажимаем кнопку создать и прописываем путь к нашему хостингу. Пользователь в нашем случае — это название базы данных.
Пароль который мы придумали. Выглядит вот так:
После можно найти свою таблицу, она называется ps_product_lang.Набираем в поиске данную запись. Открываем вкладку «Данные» и видим записи о карточке товара.
Переходим на вкладку «Таблица» и «Добавляем » столбец «price_ot».
Тип данных выбираем » VARCHAR», означает что данные строковые. Длину значения поставили 255 символов, хотя вы можете поставить сколько хотите. Разрешим NULL — нулевое значение. И значение по умолчание тоже NULL.
Отлично столбец готов. Теперь можно добавить значение к карточке товаров.
Значение к данному товару под ID = 2 присвоено. Теперь осталось, чтоб оно отображалось на нашей карточке товаров шаблона Prestashop.
Редактирование шаблона карточки товара, прописание глобальной переменной
Заходим в файловый менеджер хостинга. Благо, опять, я вспоминаю что у меня хостинг BEGET и мне не нужно подключиться к файлам моего сайта через FileZilla или тем более через Total Commander.
Путь моего файла лежит через папки: /мой сайт/public_html/themes/lab_bozon_digital2/prooduct.tp
Warehause — это название Темы (Шаблона) которого я использую для своего сайта.
Здесь нужно прописать сам код, чтоб брал содержимое с таблицы ps_product_lang ячейки price_ot
В папке /мой сайт/public_html/classes/Product.php добавил выборку ячейки price_ot и делаем переменную глобальной
в: class ProductCore extends ObjectModel
{
Вставляем код:
/** @var string price_ot*/
public $price_ot;
в: public static $definition = array(
Вставляем код:
'price_ot' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isGenericName', 'size' => 255),
Всё получилось. Возвращаемся на карточку товара и проверяем. Ctrl + F5, чтоб перезагрузить страницу со стёртым кэш. Смотрим.
Если в данной статье, я что-то упустил или Вам не понятно. Пишите в комментариях, осязательно подскажу. К Критике отношусь с благодарностью.