ermouth: (Default)
[personal profile] ermouth

Браза 2dostudio попросил сделать ему инет-версию оффлайновой сети зоомагазинов местных.

Получился zoo29.ru (клик на первую картинку – в магазин ):

image

Там всё суперудобно, можно сделать заказ без регистрации и вообще всё просто летает. Пока это бета – скажем, корзина не запоминается между сеансами, кое-где тексты неадеватные и картинки не очень. Поиска пока нет – но будет.

Заказывать уже можно, но осторожно. Да, Володя?

Ниже -- ещё скриншотеги и как делалось.

image

image

image

Вводные были примерно такие:

  • Есть склад в 1С, его надо синхронизировать со онлайн-стоком, скажем, ежедневно
  • Всё должно быть быстро, красиво и удобно

Сначала я подумал в сторону 1С-Битрикс, даже попробовал поковырять демо… Потом проанализировал базу. И вышло, что не перелопачивая структуру базы сделать на Битриксе ничего не получится.

И даже перелопатив базу, всё равно будет грустно, и вот почему.

Для одного, скажем, типа корма бывают упаковки разных весов. В битриксе без допиливания они будут показываться каждый отдельным товаром – хотя это один и тот же товар, с одинаковым названием, картинкой и описанием. Выбрать что-то в такой свалке будет трудно.

Есть ещё момент, это уже 1С-ное в чистом виде. Довольно трудно сделать так, чтобы товар одновременно принадлежал двум категориям – скажем, одна и та-же клетка подходит и для птиц, и для грызунов.

Короче, на Битрикс я плюнул, он кста ещё и чудовищно медленный.

Пришлось написать парсер, который разбивает 1С-ную базу на категории, группирует одинаковые товары с разной развесовкой и маркирует все товары тэгами (Кошки, Собаки, Котята, Корма, Здоровье, Гигиена и тп), ресэмплит картинки, а потом выгружает всё это на сервер. 37 килобайт яваскрипта.

В процессе парса 1C-ного XML (руки бы поотрывал за кириллические тэги) выяснилось, что после группировок и обезвоживания объём баз сокращается примерно в 60 раз. Это означает, что можно сразу, при открытии какого-то раздела сайта (Кошки там или собаки), загружать всю базу товаров для этого животного – несколько сотен наименований спокойно укладываются в 100 Кб. А уже загруженную базу фильтровать по тэгам.

Такой подход позволяет работать зоомагазину очень, очень, ОЧЕНЬ быстро. Совершенно кста неожиданный для меня результат – я полагал сначала делать всё по классической схеме.

Ну и ещё из интересного. При обкатке выснилось, что в описаниях товаров и заголовках есть длинные слова, которые рвут вёрстку. Так вот, я написал кусочек кода, который расставляет в длинных словах переносы. Длина кусочка кода – 7 строк ) Честно.

Плюс в зависимости от длины описания и заголовка карточки товаров верстаются немного по-разному.

Ругайте )

PS. Да, я знаю, что у меня очень узнаваемый стиль.

This account has disabled anonymous posting.
If you don't have an account you can create one now.
No Subject Icon Selected
More info about formatting

Profile

ermouth: (Default)
ermouth

November 2021

S M T W T F S
 123456
78910111213
14151617181920
21 222324252627
282930    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 28th, 2025 03:45 pm
Powered by Dreamwidth Studios