我想添加一个自定义图片字段,以便在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> | <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 . "'");
答案 0 :(得分:0)
$this->db->escape($data['image2'])
用这个
$this->db->escape(html_entity_decode($data['image2'], ENT_QUOTES, 'UTF-8'))