我想添加一个自定义图像字段以在 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> | <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 . "'");