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-09 01:46 am (UTC)
From: [identity profile] 802-11.livejournal.com
про дизаен и юзабилити рацпред
можно категории животных отрисовать иконками-кавайками в стиле лого, и расставить сеткой, удобнее станет навигация и первым юзерам (а, насколько я понимаю, существенная часть ЦА это virgin юзеры) легче будет разбираться в категориях. если тебе лень это делать, могу скетч набросать). текнологически изменения потребуются минимальные.

Date: 2011-01-09 02:44 am (UTC)
From: [identity profile] http://users.livejournal.com/_mu/
симпатично.
бросилось в глаза:
- при эмуляции переходов по страницами яваскриптом неплохо бы писать это в хистори браузера (чтобы кнопка "назад" работала, например)
- в иетестере, особенно в режиме эмуляции ие6 как то все мягко говоря разъезжается
- комбинация контролов +-х (в корзине) не самая понятная
на битриксе кстати упомянутая проблема с разной весовкой товаров решается не сложнее выбранного вами пути, но свой парсер (и вообще все свое) — более спортивный вариант, с т.з. разработчика конечно =)

Date: 2011-01-09 04:24 am (UTC)
From: [identity profile] rezkiy.livejournal.com
>>трудно сделать так, чтобы товар одновременно принадлежал двум категориям

Ты наверное хотел сказать "группам".

Потому что у тебя товар в дереве. А надо использовать свойства и категории. Делается с помощью регистра сведений и ПВХ. Ну это если я ничего не забыл.

Date: 2011-01-09 08:52 am (UTC)
From: [identity profile] nikolaswheatten.livejournal.com
"Для кошек, постоянно живущих в помещении, в возрасте с 10 лет на протяже­ниией жизни".

Надо бы вычитать базу.

Date: 2011-01-09 10:49 am (UTC)
From: [identity profile] service-picky.livejournal.com
а не должно быть подробного описания каждого товара, крупной фотки?

Date: 2011-01-09 11:57 am (UTC)
From: [identity profile] andrey-larin.livejournal.com
Ругать? Хвалить надо.

Date: 2011-01-09 04:15 pm (UTC)
From: [identity profile] lerka-amra.livejournal.com
ты действительно крут, йо

Date: 2011-01-11 05:24 pm (UTC)
From: [identity profile] dr-funk.livejournal.com
Все понра, а где же знак ру-бля? ;)

Date: 2011-01-16 01:24 pm (UTC)
From: [identity profile] adehoidar.livejournal.com
Здорово.

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. 29th, 2025 09:19 am
Powered by Dreamwidth Studios