Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Помогите переписать модуль


DenKuzmin

Recommended Posts

Как вывести подкатегории 3го уровня в osstore 2.3?

На сайте установлен модуль для вывода категорий "Категории_KSL". Помогите, пожалуйста, его переписать, чтобы можно было выводить категории 3го уровня.

 

Спойлер

 

Контроллер:


<?php
class ControllerExtensionModuleCategoryKsl extends Controller {
	public function index() {
			//Определяем текущую категорию (path из GET запроса)
		if (isset($this->request->get['path'])) {
			$parts = explode('_', (string)$this->request->get['path']);
		} else {
			$parts = array();
		}
		if (isset($parts[0])) {
			$data['category_id'] = $parts[0]; //родительская
		} else {
			$data['category_id'] = 0;
		}
		if (isset($parts[1])) {
			$data['child_id'] = $parts[1]; //дочерняя
		} else {
			$data['child_id'] = 0;
		}
		if($data['child_id']) $data['category_id'] = null;
		$this->load->model('catalog/category');
		$this->load->model('catalog/product');
		$data['categories'] = array();
		$categories = $this->model_catalog_category->getCategories(0);
		//Загружаем модель которая работает с таблицей настроек модулей (oc_setting)
		$this->load->model('setting/setting');
		//Получаем значение - показывать ли изображения
		$category_images = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_images'];
		//Получаем значение - размеры изображений
		$category_images_height = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_img_height'];
		$category_images_weight = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_img_weight'];
		//Для дочерних категорий
		$category_children = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_children'];
		$category_child_images = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_child_images'];
		$category_child_images_height = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_child_img_height'];
		$category_child_images_weight = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_child_img_weight'];
		//Массив категорий, которые не нужно выводить
		if(isset($this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_checkbox'])){
			$categoryKsl_checkbox = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_checkbox'];
		} else $categoryKsl_checkbox = null;
		foreach ($categories as $category) {
			//Пропускаем, если в настройках указано отключить данную категорию
			if (isset($categoryKsl_checkbox[$category['category_id']])) {
				continue;				
			}
			$children_data = array();
			if ($category_children) {
				$children = $this->model_catalog_category->getCategories($category['category_id']);
				foreach($children as $child) {
					//Пропускаем, если в настройках указано отключить данную категорию
					if (isset($categoryKsl_checkbox[$child['category_id']])) {
						continue;				
					}
			
					$filter_data = array('filter_category_id' => $child['category_id'], 'filter_sub_category' => true);
					//Работа с изображениями			
					if ($category_child_images && is_file(DIR_IMAGE . $child['image'])) {
						$this->load->model('tool/image');
						//метод создает изображения указанного размера
						$image = $this->model_tool_image->resize($child['image'], $category_child_images_weight, $category_child_images_height);
					} else {
						$image = '';
					}
			
					$children_data[] = array(
						'category_id' => $child['category_id'],
						'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
						'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']),
						'image' => $image,
					);
				}
			}
			
			$filter_data = array(
				'filter_category_id'  => $category['category_id'],
				'filter_sub_category' => true
			);
			//Работа с изображениями			
			if ($category_images && is_file(DIR_IMAGE . $category['image'])) {
				$this->load->model('tool/image');
				//метод создает изображения указанного размера
				$image = $this->model_tool_image->resize($category['image'], $category_images_weight, $category_images_height);
			} else {
				$image = '';
			}
			$data['is_home'] = !isset($this->request->get['route']) || ($this->request->get['route'] == 'common/home');
			$data['categories'][] = array(
				'category_id' => $category['category_id'],
				'name'        => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
				'children'    => $children_data,
				'href'        => $this->url->link('product/category', 'path=' . $category['category_id']),
				'image' => $image,
			);
		}	
		//Добавляем свои стили
		
		return $this->load->view('extension/module/categoryKsl', $data);
	}
}


 

Спойлер

 

