我在控制器中的categories.php模块:
$this->data['categories'][] = array(
'category_id' => $category['category_id'],
'name' => $category['name'],
'image' => $category['image'],
'children' => $children_data,
'href' => $this->url->link('product/category', 'path=' . $category['category_id'])
);
我的categories.tpl in / products /(查看)
<?php foreach ($categories as $category) { ?>
<li><a href="<?php echo $category['href']; ?>"><img src="<?php echo $category['image']; ?>" alt="<?php echo $category['name']; ?>"></a></li>
<?php } ?>
然而,它只是给我一个错误,说变量是未知的。
我做错了吗?
答案 0 :(得分:2)
第一个问题是您正在编辑错误的控制器文件,如果您希望更改显示在该特定视图中,则应编辑controller / product / category.php。
图片不会按原样显示,因为它未在数据库中保存为完整网址:
insted of =&gt; $category['image']
它应该是=&gt; DIR_IMAGE.$result['image']
希望这能解决你的问题。
答案 1 :(得分:1)
您的方法很好但缺少一些东西 - 最好在显示之间调整图像大小,以便用户在浏览您的商店时需要下载更少(或更小)的资源。
而不是
'image' => $category['image'],
使用此
'image' => $this->model_tool_image->resize($category['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')),
这将确保将图像调整为管理中定义的尺寸,并将DIR_IMAGE
附加到图像路径前。
如果您的源代码中缺少此行:
$this->load->model('tool/image');
确保在要调整类别图像的大小之前添加它。