Перейти к содержанию
Lyuma

Не открываются подкатегории при нажатии на родительскую

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

Помогите, пожалуйста!

Не открываются подкатегории при нажатии на родительскую категорию в левой колонке. Т.е. 

 

(схема1)

Категория

   Подкатегория1

   Подкатегория 2

 

в Подкатегории1 есть еще Подкатегория11, Подкатегория12

 

(схема2)

Категория

   Подкатегория1

      Подкатегория11

      Подкатегория12

   Подкатегория 2

 

При нажатии на Подкатегорию1 в левой колонке ничего не меняется, она одна и остается, без Подкатегорий11,12 (схема1), а надо чтобы выводилось как схеме2.

Поделиться сообщением


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

движок? версия? шаблон/модуль категорий?

еще лучше - ссылку на сайт

 

что делали, после чего перестало работать?

 

без этого можно только гадать

Поделиться сообщением


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

сайт thaicaravan.com

OC 2.0.1.1

 

думаю, произошло после переноса сайта с денвера на хостинг, не обращала внимание на отсутствие.

Поделиться сообщением


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

а раньше вообще - открывалось?

 

если да и сами ничего не правили в коде - имеет смысл уточнить у автора темы

Поделиться сообщением


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

Раньше открывалось, я удалила все вемо-товары и демо-категории, после этого создавала уже свои, после этого и перестало думаю работать, просто не так давно подкатегории ввела и заметила.

так тема вроде дефолтная

Поделиться сообщением


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

так тема вроде дефолтная

 

нет

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

Поделиться сообщением


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

переключила на дефолтную, категории не появились.

и что теперь делать?

Поделиться сообщением


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

сравнить с денвером, на котором работает - искать отличия

Поделиться сообщением


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

а в каких файлах конкретно искать отличия? простите мое незнание, я только учусь.

Поделиться сообщением


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

посмотрела в денвере - там тоже оказывается подкатегории не открываются. видимо, я еще до переноса на сайт что-то напортачила.

в коде не сильна, что теперь делать?

Поделиться сообщением


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

пробуйте заменить файл catalog\view\theme\ имя вашей темы \template\module\category.tpl

файлом catalog\view\theme\default\template\module\category.tpl из вашего чистого дистрибутива

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
у меня нет в папке catalog\view\theme\ имя вашей темы\template\ нет папки module\category.tpl  есть только папка \common, а там footer.tpl b header.tpl

 

зашла в папку catalog\view\theme\default\template\module\category.tpl  , там код (может Вы посмотрите, что не так). И подскажите, где взять чистый дистрибутив?

 

<div class="list-group">

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

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

  <a href="<?php echo $category['href']; ?>" class="list-group-item active"><?php echo $category['name']; ?></a>

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

  <?php foreach ($category['children'] as $child) { ?>

  <?php if ($child['category_id'] == $child_id) { ?>

  <a href="<?php echo $child['href']; ?>" class="list-group-item active">   - <?php echo $child['name']; ?></a>

  <?php } else { ?>

  <a href="<?php echo $child['href']; ?>" class="list-group-item">   - <?php echo $child['name']; ?></a>

  <?php } ?>

  <?php } ?>

  <?php } ?>

  <?php } else { ?>

  <a href="<?php echo $category['href']; ?>" class="list-group-item"><?php echo $category['name']; ?></a>

  <?php } ?>

  <?php } ?>

</div>

Поделиться сообщением


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

интересно - как так нет папки module? :blink:

 

создайте и попробуйте скопировать catalog\view\theme\default\template\module\category.tpl

в catalog\view\theme\ имя вашей темы \template\module\category.tpl

Поделиться сообщением


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

так в в папке catalog\view\theme\ имя вашей темы\template\ есть вообще только одна папка \common,с двумя файлами footer.tpl и header.tpl  никаких других ни папок, ни файлов там нет.

я создала в папке catalog/view/theme/bolshopdark/template/module  и скопировала туда category.tpl   но ничего не произошло, категории не появились.  

Может в коде что-то не так?

Поделиться сообщением


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

а, затупил что-то..