Шаблон:


<div class="list-group">
    <?php foreach ($categories as $category) { ?>
        <?php if ($category['category_id'] == $category_id) { ?>
            <div class="list-group-item active current">
                <div class="list-group-item-block">
                    <a href="" data-href="<?=$category['href']?>">
                        <img src="<?=$category['image']?>" class="img-responsive" />
                        <span class="img-cat-name cat-name"><?=$category['name']?></span>
                    </a>
                </div>
                <div class="list-group-item-child left">
                    <div class="list-group-arrow-back">
                        <i class="fa fa-long-arrow-left" aria-hidden="true"></i>
                        <span><?=$category['name']?></span>
                    </div>
                    <?php if ($category['children']) { ?>
                        <?php foreach ($category['children'] as $child) { ?>                        
                            <?php if ($child['category_id'] == $child_id) { ?>
                                <a href="<?=$child['href']?>" class="current">
                                    <img src="<?=$child['image']?>" class="img-responsive" />
                                    <span><?=$child['name']?></span>
                                </a>
                            <?php } else { ?>
                                <a href="<?=$child['href']?>">
                                    <img src="<?=$child['image']?>" class="img-responsive" />
                                    <span><?=$child['name']?></span>
                                </a>
                            <?php } ?>                               
                        <?php } ?>
                    <?php } else { ?>
                    <?php } ?>
                    <div class="categories-left-close-btn">
                        <div class="categories-left-close-btn-wrapper"></div>
                    </div>
                </div>
            </div>
        <?php } else { ?>
                <div class="list-group-item">
                    <div class="list-group-item-block">
                        <a href="" data-href="<?=$category['href'] ?>">
                            <img src="<?=$category['image']?>" class="img-responsive" />
                            <span class="img-cat-name cat-name"><?=$category['name']?></span>
                        </a>
                    </div>
                    <div class="list-group-item-child left">
                        <div class="list-group-arrow-back">
                            <i class="fa fa-long-arrow-left" aria-hidden="true"></i>
                            <a href="<?=$category['href'] ?>" class="parent-cat-name">
                                <span><?=$category['name']?></span>
                                <span class="parent-cat-name-description">Перейти в категорию</span>
                            </a>
                        </div>
                        <?php if ($category['children']) { ?>
                            <?php foreach ($category['children'] as $child) { ?>                        
                                <?php if ($child['category_id'] == $child_id) { ?>
                                    <a href="<?=$child['href']?>" class="current">
                                        <img src="<?=$child['image']?>" class="img-responsive" />
                                        <span><?=$child['name']?></span>
                                    </a>
                                <?php } else { ?>
                                    <a href="<?=$child['href']?>">
                                        <img src="<?=$child['image']?>" class="img-responsive" />
                                        <span><?=$child['name']?></span>
                                    </a>
                                <?php } ?>                               
                            <?php } ?>
                        <?php } else { ?>
                        <?php } ?>
                        <div class="categories-left-close-btn">
                            <div class="categories-left-close-btn-wrapper"></div>
                        </div>
                    </div>
                </div>
        <?php } ?>
    <?php }  ?>
</div>


 

 

Змінено користувачем DenKuzmin
Надіслати
Поділитися на інших сайтах


Попробовал переписать так:

Контроллер:

Спойлер


