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

хочу реализовать слайдер в шаблоне 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 шт):