lyamin

Родительская категория active одновременно с подкатегорией

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

lyamin    1

В меню категорий, когда выберешь подкатигорию, вместе с ней становиться активна и родительская. (например, Компьютеры, вместе с PC). Как сделать что бы активной была только выбранная?

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


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

ап

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


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

Открыть catalog/view/theme/default/template/module/category.tpl

Найти 

  <?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']) { ?>
          <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 } ?>

 

upd: увы, но не сейчас.

Инструкция: В 9-ой строке нужно добавить проверку на наличие открытой дочерней категории, что-то из серии if(isset($child_id))

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

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


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

Открыть catalog/view/theme/default/template/module/category.tpl

Найти 

  <?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']) { ?>
          <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 } ?>

 

upd: увы, но не сейчас.

Инструкция: В 9-ой строке нужно добавить проверку на наличие открытой дочерней категории, что-то из серии if(isset($child_id))

я чайник :(

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


Ссылка на сообщение
Поделиться на другие сайты
deim    242
 <?php foreach ($categories as $category) { ?>
        <li>
          <?php if ($category['category_id'] == $category_id) { ?>
          <a href="<?php echo $category['href']; ?>" <?php if(!isset($child_id)){ ?>class="active" <?php } ?>><?php echo $category['name']; ?></a>
          <?php } else { ?>
          <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
          <?php } ?>
          <?php if ($category['children']) { ?>
          <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 } ?>

Пробуйте

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


Ссылка на сообщение
Поделиться на другие сайты
lyamin    1
 <?php foreach ($categories as $category) { ?>
        <li>
          <?php if ($category['category_id'] == $category_id) { ?>
          <a href="<?php echo $category['href']; ?>" <?php if(!isset($child_id)){ ?>class="active" <?php } ?>><?php echo $category['name']; ?></a>
          <?php } else { ?>
          <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
          <?php } ?>
          <?php if ($category['children']) { ?>
          <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 } ?>

Пробуйте

http://divan-66.ru/

 

Не совсем то, что надо. Хотелось бы что бы цвета остались те же...если сделать так, как предложили Вы, перестает выделяться родительская категория оранжевым вообще, а надо просто что бы когда открыты, например, еврокнижки, не выделялись "Диваны"

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


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

Да, туплю.

9ая строка должна быть вот такой:

<a href="<?php echo $category['href']; ?>" <?php if($child_id==0){ ?>class="active" <?php } ?>><?php echo $category['name']; ?></a>

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


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

Да, туплю.

9ая строка должна быть вот такой:

<a href="<?php echo $category['href']; ?>" <?php if($child_id==0){ ?>class="active" <?php } ?>><?php echo $category['name']; ?></a>

хм. нет. опять не тот эффект)

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


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

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

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

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

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

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

Войти

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

Войти


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

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