<?php
class ControllerExtensionModuleCategoryKsl extends Controller {
	public function index() {
	
		//Определяем текущую категорию (path из GET запроса)
		if (isset($this->request->get['path'])) {
			$parts = explode('_', (string)$this->request->get['path']);
		} else {
			$parts = array();
		}
		if (isset($parts[0])) {
			$data['category_id'] = $parts[0]; //родительская
		} else {
			$data['category_id'] = 0;
		}
		if (isset($parts[1])) {
			$data['child_id'] = $parts[1]; //дочерняя
		} else {
			$data['child_id'] = 0;
		}

		if($data['child_id']) $data['category_id'] = null;

		if (isset($parts[2])) {
			$data['childc_id'] = $parts[2]; //дочерняя дочерней
		} else {
			$data['childc_id'] = 0;
		}

		if($data['childc_id']) $data['category_id'] = null;

		$this->load->model('catalog/category');
		$this->load->model('catalog/product');
		$data['categories'] = array();
		$categories = $this->model_catalog_category->getCategories(0);

		//Загружаем модель которая работает с таблицей настроек модулей (oc_setting)
		$this->load->model('setting/setting');

		//Получаем значение - показывать ли изображения
		$category_images = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_images'];
		//Получаем значение - размеры изображений
		$category_images_height = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_img_height'];
		$category_images_weight = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_img_weight'];

		//Для дочерних категорий
		$category_children = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_children'];
		$category_child_images = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_child_images'];
		$category_child_images_height = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_child_img_height'];
		$category_child_images_weight = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_child_img_weight'];

		//Для дочерних дочерних категорий
		$category_childrenc = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_children'];
		$category_childc_images = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_child_images'];
		$category_childc_images_height = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_child_img_height'];
		$category_childc_images_weight = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_child_img_weight'];


		//Массив категорий, которые не нужно выводить
		if(isset($this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_checkbox'])){
			$categoryKsl_checkbox = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_checkbox'];
		} else $categoryKsl_checkbox = null;

		foreach ($categories as $category) {

			//Пропускаем, если в настройках указано отключить данную категорию
			if (isset($categoryKsl_checkbox[$category['category_id']])) {
				continue;				
			}
			$children_data = array();

			if ($category_children) {

				$children = $this->model_catalog_category->getCategories($category['category_id']);

				foreach($children as $child) {
					//Пропускаем, если в настройках указано отключить данную категорию
					if (isset($categoryKsl_checkbox[$child['category_id']])) {
						continue;				
					}
			
					$filter_data = array('filter_category_id' => $child['category_id'], 'filter_sub_category' => true);

					//Работа с изображениями			
					if ($category_child_images && is_file(DIR_IMAGE . $child['image'])) {
						$this->load->model('tool/image');
						//метод создает изображения указанного размера
						$image = $this->model_tool_image->resize($child['image'], $category_child_images_weight, $category_child_images_height);
					} else {
						$image = '';
					}
			
					$children_data[] = array(
						'category_id' => $child['category_id'],
						'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
						'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']),
						'image' => $image,
					);
				}
			}
			

      $childrenc_data = array();

			if ($category_childrenc) {

				$childrenc = $this->model_catalog_category->getCategories($category['category_id']);

				foreach($childrenc as $childc) {
					//Пропускаем, если в настройках указано отключить данную категорию
					if (isset($categoryKsl_checkbox[$childc['category_id']])) {
						continue;				
					}
			
					$filter_data = array('filter_category_id' => $child['category_id'], 'filter_sub_category' => true);

					//Работа с изображениями			
					if ($category_childc_images && is_file(DIR_IMAGE . $childc['image'])) {
						$this->load->model('tool/image');
						//метод создает изображения указанного размера
						$image = $this->model_tool_image->resize($childc['image'], $category_childc_images_weight, $category_childc_images_height);
					} else {
						$image = '';
					}
			
					$childrenc_data[] = array(
						'category_id' => $childc['category_id'],
						'name' => $childc['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
						'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $childc['category_id']),
						'image' => $image,
					);
				}
			}
			
			
			
			
			$filter_data = array(
				'filter_category_id'  => $category['category_id'],
				'filter_sub_category' => true
			);

			//Работа с изображениями			
			if ($category_images && is_file(DIR_IMAGE . $category['image'])) {
				$this->load->model('tool/image');
				//метод создает изображения указанного размера
				$image = $this->model_tool_image->resize($category['image'], $category_images_weight, $category_images_height);
			} else {
				$image = '';
			}
			$data['is_home'] = !isset($this->request->get['route']) || ($this->request->get['route'] == 'common/home');
			$data['categories'][] = array(
				'category_id' => $category['category_id'],
				'name'        => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
				'children'    => $children_data,
				'childrenc'    => $childrenc_data,
				'href'        => $this->url->link('product/category', 'path=' . $category['category_id']),
				'image' => $image,
			);
		}	
		//Добавляем свои стили
		
		return $this->load->view('extension/module/categoryKsl', $data);
	}
}

 

 

