2014-05-20 68 views
1

我categories.php模塊:如何Opencart的顯示類別圖像控制器

 $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

<?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
  1. 的第一個問題是,你正在編輯的錯誤控制器文件,你應該如果你希望你的變化出現在那個特定視圖編輯器/產品/ category.php。

  2. 的圖像不會出現,因爲它是因爲它不保存在數據庫中的一個完整的URL:

    的=>$category['image']

    應該是=>DIR_IMAGE.$result['image']

insted的

希望這能解決您的問題。

+0

我需要在哪裏定義DIR_IMAGE $ result ['image'];? – Matthew

+0

您不需要定義任何內容,只需替換您在您自己提供的代碼中指定的代碼即可。這是如果你想獲得圖像的原始大小,如果你想調整所有圖像的大小,你應該遵循shadyxx指令。 –

+0

謝謝男人:)它很好,非常感謝。 – Matthew

0

您的方法很好,但遺漏了一些東西 - 在顯示之間調整圖像大小以便用戶在瀏覽商店時需要下載較少(或較小)的資源是很好的選擇。

代替

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

確保您的類別圖像將被調整前加入。