在Opencart的数据选项卡中添加自定义图像字段


Adding custom image field in data tab of Opencart

我想添加一个自定义图像字段以在opencart的数据选项卡中上传图像。显示图像,但单击保存按钮后,图像消失,图像也不会保存在mysql数据库中。所以请帮助我。 我更改了现有代码,如下所示以上传图像:

在控制器/目录/产品中.php

if (isset($this->request->post['backgroundimage'])) {
        $this->data['backgroundimage'] = $this->request->post['backgroundimage'];
    } elseif (!empty($product_info)) {
        $this->data['backgroundimage'] = $product_info['backgroundimage'];
    } else {
        $this->data['backgroundimage'] = '';
    }

    $this->load->model('tool/image');
    if (isset($this->request->post['backgroundimage']) && file_exists(DIR_IMAGE . $this->request->post['backgroundimage'])) {
        $this->data['thumb'] = $this->model_tool_image->resize($this->request->post['backgroundimage'], 100, 100);
    } elseif (!empty($product_info) && $product_info['backgroundimage'] && file_exists(DIR_IMAGE . $product_info['backgroundimage'])) {
        $this->data['thumb'] = $this->model_tool_image->resize($product_info['backgroundimage'], 100, 100);
    } else {
        $this->data['thumb'] = $this->model_tool_image->resize('no_image.jpg', 100, 100);
    }

在视图/模板/目录/product_form.tpl 中

<tr>
              <td><?php echo $entry_backgroundimage; ?></td>
              <td><div class="image"><img src="<?php echo $thumb2; ?>" alt="" id="thumb2" /><br />
                  <input type="hidden" name="image2" value="<?php echo $backgroundimage; ?>" id="image2" />
                  <a onclick="image_upload('image2', 'thumb2');"><?php echo $text_browse; ?></a>&nbsp;&nbsp;|&nbsp;&nbsp;<a onclick="$('#thumb2').attr('src', '<?php echo $no_image; ?>'); $('#image2').attr('value', '');"><?php echo $text_clear; ?></a></div></td>
            </tr>

在型号/目录/产品中.php

$this->db->query("INSERT INTO " . DB_PREFIX . "product SET backgroundimage = '" . $this->db->escape($data['image2']) . "',product_id = '" . (int)$product_id . "'");

而不是 $this->db->escape($data['image2'])使用这个 $this->db->escape(html_entity_decode($data['image2'], ENT_QUOTES, 'UTF-8'))