Opencart 1.5.5.1在主页上分类图像

时间:2017-08-06 20:32:40

标签: image opencart categories

我在主页上添加了模块“类别”,现在我在主页上看到了带有数字产品的类别列表,但是看不到类别大拇指。

在文件中:/public_html/catalog/view/theme/MY-THEME/template/module/category.tpl我发现第10行:

<a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>

我觉得在那里我也应该添加类似:category ['thumb']来显示类别名称之前的图像,但是我必须在控制器文件中添加一些内容,我支持是,但需要帮助。

我应该在控制器中定义$ category ['thumb']但是如何做到这一点?

1 个答案:

答案 0 :(得分:0)

您说您需要编辑此模块的控制器文件是正确的,您需要添加获取该类别图像的模型以及获取任何子类别的图像。因此,您需要进行两次编辑,首先是控制器文件

打开目录/ controller / module / category.php&amp;找到这一行:

$this->load->model('catalog/product');

现在您需要添加模型,以便从数据库中获取图像数据,在下面添加

$this->load->model('tool/image');

现在找到这一行,它将在foreach循环中:

$children = $this->model_catalog_category>getCategories($category['category_id']);

在该行

上添加以下
$category_info = $this->model_catalog_category>getCategory($category['category_id']);       

if ($category_info['image']) {
    $image = $category_info['image'];
} else {
    $image = '';
}

您还需要为子类别执行此操作,在下一个foreach循环中找到此行:

$product_total = $this->model_catalog_product->getTotalProducts($data);

直接添加

$child_info = $this->model_catalog_category>getCategory($child['category_id']);     

if ($child_info['image']) {
    $child_image = $child_info['image'];
} else {
    $child_image = '';
}

目前我们现在有两个包含图像路径的变量:$image$child_image,这些变量需要传递给模板文件,你可以通过编辑两个数组来实现。创建。我们将首先执行子数组,因为它几乎直接位于您上次编辑的下方。在children_data数组中找到此行:

'href'        => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])

在该行的末尾添加一个逗号并将该行直接粘贴到其下方:

'image'       => $child_image

现在我们将图像添加到$category数组,找到这一行并在最后一步添加一个逗号:

'href'        => $this->url->link('product/category', 'path=' . $category['category_id'])

下一步显而易见,在其下方直接添加以下行:

'image'       => $image

现在您应该注意,模板文件可以在foreach循环中访问新变量$ image。我会把剩下的留给你,因为你知道你想要显示图像的方式和位置。如果在“类别:

”的foreach循环中使用,则下面的代码将生成一个图像
<img src="<?php echo $category['image']; ?>

或者这可以用于儿童类别:

<img src="<?php echo $child['image']; ?>