Перейти к содержанию
Форум поддержки пользователей VamShop

Выделение первого раздела в боксе категорий


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

Можно ли как-то присвоить отдельный класс css именно для первого раздела в этом боксе?

аналог монстровского

<li class="bg_list_un">

а все остальные -

<li class="bg_list">

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

для одного первого или для каждого корневого?

вывод категорий лежит в файле \шаблон\source\inc\vam_show_category.inc.php

правда эта функция в цикле вызывается

но наверняка можно

по id категории нельзя проверять?

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

спасибо. я в курсе, что в vam_show_category.inc.php это, но в какой именно инструкции можно эту верхнюю категорию идентифицировать и стиль задать, не могу понять.

для самого первого (верхнего). в монстровских шаблонах подчеркивание категорий, например, так сделано.

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

В принципе, можно ведь добавить id категории к стилю в vam_show_category.inc.php

т.е. например сделать стиль class="cat X"

где вместо X будет id номер.

Затем указать общий .cat стиль для всех категори и можно будет отдельно указать стиль для нужной категории, вот так:


.cat.X (X - это id категории, например 1)
  {
    color: red;
  }
[/code]

т.е. смысл в том, что есть общий стиль .cat для всех элементов и отдельно можно задавать для конкретных категорий стили.

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

Точка в css стилях значит пробел в html-коде, т.е. если у нас в html задано div class="sample class", т.е. с пробелом, в css нужно менять пробел на точку, т.е. div.sample.class

Если в html указан стиль class="primer css", то в css будут наследоваться стили, это значит, что можно задать общий для всех боксов стиль div.primer и конкретный стиль для отдельного бокса div.primer.css

Это довольно удобная вещь в css.

Можно завести например общий стиль box, и например цвета для боксов red,white или ориентацию текста center right left

и тогда когда нужен просто обычный бокс, пишем class="box"

Если нужен бокс красный, то пишем class="box red"

Если нужен красный бокс справа - пишем class="box red right"

В-общем, идея с добавлением id категории, в принципе, имеет право на жизнь, с помощью этого можно будет через css добавлять до любой категории-подкатегории в боксе.

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

В принципе, можно ведь добавить id категории к стилю в vam_show_category.inc.php
вот про это и спрашиваю ))

как это прописать в этом файле? со стилями-то все ясно...

надо, чтоб категория с id=1, например, была с другим стилем оформления.

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

Наверное менять:


    $categories_string .= '<li class="CatLevel'.$foo[$counter]['level'].'';
[/code] на:
[code]
    $categories_string .= '<li class="CatLevel'.$foo[$counter]['level']. ' ' . $id .'';

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

Если id номер к css классу в боксе разделы добавляется - значит всё нормально, ошибка в стилях где-то.

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

В файле \шаблон\source\inc\vam_show_category.inc.php меняю

$categories_string .= '<li class="CatLevel'.$foo[$counter]['level'].'';
на
$categories_string .= '<li class="CatLevel'.$foo[$counter]['level']. ' ' . $id .'';
В файле stylesheet.css добавляю

.cat.1
  {
    color: red;
  }[/code]

Что делаю неправильно

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

Стиль неправильный, уже сейчас видно.

Должно же быть что-то вроде:


.CatLevel0.1,
.CatLevel0.1 a,
.CatLevel0.1 a:hover
  {
    color: red;
  }
[/code]

Это для категории с id = 1

Да и вообще, ссылку на магазин очень желательно увидеть, наугад сложно скачать.

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

Попробуйте в /templates/vamshop/source/boxes/categories.php поменять:


$foo[$categories['categories_id']] = array ('name' => $categories['categories_name'], 'parent' => $categories['parent_id'], 'level' => 0, 'path' => $categories['categories_id'], 'next_id' => false);
[/code] на:
[code]
$foo[$categories['categories_id']] = array ('id' => $categories['categories_id'], 'name' => $categories['categories_name'], 'parent' => $categories['parent_id'], 'level' => 0, 'path' => $categories['categories_id'], 'next_id' => false);
а так же ниже меняйте:

$foo[$row['categories_id']] = array ('name' => $row['categories_name'], 'parent' => $row['parent_id'], 'level' => $key +1, 'path' => $new_path.'_'.$row['categories_id'], 'next_id' => false);
[/code] на:
[code]
$foo[$row['categories_id']] = array ('id' => $row['categories_id'], 'name' => $row['categories_name'], 'parent' => $row['parent_id'], 'level' => $key +1, 'path' => $new_path.'_'.$row['categories_id'], 'next_id' => false);
затем в /templates/vamshop/source/inc/vam_show_category_inc.php меняйте:

      $categories_string .=  ' Current">';

    } else {
      $categories_string .=  '">';

    }
[/code] на:
[code]
      $categories_string .=  ' '.$foo[$counter]['id'].' '.'Current">';
    } else {
      $categories_string .=  ' ' .$foo[$counter]['id']. '">';
    }

Теперь, по идее, точно будет id категории добавляться в бокс разделы.

А там уже в css можно добавить стили.

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

Доброго дня. Сделал как выше, id действительно добавляется, но почемуто стили не применяются

Вставляю в stylesheet.css:

.Catlevel0.1 a {
color:#f00;}[/code] Что неправильно делаю? Также пробовал
[code].CatLevel0.1,
.CatLevel0.1 a,
.CatLevel0.1 a:hover
  {
    color: red;
  }

тоже безрезультатно

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

Что-то у Вас пробел идёт после, т.е. так li class="CatLevel0 1 "

А должно быть так li class="CatLevel0 1"

и стиль тогда должен быть такой примерно:


li.CatLevel0.1 a,
li.CatLevel0.1 a:hover
{
color: red;
}
[/code]

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

Тогда чуть по-другому попрбуйте.

В /templates/vamshop/source/inc/vam_show_category_inc.php замените:


    if ( ($id) && (in_array($counter, $id)) ) {

      $categories_string .=  ' '.$foo[$counter]['id'].' '.'Current">';
    } else {
      $categories_string .=  ' ' .$foo[$counter]['id']. '">';
    }
      $categories_string .=  '<a href="';
[/code] на:
[code]
    if ( ($id) && (in_array($counter, $id)) ) {

      $categories_string .=  '-'.$foo[$counter]['id'].' '.'Current">';
    } else {
      $categories_string .=  '-' .$foo[$counter]['id']. '">';
    }
а в stylesheet.css добавьте:

#categoriesBoxMenu #CatNavi li.CatLevel0-1 a,
#categoriesBoxMenu #CatNavi li.CatLevel0-1 a:hover
{
color: blue;
}     
[/code]

У меня вроде нормально выделилась категория с id=1 синим цветом.

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

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

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

Проблема в том, что названием класса не может быть число li class="CatLevel0 1". Вот почему не применяются стили

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

Меняем в vam_shop_category.inc.php

$categories_string .=  ' Current">';

    } else {
      $categories_string .=  '">';

    }[/code] на
[code]$categories_string .=  ' '.c.$foo[$counter]['id'].' '.'Current">';//1
    } else {
      $categories_string .=  ' '.c.$foo[$counter]['id'].''.'">';
    }
в stylesheet.css
#categoriesBoxMenu #CatNavi li.CatLevel0.c1 a,
#categoriesBoxMenu #CatNavi li.CatLevel0.c1 a:hover
{
color: blue;
} [/code]

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