все нормально - когда в шаблоне (отличном от дефолтного) нет какого-то файла, этот файл берется из папки с дефолтным шаблоном

 

попробуйте код заменить на такой (только свой сохраните где-нибудь на всякий случай!)

<div class="box">
  <div class="box-heading"><?php echo $heading_title; ?></div>
  <div class="box-content">
    <ul class="box-category">
      <?php foreach ($categories as $category) { ?>
      <li>
        <?php if ($category['category_id'] == $category_id) { ?>
        <a href="<?php echo $category['href']; ?>" class="active"><?php echo $category['name']; ?></a>
        <?php } else { ?>
        <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
        <?php } ?>
        <?php if (($category['children']) && ($category['category_id'] == $category_id)) { ?>
        <ul>
          <?php foreach ($category['children'] as $child) { ?>
          <li>
            <?php if ($child['category_id'] == $child_id) { ?>
            <a href="<?php echo $child['href']; ?>" class="active"> - <?php echo $child['name']; ?></a>
            <?php } else { ?>
            <a href="<?php echo $child['href']; ?>"> - <?php echo $child['name']; ?></a>
            <?php } ?>
          </li>
          <?php } ?>
        </ul>
        <?php } ?>
      </li>
      <?php } ?>
    </ul>
  </div>
</div>

Поделиться сообщением


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

из папки catalog\view\theme\ имя вашей темы\template\ удалила созданную папку module  с файлом category.tpl

 

в папку catalog\view\theme\default\template\module\category.tpl  скопировала данный Вами код, внешний вид немного изменился, но все равно подкатегории не открываются.

Поделиться сообщением


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

код - верните как было

 

замените файл catalog\controller\module\category.php аналогичным из чистого дистрибутива

только свой сохраните на всякий случай

Поделиться сообщением


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

простите, а где взять этот чистый дистрибутив? Я его не сохраняла, сразу стала изменять все.

Поделиться сообщением


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

вспоминать - где брали и качать оттуда. или скачать с официального сайта

качайте именно вашу версию

Поделиться сообщением


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

скачала, заменила и....  категории все равно не появились, так еще и пропала половина товаров....

вернула все назад

Изменено пользователем Lyuma

Поделиться сообщением


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

нет, простите, половина товаров не пропадала, это я затупила и не отключила денвер.

 

Отключила, открыла catalog\controller\module\category.php в только что загруженном чистом дистрибутиве, скопировала на сервер и ровным счетом ничего не произошло, категории не появились. 

 

вот код из чистого дистрибутива, может его надо как-то подправить? 

 

<?php

class ControllerModuleCategory extends Controller {
public function index() {
$this->load->language('module/category');
 
$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');
 
$data['categories'] = array();
 
$categories = $this->model_catalog_category->getCategories(0);
 
foreach ($categories as $category) {
$children_data = array();
 
if ($category['category_id'] == $data['category_id']) {
$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);
 
$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'])
);
}
}
 
$filter_data = array(
'filter_category_id'  => $category['category_id'],
'filter_sub_category' => true
);
 
$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'])
);
}
 
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/category.tpl')) {
return $this->load->view($this->config->get('config_template') . '/template/module/category.tpl', $data);
} else {
return $this->load->view('default/template/module/category.tpl', $data);
}
}
}

Поделиться сообщением


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

тогда три варианта событий:

смириться и оставить все как есть

ждать, пока еще кто подключится к теме с предложениями

либо в раздел платных услуг - может там найдутся желающие взяться за исправление

Поделиться сообщением


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

Все поняла.

 

Спасибо Вам большое!!!!!

Поделиться сообщением


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

Я решила проблему таким образом:

Видимо, в стандартной версии Опенкарт и без покупки доп.модулей возможна только схема Категория - Подкатегория и они прекрасно открываются, а схема Категория - Подкатегория - Подподкатегория уже не действует, Подподкатегории не открываются ни в какую в левой колонке! Поэтому я назначила все Подкатегории главными Категориями и всё заработало, т.е. у меня не стало Подподкатегорий.

Может кому поможет!

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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