Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Присвоить класс каждой категории


Vadya25
 Поделиться

Рекомендованные сообщения

catalog/controller/module/tm_category_menu.php

 


<?php

class ControllerModuleTmCategoryMenu extends Controller {

public function index() {

$this->load->language('module/tm_category_menu');

 

 

$this->document->addStyle('catalog/view/javascript/tmcategory/tm_category_menu.css');

$data['heading_title'] = $this->language->get('heading_title');

 

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;

}

 

$this->load->model('catalog/category');

 

$this->load->model('catalog/product');

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

 

$data['categories'] = array();

 

$categories = $this->model_catalog_category->getCategories(0);

 

foreach ($categories as $category) {

 

 

// Level 2

$children_data = array();

//$subchildren_data = array();

 

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

 

foreach ($children as $child) {

$filter_data = array(

'filter_category_id'  => $child['category_id'],

'filter_sub_category' => true

);

 

// Level 3

$subchildren_data = array();

$subchildren = $this->model_catalog_category->getCategories($child['category_id']);

 

foreach ($subchildren as $subchild) {

$filter_subdata = array(

'filter_category_id'  => $subchild['category_id'],

'filter_sub_category' => true

);

$subchildren_data[] = array(

'category_id' => $subchild['category_id'],

'name'  => $subchild['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_subdata) . ')' : ''),

'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'] . '_' . $subchild['category_id']),

 

);

}

if ($child['image']) {

$image = $this->model_tool_image->resize($child['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));

} else {

$image = $this->model_tool_image->resize('placeholder.png', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));

}

$children_data[] = array(

'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']),

'thumb'       => $image,

'subchildren' => $subchildren_data

);

 

}

 

// Level 1

$data['categories'][] = array

'name'     => $category['name'],

'children' => $children_data,

'column'   => $category['column'] ? $category['column'] : 1,

 

'href'     => $this->url->link('product/category', 'path=' . $category['category_id'])

);

 

}

 

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/tm_category_menu.tpl')) {

return $this->load->view($this->config->get('config_template') . '/template/module/tm_category_menu.tpl', $data);

} else {

return $this->load->view('default/template/module/tm_category_menu.tpl', $data);

}

}

}

Изменено пользователем Vadya25
Ссылка на комментарий
Поделиться на других сайтах


catalog/controller/module/tm_category_menu.tpl

 


<?php

class ControllerModuleTmCategoryMenu extends Controller {

public function index() {

$this->load->language('module/tm_category_menu');

 

 

$this->document->addStyle('catalog/view/javascript/tmcategory/tm_category_menu.css');

$data['heading_title'] = $this->language->get('heading_title');

 

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;

}

 

$this->load->model('catalog/category');

 

$this->load->model('catalog/product');

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

 

$data['categories'] = array();

 

$categories = $this->model_catalog_category->getCategories(0);

 

foreach ($categories as $category) {

 

// Level 2

$children_data = array();

//$subchildren_data = array();

 

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

 

foreach ($children as $child) {

$filter_data = array(

'filter_category_id'  => $child['category_id'],

'filter_sub_category' => true

);

 

// Level 3

$subchildren_data = array();

$subchildren = $this->model_catalog_category->getCategories($child['category_id']);

 

foreach ($subchildren as $subchild) {

$filter_subdata = array(

'filter_category_id'  => $subchild['category_id'],

'filter_sub_category' => true

);

$subchildren_data[] = array(

'category_id' => $subchild['category_id'],

'name'  => $subchild['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_subdata) . ')' : ''),

'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'] . '_' . $subchild['category_id']),

 

);

}

if ($child['image']) {

$image = $this->model_tool_image->resize($child['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));

} else {

$image = $this->model_tool_image->resize('placeholder.png', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));

}

$children_data[] = array(

'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']),

'thumb'       => $image,

'subchildren' => $subchildren_data

);

 

}

 

// Level 1

