2015-12-04 3 views
1

Я использую opencart 2.0.1.1, здесь я хочу получить категории в качестве вкладки o, что нам не нужно открывать новую ссылку каждый раз, чтобы видеть связанные категории продуктов, как показано ниже. , кто-то пожалуйста помогите enter image description here я добавил код Каталог/контроллер/модуль/product_category.phpПолучить категории как вкладку в opencart

foreach ($categories as $category) { 

     //var_dump($token);die; 

     $products = $this->model_catalog_product->getProducts(array('filter_category_id' => $category['category'], 'start' => 0, 'limit' => $setting['limit'])); 

     foreach($products as $i => $product_info) 
     { 

      if ($product_info) { 


       if ($product_info['image']) { 
       $image = $this->model_tool_image->resize($product_info['image'], $setting['width'], $setting['height']); 
      } else { 
       $image = $this->model_tool_image->resize('placeholder.png', $setting['width'], $setting['height']); 
      }     



      if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { 
       $price = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); 
      } else { 
       $price = false; 
      } 
      if ((float)$product_info['special']) { 
       $special = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax'))); 
      } else { 
       $special = false; 
      } 

      if ($this->config->get('config_tax')) { 
       $tax = $this->currency->format((float)$product_info['special'] ? $product_info['special'] : $product_info['price']); 
      } else { 
       $tax = false; 
      } 

      if ($this->config->get('config_review_status')) { 
       $rating = $product_info['rating']; 
      } else { 
       $rating = false; 
      } 

      $desc = html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8'); 
      $quick_descr_start = strpos($desc,'</iframe>')+9; 
       if ($quick_descr_start > 9){ 
       $quick_descr = substr($desc, $quick_descr_start); 
      }else{ 
       $quick_descr = $desc; 
      } 

       $data['products'][$k][] = array(
        'title'  => $category['name'], 
        'product_id' => $product_info['product_id'], 
       'thumb'  => $image, 
       'name'  => $product_info['name'], 
       'manufacturer' => $product_info['manufacturer'], 
       'description' => utf8_substr(strip_tags(html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..', 
       'price'  => $price, 
       'special'  => $special, 
       'tax'   => $tax, 
       'rating'  => $rating, 
       'author'  => $product_info['manufacturer'], 
       'description1' => $quick_descr, 
       'model' => $product_info['model'], 
       'allow' => $product_info['minimum'], 
       'href'  => $this->url->link('product/product', 'product_id=' . $product_info['product_id'])  ); 

      } 
     } 

     $k++; 
    } 

и вид/тема/*/шаблон/модуль/product_category.tpl

  <?php foreach ($products as $k => $product) { ?> 
       <!-- Nav tabs --> 
       <ul class="nav nav-tabs" role="tablist"> 

       <?php if($product[$k]){ ?> 
        <li class="active"><a href="#tab-<?php echo $product[$k]['title']; ?>" role="tab" data-toggle="tab"><?php echo $product[$k]['title']; ?></a></li> 
       <?php } ?> 

       <?php if($product[$k+1]){ ?> 
       <li><a href="#tab-<?php echo $product[$k+1]['title']; ?>" role="tab" data-toggle="tab"><?php echo $product[$k+1]['title']; ?></a></li> 
       <?php } ?> 

       </ul> 


      <h3><?php echo $product[$k]['title']; ?></h3> 
      <div class="row product-layout"> 



        <div role="tabpanel" class="tab-pane active" id="tab-$product-<?php echo $module; ?>"> 
        <div class="box clearfix"> 
         <?php $t=0; foreach ($product as $produk) { $t++ ?> 
         <div class="product-layout col-lg-3 col-md-3 col-sm-3 col-xs-12"> 
          <div class="product-thumb transition"> 

          <div class="image"> 
            <a class="lazy" style="padding-bottom: <?php echo (200/200*100); ?>%" 
             href="<?php echo $produk['href']; ?>"> 
            <img alt="<?php echo $produk['name']; ?>" 
             title="<?php echo $produk['name']; ?>" 
             class="img-responsive" 
             data-src="<?php echo $produk['thumb']; ?>" 
             src="#"/> 
            </a> 

           </div> 
          <div class="caption"> 
           <div class="name"> 


           <a href="<?php echo $produk['href']; ?>" ><?php echo $produk['name']; ?> 

           </a></div> 

           <!--<div class="description"><?php echo $produk['description']; ?></div>--> 
           <?php if ($produk['rating']) { ?> 
           <div class="rating"> 
           <?php for ($i = 1; $i <= 5; $i++) { ?> 
           <?php if ($produk['rating'] < $i) { ?> 
           <span class="fa fa-stack"><i class="fa fa-star-o fa-stack-2x"></i></span> 
           <?php } else { ?> 
           <span class="fa fa-stack"><i class="fa fa-star fa-stack-2x"></i><i class="fa fa-star-o fa-stack-2x"></i></span> 
           <?php } ?> 
           <?php } ?> 
           </div> 
           <?php } ?> 
           <?php if ($produk['price']) { ?> 
           <div class="price"> 
           <?php if (!$produk['special']) { ?> 
           <?php echo $produk['price']; ?> 
           <?php } else { ?> 
           <span class="price-new"><?php echo $produk['special']; ?></span> <span class="price-old"><?php echo $produk['price']; ?></span> 
           <?php } ?> 
           <?php if ($produk['tax']) { ?> 
           <span class="price-tax"><?php echo $text_tax; ?> <?php echo $produk['tax']; ?></span> 
           <?php } ?> 
           </div> 
           <?php } ?> 
           </br> 
          <button class="product-btn-add" type="button" onclick="cart.minus('<?php echo $produk['product_id']; ?>');pq_minus($(this).parent());"> 
           <span class="hidden-sm">-</span> 
          </button> 

          <button class="product-btn-add" type="button" onclick="cart.add('<?php echo $produk['product_id']; ?>');pq_plus($(this).parent()); "> 
           <span class="hidden-sm">+</span> 
          </button> 

          <div class="rating"> 
          <?php for ($i = 1; $i <= 5; $i++) { ?> 
          <?php if ($produk['rating'] < $i) { ?> 
          <span class="fa fa-stack"><i class="fa fa-star fa-stack-2x"></i></span> 
          <?php } else { ?> 
          <span class="fa fa-stack"><i class="fa fa-star active fa-stack-2x"></i></span> 
          <?php } ?> 
          <?php } ?> 
          </div> 
          </div> 

          </div> 
         </div> 
         <?php } ?> 
        </div> 
       </div> 

      </div> 
      <?php } ?> 

я ха ve добавила две категории, чтобы получить вкладку. Но она показывает мне одну и ту же вкладку дважды подряд.

ответ

0

Я сделал этот сценарий в последнее время в моем проекте все, что вам нужно, чтобы это сделать 3 массивов в PRODUCT_CATEGORY контроллера для 3-х различных категорий

$data['cat1'] = array(); 
    $data['cat2'] = array(); 
    $data['cat3'] = array(); 

вам нужно позвонить добавить это в течение 3 разного времени в вашем PRODUCT_CATEGORY контроллера просто изменить идентификатор категории для этого каждый раз, когда я делаю только за один раз

$cad_id = //category id for which you want to get products. 
$filter_current_data = array(
        'filter_filter' => $i, 
        'start' => 0, 
        'limit' => 20, 
        'filter_category_id' => $cat_id 


      ); 
$productss = $this->model_catalog_product->getProducts($filter_current_data); 
$data['cat1'] = $productss; 

теперь у вас есть 3 массивов различных категорий продуктов, просто использовать их в своих закладках файлов .TPL

Смежные вопросы