- Сообщений: 325
- Спасибо получено: 0
Как создать и настроить свой веб-сервер на VDS (05 сен 2024)
Осенью самое время заняться установкой и тюнингом своего веб-сервера. Не правда ли?
Вывод категорий в virtuemart 2.0.2b
- Sergey84
- Автор темы
- Не в сети
- Живу я здесь
1. Такая проблема возникла. Используя стандартный модуль вывода категорий (слева), он почему-то отображает только 2 уровня. Например, Женская одежда - Верхняя одежда. И все. Дальше никак. Третьего уровня не видно, а у меня в подкатегории Верхняя одежда еще несколько подкатегорий (пальто, шубы, куртки и пуховики). Выглядеть должно так:
Женская одежда
-Верхняя одежда
--Пальто
--Шубы
--Куртки и пуховики
2. И вторая проблема. При нажатии, например, на категорию Женская одежда должны появиться все подкатегории 2 уровня с изображениями в поле контента. А поле почему-то пустое.
Очень много модулей вывода категорий перепробовал. Ничего не помогло.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- serge
- Не в сети
- Модератор
- Сообщений: 988
- Спасибо получено: 146
Не вы один жалуетесь на этот недостаток второго VirtueMart. Попробуйте такое решение, оно описано на англоязычном форуме марта, да и не только там. Хак предоставляет возможность вывода всех товаров из категории и из ее подкатегорий. Учтите, имеется в виду принадлежность товара только одной категории, в ином случае хак способен отработать некорректно.
Находим
в котором производим следующие манипуляции:
1. Добавляем функцию в класс VirtueMartModelProduct, чтобы получить массив подкатегорий данной категории:
Разместить код необходимо внутри класса VirtueMartModelProduct.
2. Далее находим участок кода, ответственный за формирование условия принадлежности товаров данной категории (строка примерно 306 с учетом того, что уже сделали в п.1):
и меняем на этот код:
Примечание
Начиная с VM 2.0.18a имя таблицы '#__virtuemart_ product_categor ies' заменено алиасом 'pc', иных изменений, похоже, нет. Т.е. просто вместо '#__virtuemart_ product_categor ies' вставляем 'pc'.
3. Находим участок кода, отвечающий за формирование SQL-запроса для получения списка производителей для фильтра (это ориентировочно 1723 строка):
и меняем на этот код:
Теперь все товары из категории и подкатегорий отображаются одним списком, а также отображается список производителей в фильтре по производителю.
Дальнейшее развитие темы (если нужно). Выводим названия подкатегорий для товаров в списке категории. Для этого предпринимаем следующие шаги:
1. Сортировка товаров по категориям. Для этого в файле
находим код, определяющий порядок сортировки товаров (это примерно 376 строка):
Далее следуют варианты условия, для примера возьмем случай сортировки по категории:
Дополняем следующим образом:
Мы добились, что товары сортируются сначала по имени категории, затем по имени товара. Аналогично и для других вариантов (их выбирает пользователь в форме выбора сортировки, если она включена, а также назначается сортировка по умолчанию).
2. Теперь необходимо получить правильные имена категорий для товаров,т.к. сейчас для товаров назначается имя текущей категории, которая как бы у всех общая. Для этого в том же файле ищем функцию
в которой находим
Заменяем последнюю строку на
Тем самым получаем в $product->category_name имя категории товара.
3. Теперь нам только лишь осталось использовать полученные поля имен категорий в шаблоне вывода товаров категории ../html/com_virtuemart/category/default.php.
Находим участок кода, определяющий цикл для вывода товаров категории:
Его можно дополнить, например, вот эдак для вывода названий подкатегорий (это только в качестве примера, т.к. многое зависит от верстки шаблона):
Таким образом определен момент смены имени категории. И - выводим в этом случае новую категорию.
И еще далее. Вывод заголовков покатегорий в виде ссылок на категории.
В этом случае вывод подкатегорий организуем вот так:
А я смогу! - А поглядим! - А я упрямый!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Sergey84
- Автор темы
- Не в сети
- Живу я здесь
- Сообщений: 325
- Спасибо получено: 0
выполнил первые три пункта, как ты и написал. Выскочила ошибка -
Parse error: syntax error, unexpected T_PUBLIC in Z:\home\china-sbor-shop.ru\www\administrator\components\com_virtuemart\models\product.php on line 554
Дальше пока делать не стал.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- serge
- Не в сети
- Модератор
- Сообщений: 988
- Спасибо получено: 146
Sergey84 пишет: Выскочила ошибка - Parse error: syntax error...
выскочила и выскочила, это не самое главное. Результата удалось добиться? А с parse error дело поправимое.
А я смогу! - А поглядим! - А я упрямый!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Sergey84
- Автор темы
- Не в сети
- Живу я здесь
- Сообщений: 325
- Спасибо получено: 0
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Aleksej
- Не в сети
- Модератор
serge пишет: Попробуйте такое решение, оно описано на англоязычном форуме марта, да и не только там.
Sergey84 пишет: не удалось добиться, т.к. вместо сайта только белый экран с этой ошибкой.
Я попробовал, для интереса. Пробовал (описанные 3 шага) спервоначалу на старом VM - 2.0.18a, затем обновил версию до актуальной 2.0.2b. С подкатегориями особенно не заморачивался - нет времени, да и задачки у всех разные - но могу засвидетельствовать, что никакого белого экрана нет и в помине, и на старом Марте, и на новом. Думаю, хак вполне должен работать.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Sergey84
- Автор темы
- Не в сети
- Живу я здесь
- Сообщений: 325
- Спасибо получено: 0
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- serge
- Не в сети
- Модератор
- Сообщений: 988
- Спасибо получено: 146
Sergey84 пишет: Но я нашел другой способ. Скачал модуль вывода категорий. Вроде Accordion menu.
прикольно, а откуда скачал? Ссылку в студию.
А я смогу! - А поглядим! - А я упрямый!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Sergey84
- Автор темы
- Не в сети
- Живу я здесь
- Сообщений: 325
- Спасибо получено: 0
yadi.sk/d/hMj9ACYg57A3C
я его где-то с просторов нета выкачал. Он, по-моему, платный. Но я решил поступить по-русски :laugh: Искал в нем скрытые ссылки, ничего не нашел. На сайте работает нормально, глюков не наблюдается.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.