Шаблон:

Спойлер


<div class="list-group">
    <?php foreach ($categories as $category) { ?>
        <?php if ($category['category_id'] == $category_id) { ?>
            <div class="list-group-item active current">
                <div class="list-group-item-block">
                    <a href="" data-href="<?=$category['href']?>">
                        <img src="<?=$category['image']?>" class="img-responsive" />
                        <span class="img-cat-name cat-name"><?=$category['name']?></span>
                    </a>
                </div>
                <div class="list-group-item-child left">
                    <div class="list-group-arrow-back">
                        <i class="fa fa-long-arrow-left" aria-hidden="true"></i>
                        <span><?=$category['name']?></span>
                    </div>
                    <?php if ($category['children']) { ?>
                        <?php foreach ($category['children'] as $child) { ?>                        
                            <?php if ($child['category_id'] == $child_id) { ?>
                                <a href="<?=$child['href']?>" class="current">
                                    <img src="<?=$child['image']?>" class="img-responsive" />
                                    <span><?=$child['name']?></span>
                                    
<?php if ($category['childrenc']) { ?>
  <?php foreach ($category['childrenc'] as $childc) { ?>
    <?php if ($childc['category_id'] == $childc_id) { ?>
      <span><?=$childc['name']?></span>
    <?php } else { ?>
      <span><?=$childc['name']?></span>
    <?php } ?>
  <?php } ?>
<?php } ?>
                                    
                                    
                                </a>
                            <?php } else { ?>
                                <a href="<?=$child['href']?>">
                                    <img src="<?=$child['image']?>" class="img-responsive" />
                                    <span><?=$child['name']?></span>
                                    
                                    <?php if ($category['childrenc']) { ?>

  <?php foreach ($category['childrenc'] as $childc) { ?>
    <?php if ($childc['category_id'] == $childc_id) { ?>
      <span><?=$childc['name']?></span>
    <?php } else { ?>
      <span><?=$childc['name']?></span>
    <?php } ?>
  <?php } ?>
<?php } ?>
                                    
                                    
                                </a>
                            <?php } ?>                               
                        <?php } ?>
                    <?php } else { ?>
                    <?php } ?>
                    <div class="categories-left-close-btn">
                        <div class="categories-left-close-btn-wrapper"></div>
                    </div>
                </div>
            </div>
        <?php } else { ?>
                <div class="list-group-item">
                    <div class="list-group-item-block">
                        <a href="" data-href="<?=$category['href'] ?>">
                            <img src="<?=$category['image']?>" class="img-responsive" />
                            <span class="img-cat-name cat-name"><?=$category['name']?></span>
                        </a>
                    </div>
                    <div class="list-group-item-child left">
                        <div class="list-group-arrow-back">
                            <i class="fa fa-long-arrow-left" aria-hidden="true"></i>
                            <a href="<?=$category['href'] ?>" class="parent-cat-name">
                                <span><?=$category['name']?></span>
                                <span class="parent-cat-name-description">Перейти в категорию</span>
                            </a>
                        </div>
                        <?php if ($category['children']) { ?>
                            <?php foreach ($category['children'] as $child) { ?>                        
                                <?php if ($child['category_id'] == $child_id) { ?>
                                    <a href="<?=$child['href']?>" class="current">
                                        <img src="<?=$child['image']?>" class="img-responsive" />
                                        <span><?=$child['name']?></span>
                                        
                                        
<?php if ($category['childrenc']) { ?>
  <?php foreach ($category['childrenc'] as $childc) { ?>
    <?php if ($childc['category_id'] == $childc_id) { ?>
      <span><?=$childc['name']?></span>
    <?php } else { ?>
      <span><?=$childc['name']?></span>
    <?php } ?>
  <?php } ?>
<?php } ?>
                                        
                                        
                                        
                                        
                                    </a>
                                <?php } else { ?>
                                    <a href="<?=$child['href']?>">
                                        <img src="<?=$child['image']?>" class="img-responsive" />
                                        <span><?=$child['name']?></span>
                                        
                                        
                                        
<?php if ($category['childrenc']) { ?>
  <?php foreach ($category['childrenc'] as $childc) { ?>
    <?php if ($childc['category_id'] == $childc_id) { ?>
      <span><?=$childc['name']?></span>
    <?php } else { ?>
      <span><?=$childc['name']?></span>
    <?php } ?>
  <?php } ?>
<?php } ?>
                                        
                                        
                                        
                                        
                                    </a>
                                <?php } ?>                               
                            <?php } ?>
                        <?php } else { ?>
                        <?php } ?>
                        <div class="categories-left-close-btn">
                            <div class="categories-left-close-btn-wrapper"></div>
                        </div>
                    </div>
                </div>
        <?php } ?>
    <?php }  ?>
