2014-02-07 56 views
0

嘗試在其他網頁上顯示其他網頁上可見的其他產品圖片,例如Wishlist(但我實際上在類似的批發mod上使用它)。我真的很想了解OpenCart的這部分是如何工作的,但我似乎無法理解它。Opencart - 願望清單上的更多圖片

我已將此添加到「Wholesale.php」控制器(從「Product.php」控制器):

$results = $this->model_catalog_product->getProductImages($this->request->get['product_id']); 

foreach ($results as $product_info) { 
$this->data['image'][] = array(
    'popup' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), 
    'image' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height')) 
); 
} 

然後我這個(「圖像2」)添加到陣列右下方:

$this->data['products'][$product_info['product_id']] = array(
     'num' => $start + $count, 
     'image' => $product_info['image'] ? $this->model_tool_image->resize($product_info['image'], $pricelist['image_width'], $pricelist['image_height']) : $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')),       
THIS ONE >>> 'image2' => $product_info['image'] ? $this->model_tool_image->resize($product_info['image'], $pricelist['image_width'], $pricelist['image_height']) : $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height')), 
     'popup' => $product_info['image'] ? $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')) : false, 
     'href' => $this->url->link('product/product', 'product_id=' . $product_info['product_id']), 
    ); 

最後,(爲簡單起見)模板上的IMG標籤:

<img src="<?php echo $product['image2']; ?>" /> 

我已經成功地Wh是ittle down錯誤,直到我剩下一個UndefinedIndex:product_id(並且主要產品圖片只是在頁面上重複)...但現在我完全卡住了。

我很想學習這個......但我甚至不確定問題是什麼......「product_id」已經在這個控制器中多次使用過,我不知道爲什麼我需要再次註冊...所以我不明白爲什麼它是未定義的。

對不起,長的帖子,任何有識之士將不勝感激...只是想獲得額外的產品圖片顯示比「Product.tpl」以外的頁面


編輯上:添加整個頁面的代碼參考... 太長棧中,用於引擎收錄:

Wholesale.php(相關的代碼很容易被發現,廣泛分佈/註釋): http://pastebin.com/7HRdw3Sp

TemplateFile.tpl(修剪爲便於/冗餘): http://pastebin.com/tdMB0kpe

不管怎麼說,我很欣賞任何見解...... 我一直在試用這個一百萬個不同的方式在過去的3天,我甚至不能親近。 :/

回答

0

你應該嘗試以這種方式 「Wholesale.php」 控制器(從 「Product.php」 控制器):

$這個 - >負載>模型( '工具/圖像');

 if ($product_info['image']) { 
      $this->data['popup'] = $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')); 
     } else { 
      $this->data['popup'] = ''; 
     } 

     if ($product_info['image']) { 
      $this->data['thumb'] = $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height')); 
     } else { 
      $this->data['thumb'] = ''; 
     } 

     $this->data['images'] = array(); 

     $results = $this->model_catalog_product->getProductImages($this->request->get['product_id']); 

     foreach ($results as $result) { 
      $this->data['images'][] = array(
       'popup' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')), 
       'thumb' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height')) 
      ); 
     } 

向前來查看

  $this->data['products'][] = array(
        'product_id' => $result['product_id'], 
        'thumb'  => $image, 

img標籤。

<?php if ($thumb || $images) { ?> 
    <div class="left"> 
     <?php if ($thumb) { ?> 
     <div class="image"><a href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>" class="colorbox" rel="colorbox"><img src="<?php echo $thumb; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" id="image" /></a></div> 
     <?php } ?> 
     <?php if ($images) { ?> 
     <div class="image-additional"> 
     <?php foreach ($images as $image) { ?> 
     <a href="<?php echo $image['popup']; ?>" title="<?php echo $heading_title; ?>" class="colorbox" rel="colorbox"><img src="<?php echo $image['thumb']; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a> 
     <?php } ?> 
     </div> 
     <?php } ?> 
    </div> 
    <?php } ?> 
+0

感謝您抽出時間......不幸的是,這款批發mod有點奇怪,它與標準OC控制器寫得有點不同......我將發佈控制器/模板頁面...但我明白,如果沒有人想觸摸它。 :) – JacksonJJ

+0

發佈mod讓我看看我是否可以幫助你發佈在pastebin或任何其他網站,並分享鏈接 – mudasirahanger

0

我看到一些錯誤在你的控制器

  1. 在您的修改始於線124使用的是陣列$product_info[]這是上線427定義的TPL文件「的默認主題的參考」(也即將在每次迭代中發生變化,因此您必須在該foreach循環中進行所有編輯)

  2. 在相同的修改中,您使用的是我很確定沒有定義的$this->request->get['product_id']。以驗證它是否鏈接有類似product_id=,它不會在那裏,所以你不能用它

  3. 修改周圍線407沒有太大的意義

我希望這些點應該足以讓你開始

相關問題