изменение бокса "категории"

Здравствуйте.
пытаюсь решить такой вопрос :
 в боксе "категории" нужно увеличить расстояние между названиями категорий,иначе получается слишком слитно и читать неудобно. через стили возможно поменять межстрочечный  интервал -- такой способ  в моем случае не подходит.

Интуитивно чувствую , что нужно менять файл  includes/modules/boxes/categories.php

примерно в этом месте :

 function initialize() {
      global $osC_CategoryTree, $cPath;

      $osC_CategoryTree->reset();
      $osC_CategoryTree->setCategoryPath($cPath, '<b>', '</b>');
      $osC_CategoryTree->setParentGroupString('', '');
      $osC_CategoryTree->setParentString('', '');
      $osC_CategoryTree->setChildString('', '<br />');
      $osC_CategoryTree->setSpacerString('&nbsp;', 2);
      $osC_CategoryTree->setShowCategoryProductCount((BOX_CATEGORIES_SHOW_PRODUCT_COUNT == '0') ? true : false);

      $this->_content = $osC_CategoryTree->getTree();



Но почему то не получается.

Может ,кто-нибудь знает,как решить эту проблему.

заранее спасибо )))





Внешний вид меняется в шаблоне (Templates). Вы куда то не туда полезли 
(Здесь есть изображение, скрытое от гостей. Для просмотра зарегистрируйтесь или залогиньтесь)

*

Love

В стилях дизайна находите вот это
div.column-box-contents
И изменяете там параметр line-height: на нужный вам. У меня стоит 18 пикселей

А если уж хочется сильно это сделать только в категориях.
То в файле templates/ваш_дизайн/modules/boxes/categories.php
меняете класс class="column-box-contents на свой личный и в стилях вот этот div.column-box-contents копируете, вставляете его снова, переименовываете на свой и прописываете line-height: на нужный вам

*

vinc

  • *
  • 15

это походу oscommerce 2.2, ну по крайней мере код знакомый. В этом же файле иди ниже, ищи:

  $categories_string .= '<br>';

добавь ещё один <br>, типа так:

  $categories_string .= '<br><br>';

и расстояние увеличится вдвое.

*

Love

это походу oscommerce 2.2, ну по крайней мере код знакомый. В этом же файле иди ниже, ищи:

  $categories_string .= '<br>';

добавь ещё один <br>, типа так:

  $categories_string .= '<br><br>';

и расстояние увеличится вдвое.
Фигня все это. Через стили в css можно это дело сделать плавно с шагом в 1 пиксель.

В стилях дизайна находите вот это
div.column-box-contents
И изменяете там параметр line-height: на нужный вам. У меня стоит 18 пикселей

А если уж хочется сильно это сделать только в категориях.
То в файле templates/ваш_дизайн/modules/boxes/categories.php
меняете класс class="column-box-contents на свой личный и в стилях вот этот div.column-box-contents копируете, вставляете его снова, переименовываете на свой и прописываете line-height: на нужный вам


На самом деле изменение  line-height не снимает проблемы-(я уже с ним экспериментировал )

 line-height меняет расстояние между строчками,если  название категории умещается в одну строчку-такой вариант работает.Если же (как в моем случае ) название категории не помещается в одну строку -то получается некрасиво. Вот я и ищу, где бы прописать так, чтоб в самой категории расстояние между строками было меньше ,чем расстояние между  разными категориями  (см. скрин- тут еще более-менее, но все равно чувствуется, что разделить надо )

 Что касается файла templates/ваш_дизайн/modules/boxes/categories.php - то там  так же эту проблему не решишь-
все что касается  названий категорий в этот файл вписывается пхп вставкой - и вводом каких-то новых стилей ничего не решается.(я проверял этот вариант еще до того как задавать вопрос))))  )

 

*

Love

В вашем случае тогда в файле includes/modules/boxes/categories.php
В этой 35 строке       $osC_CategoryTree->setChildString('', '<br />');
Добавить еще один br
      $osC_CategoryTree->setChildString('', '<br /><br />');

Другого выходя я не вижу. А между переносами в названии одной категории настроить через line-height

А если глядя на ваш рисунок и мой то я добился на своем через стили.

В вашем случае тогда в файле includes/modules/boxes/categories.php
В этой 35 строке       $osC_CategoryTree->setChildString('', '<br />');
Добавить еще один br
      $osC_CategoryTree->setChildString('', '<br /><br />');

Другого выходя я не вижу. А между переносами в названии одной категории настроить через line-height

А если глядя на ваш рисунок и мой то я добился на своем через стили.

Спасибо за подсказку. Однако  вариант с 2 тегами <br />   дает слишком большой отступ между названиями категорий.

я сделал так:   $osC_CategoryTree->setChildString('<div style="padding:2px;">', '</div>');


в этом случае можно регулировать величину отступа. 

« Последнее редактирование: 13 Мар 2018 03:36:11 am от Spido »
*

Love

Тогда мне кажется лучше вместо этого
<div style="padding:2px;">
написать вот это
<div style="padding-bottom:2px;">
Это даст отступы только снизу, а у вас отступы со всех сторон увеличатся.

Тогда мне кажется лучше вместо этого
<div style="padding:2px;">
написать вот это
<div style="padding-bottom:2px;">
Это даст отступы только снизу, а у вас отступы со всех сторон увеличатся.

Согласен))))

Друзья !!!! А как сделать, чтобы бокс "категории" был как в меню "Пуск", т.е. при наведении указателя мыши на категорию появлялась её подкатегория

*

Love

Друзья !!!! А как сделать, чтобы бокс "категории" был как в меню "Пуск", т.е. при наведении указателя мыши на категорию появлялась её подкатегория
Использовать JavaScript

А где именно там скрипт вставлять, подскажите !!!!

Здравствуйте.

Подскажите, может кто то уже решал похожую проблемму с деревом категорий:

При вводе длиных названий содержащих пробелы система дробит их на несколько строк.
однако вторая и последующая строки названия "уплывают" влево, нарушая структуру дерева.
Как можно добиться чтобы вторые и последующие строки оставались на том же уровне что и первая?.
пример:

Узел 1
Узел 2
  Узел 2.1.
  Узел 2.2.
    Узел 2.5. длинное
название

  Узел 2.3.
  Узел 2.4.
Узел 3

Или второй вариант - как отключить переносы названий на вторую строку?

*

Love

Поиск для чего на форуме, уже описывали такое тут.