我在主页上添加了模块“类别”,现在我在主页上看到了带有数字产品的类别列表,但是看不到类别大拇指。
在文件中:/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']但是如何做到这一点?
答案 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']; ?>