Наверняка многие видели, как организована структура магазинов. Есть категории, есть подкатегории, а в них возможно еще подкатегории и т.д. И заходя например в категорию компьютеры, пользователь видит не только подкатегории (HP, Dell и т.д.), но и товары их этих подкатегорий.
На данный момент в JoomShopping это возможно реализовать если товару назначать две категории: Компьютеры и Модель компьютера. А это значит что для поисковых систем у Вас будет 2 ссылки на один и тот же товар.
Логическое решение данной проблемы, это выводить товары из подкатегорий в родительскую, но JoomShopping не имеет такой возможности.
По просьбе пользователей форума JoomlaForum.ru было сначало найдено просто решение от пользователя beagler. Но данное решение было основано на хаке ядра и вложенность подкатегорий для показа была всего 1.
Основываясь на данном решении я написал плагин, чтобы не хакать ядро и можно было решить этот вопрос все лишь в несколько кликов мышью.
Но и данное решение было не идеальным. Начали возникать конфликты. Все таки пришлось переписывать практически весь вывод категорий.
Первой недоработкой был вывод характеристик мультивыбора в списке товаров категории.
Потом был найден косяк с поиском (выводились все товары в независимости от запроса).
Следующим этапом стала несовместимость с фильтрами
Позже оказалось что товар может находится в двух подкатегориях что вызывало дублирование товаров в списке.
Последним пожеланием пользователей была сортировка отсутствующих товаров.
В итоге разработка была остановлена и работоспособность аддона стала порядка 80%. Конфликты с другими плагинами я уже не стал решать, так как это нужно было не мне. Код открытый, аддон бесплатный, кому надо тот подправит.

Но разработка JoomShopping продолжается и вышла версия 3.12.0. Пользователи аддона сразу заметили проблему с пагинацией. Вот тут я не смог устоять, и решил взглянуть на своё "детище" свежим взглядом. 
Решение пришло буквально за минут 10. Не про проблему пагинации. Про переписывание всего вывода категорий. Через полчаса уже была готова версия 2.0 без переписывания всего вывода категорий. Всего лишь менялся запрос товаров с учетом фильтров, поисков и т.д. но радоваться рано. Пагинация так и осталась тем слабым звеном во всей этой истории.
Подведу итог. Если Вы не используете один товар в разных подкатегориях, то это решение для Вас. Иначе будет выводится дополнительная страничка в пагинации. В версии 2.1 эта проблема исправлена, но только для версии JoomShopping выше 3.13.
Тестирование я думаю Вы понимаете что я проводил самостоятельно, и если Вы найдете недоработки в данном аддоне, то не стесняйтесь, пишите.

Версия 2.2: Оптимизирован вопрос дублирования, пагинации, фильтрации.

Версия 3.0: Аддон переработан в плагин, следовательно его установку необходимо производить через Joomla (Версию 2.3 предварительно удалить, если она была установлена).
Добавлена настройка уровня вложенности для отображения товаров (до 3-х уровней, так как более не имеет смысла).

Версия 3.0.1: Исправлен баг с сылками на товары из дочерних категорий (Теперь ссылка ведет на товар в дочерней категории, а не в текущей)


Отзыв
  • vmeling | 11.08.2017 |
    Какова же версия PHP?

    Поддержка короткого синтаксиса объявления массивов уже давно поддерживается
    http://php.net/manual/ru/migration54.new-features.php
  • dima81 | 10.08.2017 |
    Добрый день.
    Благодарю за Ваш труд, очень помог плагин с кнопками выбора количества товаров, а вот с этим что то не заработало.
    При установке выскакивает ошибка
    Parse error: syntax error, unexpected '[' in .../plugins/jshoppingproducts/pitpac/pitpac.php on line 25
    Плагин устанавливал вручную, указывая директорию в которую распаковал содержимое архива.
    Установлена Joomlа 2.5.14,
    joomshopping Version 3.20.2

    Буду признателен Вам за помощь.
© 2012 - 2017 Linfuby. Использование материалов с данного сайта разрешено только с предварительного согласия правообладателей. Все права на файлы, изображения, тексты и другой материал находящийся на данном сайте принадлежат их авторам и защищены авторским правом.