</div>

 

 

Нужный результат не получил.

Выводит такое:

 

 

Спойлер

Screenshot_20211018-160950~2.png

 

Змінено користувачем DenKuzmin
Надіслати
Поділитися на інших сайтах


31 минуту назад, DenKuzmin сказал:

Попробовал переписать так:

  Показать контент

Screenshot_20211018-160950~2.png

 

 

Посмотрите как вот тут например, адаптируйте 

 

https://www.opencart.com/index.php?route=marketplace/extension/info&member_token=q2pGcDBETAHxVregCQDQLtBm5cwSt20F&extension_id=30089&filter_license=0&filter_download_id=47

Надіслати
Поділитися на інших сайтах

Переделал вот так. Ошибок нет и категории 3го уровня не выводит.

 

Контроллер:

Спойлер

<?php
class ControllerExtensionModuleCategoryKsl extends Controller {
	public function index() {
	
		//Определяем текущую категорию (path из GET запроса)
		if (isset($this->request->get['path'])) {
			$parts = explode('_', (string)$this->request->get['path']);
		} else {
			$parts = array();
		}
		if (isset($parts[0])) {
			$data['category_id'] = $parts[0]; //родительская
		} else {
			$data['category_id'] = 0;
		}
		if (isset($parts[1])) {
			$data['child_id'] = $parts[1]; //дочерняя
		} else {
			$data['child_id'] = 0;
		}
		if (isset($parts[1])) {
			$data['child_2_id'] = $parts[1]; //дочерняя
		} else {
			$data['child_2_id'] = 0;
		}

		if($data['child_id']) $data['category_id'] = null;
		if($data['child_2_id']) $data['category_id'] = null;

		$this->load->model('catalog/category');
		$this->load->model('catalog/product');
		$data['categories'] = array();
		$categories = $this->model_catalog_category->getCategories(0);

		//Загружаем модель которая работает с таблицей настроек модулей (oc_setting)
		$this->load->model('setting/setting');

		//Получаем значение - показывать ли изображения
		$category_images = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_images'];
		//Получаем значение - размеры изображений
		$category_images_height = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_img_height'];
		$category_images_weight = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_img_weight'];

		//Для дочерних категорий
		$category_children = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_children'];
		$category_child_images = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_child_images'];
		$category_child_images_height = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_child_img_height'];
		$category_child_images_weight = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_child_img_weight'];

		//Массив категорий, которые не нужно выводить
		if(isset($this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_checkbox'])){
			$categoryKsl_checkbox = $this->model_setting_setting->getSetting('categoryKsl')['categoryKsl_checkbox'];
		} else $categoryKsl_checkbox = null;

		foreach ($categories as $category) {
			//Пропускаем, если в настройках указано отключить данную категорию
        $children_data = array();
				$children = $this->model_catalog_category->getCategories($category['category_id']);
				
				
				foreach($children as $child) {
          $children_data_2 = array();
					$children_2 = $this->model_catalog_category->getCategories($child['category_id']);
					
			     $filter_data = array('filter_category_id' => $child['category_id'], 'filter_sub_category' => true);

					
				}


			if (isset($categoryKsl_checkbox[$category['category_id']])) {
				continue;				
			}
			
			$children_data = array();
			if ($category_children) {
				$children = $this->model_catalog_category->getCategories($category['category_id']);

				foreach($children as $child) {
				  
          $children_data_2 = array();
					$children_2 = $this->model_catalog_category->getCategories($child['category_id']);
				  
					//Пропускаем, если в настройках указано отключить данную категорию
					if (isset($categoryKsl_checkbox[$child['category_id']])) {
						continue;				
					}
			
					$filter_data = array('filter_category_id' => $child['category_id'], 'filter_sub_category' => true);

					//Работа с изображениями			
					if ($category_child_images && is_file(DIR_IMAGE . $child['image'])) {
						$this->load->model('tool/image');
						//метод создает изображения указанного размера
						$image = $this->model_tool_image->resize($child['image'], $category_child_images_weight, $category_child_images_height);
					} else {
						$image = '';
					}
			
					$children_data[] = array(
						'category_id' => $child['category_id'],
						'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
						'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']),
						'children_2'  => $children_data_2,
						'image' => $image,
					);
					
				}
			}
			
			$filter_data = array(
				'filter_category_id'  => $category['category_id'],
				'filter_sub_category' => true
			);

			//Работа с изображениями			
			if ($category_images && is_file(DIR_IMAGE . $category['image'])) {
				$this->load->model('tool/image');
				//метод создает изображения указанного размера
				$image = $this->model_tool_image->resize($category['image'], $category_images_weight, $category_images_height);
			} else {
				$image = '';
			}
			$data['is_home'] = !isset($this->request->get['route']) || ($this->request->get['route'] == 'common/home');
			
			$data['categories'][] = array(
				'category_id' => $category['category_id'],
				'name'        => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
				'children'    => $children_data,
				'href'        => $this->url->link('product/category', 'path=' . $category['category_id']),
				'image' => $image,
			);
		}	
		//Добавляем свои стили
	
	
	
