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

时间:2013-09-21 11:39:11

标签: php mysql

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

在controller / catalog / 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);
    }

在视图/ template / catalog / 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>

在model / catalog / product.php

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

1 个答案:

答案 0 :(得分:0)

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