如何在OpenCart中显示类别图像

时间:2014-05-20 21:49:53

标签: php opencart

我在控制器中的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 } ?>

然而,它只是给我一个错误,说变量是未知的。

我做错了吗?

2 个答案:

答案 0 :(得分:2)

  1. 第一个问题是您正在编辑错误的控制器文件,如果您希望更改显示在该特定视图中,则应编辑controller / product / category.php。

  2. 图片不会按原样显示,因为它未在数据库中保存为完整网址:

    insted of =&gt; $category['image']

    它应该是=&gt; DIR_IMAGE.$result['image']

  3. 希望这能解决你的问题。

答案 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');

确保在要调整类别图像的大小之前添加它。