0 Пользователей и 1 Гость просматривают эту тему.
  • 4 Ответов
  • 2491 Просмотров
*

revil

  • Захожу иногда
  • 103
  • 5 / 0
Имеется такая структура

Категория 1 - подкатегория 1.1 - подкатегория 1.2 ...
Категория 2 - подкатегория 2.1 - подкатегория 2.2 ...
Категория 3 - подкатегория 3.1 - подкатегория 3.2 ...

Ссылки на корневые категории сделаны в виде картинок, эти ссылки отображаются на каждой странице.
Нужно чтобы "подсвечивалась картинка" той категории, в которой сейчас находится ползьзователь,
то есть, если он в подкатегории 2.2, то активным становится изображениие Категории 2.

Хотел посмотреть по url, но там не как не отображается иерархия подкатегорий, просто разные category_id.
Можно конечно тупо прописать для каждой картинки все category_id, когда ее нужно менять, но хотелось бы найти более изящное решение :)
*

tug

  • Захожу иногда
  • 333
  • 40 / 4
Забавно... недавно делал такой хак. В каком месте картинка нужна?
*

revil

  • Захожу иногда
  • 103
  • 5 / 0
вот ссылка на тестовую версию сайта http://artantiq.revil.ru, там по центру под меню как раз эти 3 нужные ссылки, буду признателен за помощь в решении :)
*

tug

  • Захожу иногда
  • 333
  • 40 / 4
В нужное Вам место в shop.browse.php (например перед строкой "$child_list = $ps_product_category->get_child_list($category_id);") вставьте следующий код
Код
  //<!-- tugged
  function get_category_image($category_id, $stoplevel = 2, $level = 0) {
    if($stoplevel && $level > $stoplevel) {
      return false;
    }
    else {
      $level++;
    }
   
    $db = new ps_DB;
    $q = "SELECT category_name, category_full_image, category_thumb_image, category_parent_id FROM #__{vm}_category, #__{vm}_category_xref WHERE category_id = '".$category_id."' AND category_child_id = category_id";
    $db->query($q);
   
    if( $db->f('category_thumb_image') ) $image = $db->f('category_thumb_image');
    elseif( $db->f('category_full_image') ) $image = $db->f('category_full_image');
   
    if( $image ) {
      $image = 'category/'.$image;
      $imagepath = IMAGEPATH.$image;
      $imageurl = IMAGEURL.$image;
    }
   
    if( is_file($imagepath) ) {
      return $imageurl;
    }
    else {
      if( $imageurl = get_category_image($db->f('category_parent_id'), $stoplevel, $level) ) {
        return $imageurl;
      }
      else {
        return false;
      }
    }
  }
 
  if( !empty($category_id) ) {   
    if( $imageurl = get_category_image($category_id) ) {
      echo '<p><img src="'.$imageurl.'" alt="'.$db->f('category_name').'" /></p>';
    }
    else {
      //echo '<p>Файл не найден</p>';
    }
  }
  // tugged -->
*

myorion

  • Осваиваюсь на форуме
  • 11
  • 1 / 0
Здравствуйте.
tug, спасибо за хак - пригодится.
А можно ли этот имидж главной категории поместить вне shop.browse.php
Например, где-то слева под главным меню сайта?
Подскажи, пожалуйста, как это реализовать!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Скидка на категорию [почти решено]

Автор baloon

Ответов: 4
Просмотров: 2288
Последний ответ 06.04.2016, 20:00:27
от Ejov
Вывод категории и только некоторых подкатегорий

Автор ИринаМ

Ответов: 8
Просмотров: 1530
Последний ответ 30.04.2014, 11:20:17
от ИринаМ
Как вывести в категорию "Доступен Обычно отгружается в течение: "

Автор stardel

Ответов: 1
Просмотров: 1028
Последний ответ 10.10.2012, 17:19:24
от vtx
Как вывести категорию в таблице?

Автор Damag

Ответов: 1
Просмотров: 1273
Последний ответ 31.07.2012, 11:52:37
от Damag
Вывод подкатегорий на главной

Автор pl4cebo

Ответов: 0
Просмотров: 1065
Последний ответ 09.04.2012, 06:14:45
от pl4cebo