跨境电商 · 2022年02月25号 0

如果产品在 OpenCart 中没有图像,如何显示预定义的图像

如果产品没有默认图像,OpenCart 2.0 可以显示该产品的默认图像。但是,在 OpenCart 1.5.6.4 及更低版本等旧版本中,缺少此类功能。我们创建了一个简单的 vQmod 修改,它将允许您显示预定义的占位符图像。

为了修改必要的文件,我们将使用 vQmod,它只会覆盖它们,而不是直接修改它们。您需要在 OpenCart 中安装 vQmod 才能正常工作,请按照此处的快速指南进行操作 –  https://github.com/vqmod/vqmod/wiki/Installing-vQmod-on-OpenCart

打开您喜欢的文本编辑器或任何代码编辑程序并创建一个名为 default_product_image.xml 的新文件将以下代码粘贴到文件中,保存并将其上传到您的 /vqmod/xml目录。  

<修改>
    <id>显示产品的默认图片</id>
	<version>1.4.x 及以上</version>
	<vqmver>2.5.0</vqmver>
	<author>isenselabs.com</author>
	<file name="catalog/model/catalog/product.php">
		<操作错误=“跳过”信息=“默认图像”>
			<search position="after"><![CDATA[class ModelCatalogProduct extends Model {]]></search>
			<添加><![CDATA[
				// 默认产品图片的路径。
				私人 $default_image = 'no_image.jpg';
			]]></添加>
		</操作>
		<操作错误="skip" info="修改主图查询">
			<search position="replace"><![CDATA[$query->row['image']]]></search>
			<add><![CDATA[((empty($query->row['image']) && file_exists(DIR_IMAGE . $query->row['image']) && !empty($this->default_image) && file_exists(DIR_IMAGE . $this->default_image)) ? $this->default_image : $query->row['image'])]]></add>
		</操作>
		<操作错误="skip" info="修改附加图像查询">
			<search position="after"><![CDATA[$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_image WHERE product_id = '" . (int)$product_id . "' ORDER BY sort_order ASC");]]></search>
			<添加><![CDATA[
				if (!empty($query->rows)) { foreach ($query->rows as $k => $query_row) {
					$query->rows[$k]['image'] = ((empty($query_row['image']) && file_exists(DIR_IMAGE . $query_row['image']) && !empty($this->default_image) && file_exists(DIR_IMAGE . $this->default_image)) ? $this->default_image : $query_row['image']);
				} }
			]]></添加>
		</操作>
	</文件>
</修改>

OpenCart 1.5.6.4 默认带有一个占位符图像 –  /image/no_image.jpg。这是我们在 vQmod 文件中使用的图像,但是,您可以轻松更改它。浏览网页或创建自己的空图像占位符并将其上传到 位于 OpenCart 根目录的image /文件夹。之后,您只需修改 vQmod 修改文件中的一行即可更改映像。找到此行并将no_image.jpg 替换为您的自定义图像的名称:

私人 $default_image = 'no_image.jpg';

上面的修改是如何工作的。

如果产品在 OpenCart 中没有图像,如何显示预定义的图像

我们希望您会发现本教程对您有所帮助。