0

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

在控制器/目录/product.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>

在模型/目录/product.php

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

1 回答 1

0

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

于 2013-10-17T11:33:30.360 回答