ermouth: (Default)
[personal profile] ermouth

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

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

image

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

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

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

image

image

image

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

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

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

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

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

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

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

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

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

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

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

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

Ругайте )

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

Date: 2011-01-10 06:39 pm (UTC)
From: [identity profile] http://users.livejournal.com/_mu/
Выгружать заказы в 1с? Для того чтобы формировать документы продаж, например. Но для простенького магазина это все не шибко нужно, конечно.

Date: 2011-01-10 10:59 pm (UTC)
From: [identity profile] ermouth.livejournal.com
а, это несложно. внутренний 1С-ный id товара при всех этих пертурбациях не теряется, его достаточно.

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. 30th, 2025 08:30 am
Powered by Dreamwidth Studios