Урок 14. Альтернативное меню категорий

Дата публикации: 03-02-2014

Чтобы иметь доступ к просмотру всех уроков этого курса, оформите подписку в премиум раздел
каталог товаров

От автора: недавно на форуме поступил вопрос о том, как создать альтернативное меню категорий для каждого конкретного раздела. Что это значит? Например, у нас есть 3 корневые категории: Категория 1, Категория 2 и Категория 3. У каждой из них есть свои подкатегории. Задача заключается в том, чтобы вывести еще одно меню, в котором будут только указанные корневые категории и при клике на любую из них мы бы видели не полный аккордеон всех категорий, а только выбранную категорию с ее подкатегориями.

lesson

Все уроки курса:

Метки: ,

Комментарии (7)

  1. Игорь

    Добрый день!
    Хотелось бы узнать несколько моментов об уроке номер 14 и сравнить его с сайтом который я указал. И так ближе к делу
    Очень интересно сделан каталог в указанном сайте, вот только не могу понять как реализована БД и сам код. Дело в том, что на этом сайте множество товаров и категорий. Когда выбираешь категорию товара, допустим «Бытовая техника -> Крупная бытовая техника -> Холодильники», то на странице появляются товары, а слева фильтр по параметрам.
    В этом фильтре есть выбор «бренды», их там всего ничего, а товаров то много и когда выбираете бренд, то именно выдает холодильники, а не все товары относящиеся к бренду . Вот как реализовать такую сложную структуры?
    И еще хочу заметить что если мы выберем другую категорию допустим «Стиральные машины», то фильтр уже другой. Мой вывод что товары имеют какую-то таблицу с параметрами и это таблица параметров завязана с товарами и при переходе на категорию выбираются товары указанной категории + бренды к которым принадлежит товар и параметры товара.

    Может я не так все понял, но если Вы посмотрите, то может дадите несколько советов для того чтобы выставить меня на правильный путь?

    От сюда вопрос. В 14 уроке рассматривается подобный случай реализации каталога или я не правильно понял суть урока исходя от комментария автора урока?

    Или же все же будет подобный курс который можно будет купить? или же все таки премиум уроки по такой махине?

    Благодарю за внимание и извиняюсь за наглость.

    • Андрей Кудлай

      Игорь, здесь Вы говорите о двух немного разных вещах — категориях и фильтру по товарам в них. Относительно меню и категорий, то, скорее всего, структура таблицы категорий примерно такая же. А вот что касается фильтра по товарам, то для его реализации потребуется еще несколько дополнительных таблиц и много дополнительного кода. Уроки по созданию фильтра планируются в этом цикле, но по срокам их выхода пока ничего не могу сказать.

  2. Борис Пелевин

    Здравствуйте, Андрей! Подскажите пожалуйста, а как реализовать следующую возможность меню: Есть к примеру 0-я категория бренды и в ней более 300 дочерних категорий, как правильно вывести товары по брендам? Я пошел следующим путём, в таблице products создал столбец, и назвал его parent_brand в него поместил информацию о родителе (определенный id конкретного бренда), потом начал думать как вывести товары в данные категории и тут мозг уже закипел, но верного ответа пока не нашёл… Данный функционал очень интересен, потому как например: есть в каталоге категория автомобильных амортизаторов, в которой есть 3000 наименований автомобильных амортизаторов из них 500 амортизаторов подходят для другого раздела меню Спорт и тюнинг, однако необходимо, чтобы в разделе амортизаторы отображались все 3000, а в категории Спорт и тюнинг-спортивные амортизаторы только 500. Я думаю задача состоит в том, как одному конкретному товару задать 2 и более родителей. Прошу помочь со скриптом :)

    • Андрей

      Здравствуйте. Если говорить о брендах, то у них, как мне кажется, вложенность не предполагается — это не категории. Поэтому есть таблица брендов и есть таблица товаров. Один товар может относиться к одному бренду и никакой вложенности это не предусматривает, т.е. при выборе бренда — просто выбираются все товары, которые к нему относятся — это можно решить и Вашим способом через связующее поле.
      Если у Вас дополнительно встала задача связать один товар с несколькими родителями, тогда для этого лучше использовать связь многие ко многим, где потребуется связующая промежуточная таблица, которая свяжет таблицу товаров с родительской таблицей. Описание такой связи можно найти, например в этой статье.
      Что же касается хлебных крошек, то здесь, как Вы понимаете, мы не сможем показать в одном сегменте хлебных крошек нескольких родителей, поэтому придется брать только первого попавшегося родителя.

      • Борис Пелевин

        Огромное спасибо, прям вспомнил лекции по Microsoft Access в университете, да только было это лет 14 назад, с того времени многое подзабыл к сожалению, но благодаря ссылке многое вспомнил… Сейчас стараюсь навёрстывать, то что пропустил за эти годы, с БД думаю легко справлюсь, а вот PHP у меня, пока хромает… Может у Вас найдётся ссылка, где можно изучить вывод с помощью PHP один-ко-многим и многие-ко-многим? Ещё раз спасибо.

        • Андрей

          Пожалуйста)
          Относительно выборки, то это уже больше SQL, т.е. нужно просто научиться составлять запросы. В различных курсах эта тема встречается, точного места в конкретном курсе, к сожалению, не подскажу. Можно посмотреть этот урок, в нем как раз идет работа со связями многие-ко-многим. Ну и в Гугле можно поискать по запросу sql многие ко многим выборка — там есть достаточно много примеров выборки.

  3. Борис Пелевин

    И ещё при реализации товаров с несколькими родителями, думаю неизбежно встанет вопрос с хлебными крошками…

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Я не робот.

Spam Protection by WP-SpamFree