Вверх

Блог
RSS лента

Virtuemart: настраиваем и делаем красивое меню категорий. Joomla 1.5

Наконец то появилось немного времени что бы дописать, или скорей написать давно запланированную статью. Думаю кто работает с компонентом магазина, особенно если делает дизайн под него, то есть верстает, то сталкивался с проблемой что бы не делал с меню, а оно не меняет величину отступа слева пунктов меню. На самом то деле можно попробовать использовать минусовый отступ в стилях, но это не выход. Почему то разработчики вставили жесткие пробелы с помощью спец символов "   ", аж три штуки налепили, правда они увеличиваются с уровнем вложенности. Зачем не понятно, если можно было просто применить стиль, и удобней и правильней. Мало того что там жестко прописаны отступы, там еще и жестко прописан курсив (font-style:italic;) у пунктов меню, что тоже не вписывается зачастую в дизайн. Но ничего, мы поправим ошибку или я бы сказал не доработку разработчиков. Кстати такая беда проявляется если вы выводите категории через стандартный модуль меню Virtuemart и выводите пункты меню списком.

Ну что же начнем исправлять. Первый шаг исправим курсив, вернее уберем его, если нужен будет потом то можно будет в стилях добавить. И так открываем через ФТП вот такой файл "ps_product_category.php" по адресу "administrator/components/com_virtuemart/classes/", копируем его на компьютер и открываем. Кстати я все время пишу что открываем такой то файл, но не когда не задумывался знает ли человек как его открыть, на само тот деле открыть можно несколькими способами, самый просто но не удобный в качестве редактирования это открыть через простой блокнот. Удобней способ это использовать macromedia dreamweaver, по ссылке можете найти новые версии и как им пользоваться. Я использую именно эту программу. Как то уже привык к ней. Когда мы разобрались чем лучше открывать подобные файлы, пойдем дальше.
В файле нужно найти такую вот строку "$highlighted_style="font-style:italic;" ) {" и удалить "font-style:italic;", то есть у вас получится "$highlighted_style=""". С курсивом разобрались, остались спец символы.

Их будем искоренять в этом же файле, но чуток ниже. Для этого нужно найти строку ". str_repeat("   ",$depth_list[$n]) . $catname" и соответственно убрать "   ". Правда после того как вы уберете эти спец символы, пункты будут без отступов, и теперь их нельзя будет отличить от вложенных подпунктов, и стили не помогут так как у всех пунктов меню один и тот же класс "sublevel". Но и это мы поправим, для этого нужно найти строку:

a title="'.$catname.'" style="display:block;'.$style.'" class="'. $css_class .'" href="'. $sess->url(URL."index.php?page=shop.browse&category_id=".$category_tmp[$row_list[$n]]["category_child_id"]) .'" '.$append.'>'

и заменить на вот такую:

a title="'.$catname.'" style="display:block;'.$style.'" class="'. $css_class . $depth_list[$n] .'" href="'. $sess->url(URL."index.php?page=shop.browse&category_id=".$category_tmp[$row_list[$n]]["category_child_id"]) .'" '.$append.'>'

Этой строкой мы сделали так, что бы у пунктов второго уровня вложенности был класс "sublevel1", а у третьего "sublevel2", и так далее по нарастающей.
После таких манипуляций вы сможете управлять всеми пунктами меню, как вложенными так и не вложенными с помощью Css что упрощает намного жизнь.

Надеюсь моя очередная статейка кому то облегчит разработку и с экономит вечно недостающее время.

Спасибо за внимание, заходите еще, обязательно будет что то новенькое!

Голосов пока нет

Комментарии

Хорошо но не супер

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

Ну это уже совсем для ленивых

Ну это уже совсем для ленивых :)
Да и часто люди прописывают свои названия класов или идентификаторы.

Отправить комментарий

 

Подробнее о форматировании

CAPTCHA
Если вы человек, то тогда введите символы изображенные на картинке ниже
Введите символы, изображенные на картинке.
Главная | Портфолио | Услуги | Контакты | Блог