Я прервал рассмотрение Интернет-магазина компрессорного оборудования по вполне уважительной причине - мой давний знакомый вдохновился статьями о возможностях "Мультипарсера" и попросил сделать для него сайт по продаже женского белья.
Моему Монстрику предстояло пощупать кое-что более приятное, чем насосы, а мне - довести до ума рабочий процесс. В одной из предыдущих глав я подробно рассматривал заполнение Excel-файла для импорта товаров. Но тогда я ещё не знал, а может и знал, но не придавал значения (точно не помню), что кроме товаров и их категорий, в базе данных движка OpenCart существуют другие сущности - опции и фильтры - которые тоже нужно создавать. Про атрибуты я сейчас не упомянул потому, что у них произвольные значения. Это просто поля, в которые можно записывать какую угодно информацию.
А вот опции должны соответствовать значениям из справочника. Не возможно, например, создать вариант товара зелёного цвета, если в справочнике цветов есть только красный, жёлтый и голубой.
То же самое относится и к фильтрам. Их приходится назначать отдельно каждому товару. Даже если товар уже имеет опцию "Цвет" со значениями "Красный" и "Желтый", если мы хотим, чтобы у пользователя была возможность отбирать товар по цветам, то нужно создать фильтр "Цвет" с набором значений, присвоить товару значения фильтра из этого набора, и наконец прописать список значений фильтра для категории, чтобы эти значения отображались в панели поиска.
Звучит немного путано, но стоит затянуть в базу продукцию хотя бы одного производителя, и этот процесс окончательно устаканится!
Начинаем заполнять Интернет-магазин
С момента моей предыдущей публикации прошло без малого два месяца, и за это время "Мультипарсер" существенно развился. Но чтобы не томить аудиторию, рискуя потерять её интерес, я сначала покажу свою разработку в действии, пошагово опишу технологию наполнения сайта с помощью моей программы, а в последующих главах мы с вами заглянем под капот.
В арсенал моей программы, кроме парсера товаров, теперь входят парсеры для сбора опций и фильтров. То есть, перед началом работы непосредственно с товарами, мы должны получить файлы для импорта опций и фильтров. Их работу инициируют кнопки, обозначенные на следующем скриншоте стрелками 1 и 2.
При нажатии на эти кнопки, на экране появится уже знакомый диалог с прогрессбаром, только в ходе обработки будут собраны не товары, а справочники опций и фильтров, скриншоты которых показаны ниже.
Нам так же необходимо подготовить файл импорта категорий. Его предстоит сделать вручную - это всё-таки наш сайт, и ни кто кроме нас не сможет определить структуру его каталога.
На скриншоте показаны первый и третий лист книги для импорта категорий. Ко второму листу вернёмся чуть позже. В этот файл необходимо внести категорий товаров. Прописать все свойства: названия, метки, описания и сео-заголовки. Для последнего можно прибегнуть к помощи какого-нибудь онлайн-переводчика на транслит.
Во время заполнения магазина придётся работать с большим количеством файлов. На следующем скриншоте показана структура каталога, куда всё сложено.
Итак, видим. В каталоге создано несколько папок для отдельных подкатегорий и один, так называемый, общий каталог с файлами, содержащими глобальную информацию, которая относится ко всей номенклатуре в целом. Посмотрев на подкаталог Белья можно заметить, что некоторые файлы разбиты на тома: файл с бюстгальтерами поделён на два тома, а файл с трусами - на три. Об этой возможности я уже упоминал в одной из предыдущих статей канала - она чрезвычайно важна при работе с большими объёмами информации.
Однако, здесь стоит обратить внимание на ещё более интересную деталь - наличие в каталоге файлов, названия которых оканчиваются на "-filters". Мы уже создали файл для импорта фильтров и их значений, который сейчас находится в папке общих данных. Так зачем же здесь ещё несколько файлов с фильтрами?
Самое время вспомнить о втором листе файла категорий. На этом листе нужно прописать набор значений фильтров для каждой категории, чтобы у пользователя была возможность отбирать товары по этим критериям. Порядок действий следующий.
Есть у нас УРЛ какой-нибудь подкатегории. Например, Чулки > Классические. Запускаем для неё сбор фильтров, а затем, все значения, которые получились на второй вкладке файла 210 klassicheskie-filters.xlsx вставляем в третий столбец второй вкладки файла, в котором у нас прописаны категории товаров нашего магазина (первые два столбца заполняем самостоятельно). И заново импортируем категории в движок с помощью уже знакомого плагина.
И что получилось?
На первом рисунке этой статьи показана общая категория белья. На экран вперемежку попали бюстгальтеры, боди и трусы. Для чистоты эксперимента покажем теперь одну из подкатегорий - Боди.
На скриншоте показана справа вверху панель категорий, а ниже видно, что панель фильтра тоже присутствует. Единственное плохо то, что при длинном списке значений фильтров, колонка может сильно уезжать вниз. Но меня это не печалит, поскольку сейчас есть много плагинов, позволяющих сделать работу с этой панелью более приятной. Они выводят на экран только часть пунктов, а остальное пользователь может увидеть, кликнув соответствующую ссылку.
Работа по заполнению сайта продолжается. Когда настанет время устанавливать всякие фронтендовые "плюшки" обязательно напишу об этом в следующих статьях.