$data['categories'][] = array(

'name'     => $category['name'],

'children' => $children_data,

'column'   => $category['column'] ? $category['column'] : 1,

 

'href'     => $this->url->link('product/category', 'path=' . $category['category_id'])

);

 

}

 

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/tm_category_menu.tpl')) {

return $this->load->view($this->config->get('config_template') . '/template/module/tm_category_menu.tpl', $data);

} else {

return $this->load->view('default/template/module/tm_category_menu.tpl', $data);

}

}

}

 

Ссылка на комментарий
Поделиться на других сайтах


Прошу прощения запутался немного

catalog/controller/module/tm_category_menu.tpl

 

<div class="box category col-sm-3">

<div class="box-heading"><h3><?php echo $heading_title; ?></h3></div>

<div class="box-content">

<div class="box-category">

<ul class="list-unstyled category_menu">

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

<?php if ($category['children']) { ?>

<li>

<a class="children" href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>

 <?php foreach (array_chunk($category['children'], ceil(count($category['children']) )) as $children) { ?>

 <ul>

<?php foreach ($children as $child) {?>

<li>

<b><a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a></b>

<?php if ($child['subchildren']) { ?>

<ul>

<?php foreach ($child['subchildren'] as $subchild) { ?>

<li><a href="<?php echo $subchild['href']; ?>"><?php echo $subchild['name']; ?></a></li>

<?php } ?>

</ul>

<?php } ?>

<img src="<?php echo $child['thumb']; ?>" alt="<?php echo $child['name']; ?>" />

</li>

<?php } ?>

 </ul>

 <?php } ?>

</li>

<?php } else { ?>

<li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>

<?php } ?>

 

<?php } ?>

</ul>

</div>

</div>

</div>

Ссылка на комментарий
Поделиться на других сайтах


Попробуйте так:

 

<div class="box-category">
<ul class="list-unstyled category_menu">
<?php foreach ($categories as $category) { ?>
<?php if ($category['children']) { ?>
<li>
<a class="children" href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
 <?php foreach (array_chunk($category['children'], ceil(count($category['children']) )) as $children) { ?>
 <ul>
<?php foreach ($children as $child) {?>
<li class="child_<?php echo $child['category_id']; ?>">
<b><a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a></b>
<?php if ($child['subchildren']) { ?>
<ul>
<?php foreach ($child['subchildren'] as $subchild) { ?>
<li class="subchild_<?php echo $subchild['category_id']; ?>"><a href="<?php echo $subchild['href']; ?>"><?php echo $subchild['name']; ?></a></li>
<?php } ?>
</ul>
<?php } ?>
<img src="<?php echo $child['thumb']; ?>" alt="<?php echo $child['name']; ?>" />
</li>
<?php } ?>
 </ul>
 <?php } ?>
</li>
<?php } else { ?>
<li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>
<?php } ?>
 
<?php } ?>
</ul>
</div>
Изменено пользователем Matit
Ссылка на комментарий
Поделиться на других сайтах

А так:

<div class="box-category">
<ul class="list-unstyled category_menu">
<?php foreach ($categories as $category) { ?>
<?php if ($category['children']) { ?>
<li>
<a class="children" href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
 <?php foreach (array_chunk($category['children'], ceil(count($category['children']) )) as $children) { ?>
 <ul>
<?php foreach ($children as $child) {?>
<li class="child_<?php echo $filter_category_id; ?>">
<b><a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a></b>
<?php if ($child['subchildren']) { ?>
<ul>
<?php foreach ($child['subchildren'] as $subchild) { ?>
<li class="subchild_<?php echo $filter_category_id; ?>"><a href="<?php echo $subchild['href']; ?>"><?php echo $subchild['name']; ?></a></li>
<?php } ?>
</ul>
<?php } ?>
<img src="<?php echo $child['thumb']; ?>" alt="<?php echo $child['name']; ?>" />
</li>
<?php } ?>
 </ul>
 <?php } ?>
</li>
<?php } else { ?>
<li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>
<?php } ?>
 
<?php } ?>
</ul>
</div>
Ссылка на комментарий
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.