			foreach ($categories as $category) {
				

				foreach($children as $child) {
				
					$children_data_2 = array();
					$children_2 = $this->model_catalog_category->getCategories($child['category_id']);
					
					$filter_data = array('filter_category_id' => $child['category_id'], 'filter_sub_category' => true);
					
					//Sub-Category - 1st Level
					$children_data[] = array(
						'category_id' => $child['category_id'],
						'name' => $child['name'],
						'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']),
						'children_2'  => $children_data_2
					);
				}
			//}

			$filter_data = array(
				'filter_category_id'  => $category['category_id'],
				'filter_sub_category' => true
			);
			
			//Main Category - 0th Level
			$data['categories'][] = array(
				'category_id' => $category['category_id'],
				'name'        => $category['name'],
				'children'    => $children_data,
				'href'        => $this->url->link('product/category', 'path=' . $category['category_id'])
			);
		}
	
	
	
	
	
	
		return $this->load->view('extension/module/categoryKsl', $data);
	}
}

 

 

Шаблон (tpl):

Спойлер

<div class="list-group">

    <?php foreach ($categories as $category) { ?>

        <?php if ($category['category_id'] == $category_id) { ?>
            <div class="list-group-item active current">
                <div class="list-group-item-block">
                    <a href="" data-href="<?=$category['href']?>">
                        <img src="<?=$category['image']?>" class="img-responsive" />
                        <span class="img-cat-name cat-name"><?=$category['name']?></span>
                    </a>
                </div>
                <div class="list-group-item-child left">
                    <div class="list-group-arrow-back">
                        <i class="fa fa-long-arrow-left" aria-hidden="true"></i>
                        <span><?=$category['name']?></span>
                    </div>
                    <?php if ($category['children']) { ?>
                        <?php foreach ($category['children'] as $child) { ?>                        
                            <?php if ($child['category_id'] == $child_id) { ?>
                                <a href="<?=$child['href']?>" class="current">
                                    <img src="<?=$child['image']?>" class="img-responsive" />
                                    <span><?=$child['name']?></span>


<?php if ($child['children_2']) { ?>   
  <?php foreach ($child['children_2'] as $child_2) { ?>
    <span>Подкатегория</span>
  <?php } ?>
<?php } ?>              
                                    
                                </a>
                            <?php } else { ?>
                                <a href="<?=$child['href']?>">
                                    <img src="<?=$child['image']?>" class="img-responsive" />
                                    <span><?=$child['name']?></span>
                                    

<?php if ($child['children_2']) { ?>   
  <?php foreach ($child['children_2'] as $child_2) { ?>
    <span>Подкатегория</span>
  <?php } ?>
<?php } ?>    
                                    
                                </a>
                            <?php } ?>                               
                        <?php } ?>
                    <?php } else { ?>
                    <?php } ?>
                    <div class="categories-left-close-btn">
                        <div class="categories-left-close-btn-wrapper"></div>
                    </div>
                </div>
            </div>
        <?php } else { ?>
                <div class="list-group-item">
                    <div class="list-group-item-block">
                        <a href="" data-href="<?=$category['href'] ?>">
                            <img src="<?=$category['image']?>" class="img-responsive" />
                            <span class="img-cat-name cat-name"><?=$category['name']?></span>
                        </a>
                    </div>
                    <div class="list-group-item-child left">
                        <div class="list-group-arrow-back">
                            <i class="fa fa-long-arrow-left" aria-hidden="true"></i>
                            <a href="<?=$category['href'] ?>" class="parent-cat-name">
                                <span><?=$category['name']?></span>
                                <span class="parent-cat-name-description">Перейти в категорию</span>
                            </a>
                        </div>
                        <?php if ($category['children']) { ?>
                            <?php foreach ($category['children'] as $child) { ?>                        
                                <?php if ($child['category_id'] == $child_id) { ?>
                                    <a href="<?=$child['href']?>" class="current">
                                        <img src="<?=$child['image']?>" class="img-responsive" />
                                        <span><?=$child['name']?></span>
                                        
                                        
<?php if ($child['children_2']) { ?>   
  <?php foreach ($child['children_2'] as $child_2) { ?>
    <span>Подкатегория</span>
  <?php } ?>
<?php } ?>        
                                        
                                        
                                        
                                    </a>
                                <?php } else { ?>
                                    <a href="<?=$child['href']?>">
                                        <img src="<?=$child['image']?>" class="img-responsive" />
                                        <span><?=$child['name']?></span>
                                        
                                        
                                        
<?php if ($child['children_2']) { ?>   
  <?php foreach ($child['children_2'] as $child_2) { ?>
    <span>Подкатегория</span>
  <?php } ?>
<?php } ?>        
                                        
                                        
                                        
                                    </a>
                                <?php } ?>                               
                            <?php } ?>
                        <?php } else { ?>
                        <?php } ?>
                        <div class="categories-left-close-btn">
                            <div class="categories-left-close-btn-wrapper"></div>
                        </div>
                    </div>
                </div>
        <?php } ?>
    <?php }  ?>
</div>

 

 

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.