Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Передача значения checkbox в базу данных


Recommended Posts

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

Мои действия:

  1. добавила новый столбец в базу данных

Имя: forms; Тип: int(11); По умолчанию: NULL.

  1. в admin/model/design/banner.php

а) в функцию addBanner

if (isset($data['banner_image'])) {
        foreach ($data['banner_image'] as $language_id => $value) {
            foreach ($value as $banner_image) {
                $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']) . "', link = '" .  $this->db->escape($banner_image['link']) . "', forms = '" .  $this->db->escape($banner_image['forms']) . "', image = '" .  $this->db->escape($banner_image['image']) . "', sort_order = '" .  (int)$banner_image['sort_order'] . "'");
            }
        }
    }

б) в функцию editBanner

if (isset($data['banner_image'])) {
        foreach ($data['banner_image'] as $language_id => $value) {
            foreach ($value as $banner_image) {
                if (!array_key_exists('forms', $banner_image)) $banner_image['forms'] = 0;
                $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']) . "', link = '" .  $this->db->escape($banner_image['link']) . "', forms = '" .  $this->db->escape($banner_image['forms']) . "', image = '" .  $this->db->escape($banner_image['image']) . "', sort_order = '" . (int)$banner_image['sort_order'] . "'");
            }
        }
    }

с) в функцию getBannerImages

foreach ($banner_image_query->rows as $banner_image) {
        $banner_image_data[$banner_image['language_id']][] = array(
            'title'      => $banner_image['title'],
            'link'       => $banner_image['link'],
            'forms'       => $banner_image['forms'],
            'image'      => $banner_image['image'],
            'sort_order' => $banner_image['sort_order']
        );
    }
  1. в /admin/controller/design/banner.php

       $data['banner_images'][$key][] = array(
                 'title'      => $banner_image['title'],
                 'link'       => $banner_image['link'],
                 'forms'       => $banner_image['forms'],
                 'image'      => $image,
                 'thumb'      => $this->model_tool_image->resize($thumb, 100, 100),
                 'sort_order' => $banner_image['sort_order']
             );
    
  2. в admin/language/ru-ru/design/banner.php

     $_['entry_forms']       = 'Добавить форму закза';
    
  3. в admin/view/template/design/banner_form.twig

                  <td class="text-left" style="width: 30%;">
                   {% if forms %}
                   <input type="checkbox" name="banner_image[{{ language.language_id }}][{{ image_row }}][forms]" value="1" checked="checked" />
                   {% else %}
                   <input type="checkbox" name="banner_image[{{ language.language_id }}][{{ image_row }}][forms]" value="0" />
                   {% endif %}
                 </td> 
    

При сохранении чекбокс не сохраняется, его значение не передается в базу данных, я новичок, очень нужна помощь.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.