Php 如何在OpenCart中显示类别图像

Php 如何在OpenCart中显示类别图像,php,opencart,Php,Opencart,控制器中的My categories.php模块: $this->data['categories'][] = array( 'category_id' => $category['category_id'], 'name' => $category['name'], 'image' => $category['image'

控制器中的My 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'])
        );  
My categories.tpl in/products/(视图)


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

    我做错什么了吗

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

  • 图像将不会按原样显示,因为它未保存为数据库中的完整url:

    代替=>
    $category['image']

    它应该是=>
    DIR\u IMAGE.$category['IMAGE']


  • 希望这能解决您的问题。

    您的方法很好,但缺少一些东西-最好在显示之间调整图像大小,以便用户在浏览您的商店时需要下载更少(或更小)的资源

    而不是

                '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\u IMAGE
    附加到图像路径前面

    如果源代码中缺少此行:

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

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

    我需要在哪里定义DIR_图像。$result['image'];?您不需要定义任何东西,只需在您自己提供的代码中替换我指定的代码。如果要获得图像的原始大小,如果要将所有图像调整为标准大小,则应遵循shadyxx说明。没问题,很高兴我能提供帮助:)
    $this->load->model('tool/image');