Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Дополнительные поля для баннеров


 Поделиться

Рекомендованные сообщения

Все доброго времени суток. Решил добавить поле описание в баннеры. Нашел вроде, для OpenCart 2. 
Все делаю в следующем порядке:

  1. Создаю колонку desc (varchar 255 not null ) в таблице oc_banner_image
  2. В файле /admin/model/design/banner.php в функцию addBanner добавляю desc = '" .  $this->db->escape($banner_image['desc']) . "'
  3. В этом же файле в функцию editBanner добавляю этот же код
  4. В этом же файле в функцию getBannerImages добавил 'desc' => $banner_image['desc']
  5. Далее в файле /admin/controller/design/banner.php в массив $data['banner_images'] добавил 'desc' => $banner_image['desc']
  6. Потом на фронте создал нужное поле в файле /admin/view/template/design/banner_form.twig

В результате, при сохранении баннера выводится текст ошибки:

Notice: Undefined index: title in /Users/denis/Hosts/cosmotorg-opencart/admin/controller/design/banner.php on line 384

Notice: Undefined index: desc in /Users/denis/Hosts/cosmotorg-opencart/admin/controller/design/banner.php on line 353

и т.д. 

Кто сталкивался с таким? Буду очень благодарен за подсказку

ocStore 3.0.2.0

 

Ссылка на комментарий
Поделиться на других сайтах


Опытным путем выявил, что при сохранении баннера данные из из него отправляются на сервер, но происходит ошибка при записи этих данных в бд (в файле /admin/model/design/banner.php в функциях editBanner и addBanner). В этих функциях есть строки которые пушат данные в бд. Когда я добавляю в desc = '" .  $this->db->escape($banner_image['desc']) . "', появляются ошибки.

Вот полный код запроса.

$this->db->query("INSERT INTO " . DB_PREFIX . "banner_image SET banner_id = '" . (int)$banner_id . "', language_id = '" . (int)$language_id . "', title = '" . $this->db->escape($banner_image['title']) . "', desc = '" . $this->db->escape($banner_image['desc']) . "', link = '" . $this->db->escape($banner_image['link']) . "', image = '" . $this->db->escape($banner_image['image']) . "', sort_order = '" . (int)$banner_image['sort_order'] . "'");

Подскажите, пожалуйста, где я накосячил

Изменено пользователем DenisMinimal
Ссылка на комментарий
Поделиться на других сайтах


Ошибка была в названии колонки бд desc. Это зарезервированное имя. Я изменил его на description и все заработало. Всем спасибо за помощь ^_^

Тему можно закрывать.

Ссылка на комментарий
Поделиться на других сайтах


12 минут назад, DenisMinimal сказал:

Ошибка была в названии колонки бд desc. Это зарезервированное имя. Я изменил его на description и все заработало. Всем спасибо за помощь ^_^

Тему можно закрывать.

 

можно было написать `desc`

Ссылка на комментарий
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.