Интернет-магазин часов Time Boutique

Главные вкладки

Аватар пользователя Stutzer Stutzer 9 июля 2010 в 15:41

Всем добрый день!

С радостью представляю наш новый проект — интернет-магазин наручных часов и подарком «Time Boutique».

Сайт не без косяков и, честно говоря, еще дорабатывается, но представление уже вполне составить можно. К тому же у заказчика с завидной регулярностью возникают новые идеи, так что сайт постоянно развивается.

Из стандартных модулей использовались:
ubercart, bueditor, bocu (спасибо xxandeadxx), поисковик lucene, colorbox, jquery_ui, jquery_update, currency_api, globalredirect, imagecache, imagecache_actions, menu_trails, token, transliteration и др. Основная часть кастомной функциональности реализована кастомными модулями (в кол-ве 18 штук)

Временный демо-аккаунт на всякий случай:
username
Demo_123

С удовольствием отвечу на ваши вопросы и приму замечания по делу.

Сайт сделан в студии labs42.com

Комментарии

Аватар пользователя XmasterX XmasterX 9 июля 2010 в 17:34

смотреть корзину — обычно там сумма и кнопка перейти к процессу заказа.

и вот эти огромные хинты - меня просто бесят, особенно с подзагрузкой, зачем?
там тоже изображение что и в списке товаров. но это моё мнение Smile

Аватар пользователя Stutzer Stutzer 9 июля 2010 в 19:21

XmasterX wrote:
смотреть корзину — обычно там сумма и кнопка перейти к процессу заказа.

С корзиной сложная ситуация из-за кэширования станиц для анонимов. Сейчас как раз решаем эту проблему путем аяксового запроса и получения актуальной информации по корзине для анонимов.

XmasterX wrote:
и вот эти огромные хинты - меня просто бесят, особенно с подзагрузкой, зачем?
там тоже изображение что и в списке товаров. но это моё мнение :)

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

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 9 июля 2010 в 19:39

Объясните, какую смысловую нагрузку несёт верхняя половина скрина?

В список сравнения и В избранное есть, но не работают. Это наверное потому что я аноним. Надо скрывать их вообще для анонимов.

Аватар пользователя Stutzer Stutzer 9 июля 2010 в 20:06

<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a> wrote:
Объясните, какую смысловую нагрузку несёт верхняя половина скрина?

Скрина? Что вы имеете ввиду?

<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a> wrote:
В список сравнения и В избранное есть, но не работают. Это наверное потому что я аноним. Надо скрывать их вообще для анонимов.

Нет, это потому что эти две функции мы сейчас прикручиваем, они не работают, да.

Аватар пользователя Ветер Ветер 9 июля 2010 в 21:12

неплохо.

несколько замечаний.

по моему шестеренки в шапке - перебор.

Магазин работает в Росси как я понял. В Росии нет штатов и провинций.

При поиске если товар не найден нужно надпись об этом выводить где-нибудь вверху, а то прокручивать влом
иногда стрелка очень долго крутится, и создается впечатление зависания (тормознутости)

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 9 июля 2010 в 21:16

"Stutzer" wrote:
Скрина? Что вы имеете ввиду?

Я имею ввиду видимую часть экрана, без прокрутки. Всё же у вас та же шняга, что и у других "наших" дизайнеров - погоня за какой то ненужной оригинальностью, в то время как покупателю это нафиг не упало. Ему нужен товар и только товар. У вас шапка "гуляет", не выполняет никакой функциональности.

Слайдер своей разработки? Поделиться не хотите ли Smile ?

Аватар пользователя Stutzer Stutzer 10 июля 2010 в 1:55

<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a> wrote:
Я имею ввиду видимую часть экрана, без прокрутки.

Шапка фиговая, да. В следующей версии планируем ее уменьшить значительно и перестроить.

<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a> wrote:
Слайдер своей разработки? Поделиться не хотите ли Smile ?

Вы имеете ввиду слайдер с ценой? Это кастомизированный jQueryUI виджет - ничего особенного.

Аватар пользователя alexandr.poddubsky alexandr.poddubsky 10 июля 2010 в 0:53

"<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a>" wrote:
Слайдер своей разработки? Поделиться не хотите ли Smile ?

слайдер его. Он над ним очень долго трудился, хотите его получить-заплатите.

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 10 июля 2010 в 1:54

shamaner, ты теперь отвечаешь за Stutzer?

Касательно "заплати". Я, например, если программист, который сделал мне модуль хочет добавить его в своё портфолио или выложить в паблик на орге, никогда не был против.

Аватар пользователя dudin.ie dudin.ie 13 июля 2010 в 10:53

Очень понравился Ваш сайт.
Все сделано грамотно и со вкусом. Налицо большая работа.
Разные бэкграунды для разных разделов каталога - супер!
Фильтр каталога просто великолепен! Очень хотелось бы узнать подробности про его реализацию.
И еще, как Вы реализовывали хинты в каталоге?

Аватар пользователя Stutzer Stutzer 13 июля 2010 в 17:09

dudin.ie wrote:
Очень хотелось бы узнать подробности про реализацию фильтра.

Фильтр написан абсолютно с нуля. Серверная часть, это класс фильтра, отвечающий за построение и перестроение фильтра, валидацию параметров фильтрации и подготовку условий фильтрации. При инициализации класса можно задать фиксированные (недоступные для пользователя) параметры фильтрации и переменные (пользовательские) параметры.
Клиентская часть - это два объекта JS, один отвечает за состояние хэша адресной строки, чтобы ссылка всегда соответствовала действительности, второй класс - сам фильтр (формирование запроса, отправка, получение данных то се...)

В-общем, как-то так.

dudin.ie wrote:
И еще, как Вы реализовывали хинты в каталоге?

Хинты сделаны при помощи jQ плагина imgPreview

Аватар пользователя dudin.ie dudin.ie 13 июля 2010 в 21:55

Stutzer wrote:
dudin.ie wrote:
Очень хотелось бы узнать подробности про реализацию фильтра.

Фильтр написан абсолютно с нуля. Серверная часть, это класс фильтра, отвечающий за построение и перестроение фильтра, валидацию параметров фильтрации и подготовку условий фильтрации. При инициализации класса можно задать фиксированные (недоступные для пользователя) параметры фильтрации и переменные (пользовательские) параметры.
Клиентская часть - это два объекта JS, один отвечает за состояние хэша адресной строки, чтобы ссылка всегда соответствовала действительности, второй класс - сам фильтр (формирование запроса, отправка, получение данных то се...)

В-общем, как-то так.

Класс!

Кстати, по задаче ajax корзины для анонимов при кешировании могу предложить решение, которое внедряю сам. Может Вам подойдет.
Я использовал Authcache + Сache router для кеширования. И Ajaxify Regions + Ubercart ajax cart
для AJAX-корзинки (со стандартным блоком корзинки Ajaxify Regions вроде не работают).

Аватар пользователя ihappy ihappy 13 июля 2010 в 22:35

Отличный сайт.
Сайт под часы как говорится.
Мне вот все нравится. Кроме одного.
Страницы не главное страницы отличаются от главной.
а так супер сайт.

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 15 июля 2010 в 23:23

Stutzer: А предустановленная шкала слайдера "от 0 р.до 60000 р." я так понял от фонаря забита жёстко? Ведь нулевой цены нет? Вот это недороботочка, просто серпом по яйцам если честно.

Логично было бы брать реальную МИНИМАЛЬНУЮ и МАКСИМАЛЬНУЮ цену по магазину и подставлять динамически в settings слайдера

Как раз разбираюсь с этим, не должно быть сложно

Аватар пользователя Stutzer Stutzer 16 июля 2010 в 0:12

<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a> wrote:
А предустановленная шкала слайдера "от 0 р.до 60000 р." я так понял от фонаря забита жёстко? Ведь нулевой цены нет? Вот это недороботочка, просто серпом по яйцам если честно.

вам, должно быть, очень больно находится в интернете, раз такие вещи вам серпом по... ))
Ситуация со слайдером вполне стандартная - я видел сотни слайдеров с диапазоном от 0 до N и не видел ни одного с ненулевой нижней границей. Следовательно, нулевая нижняя граница привычна для пользователя, а что привычно и понятно для пользователя - то хорошо.

<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a> wrote:
Логично было бы брать реальную МИНИМАЛЬНУЮ и МАКСИМАЛЬНУЮ цену по магазину и подставлять динамически в settings слайдера

Изначально так и было (касательно максимальной цены), однако сейчас в базе есть часы по несколько миллионов рублей, представьте как трудно с такой ценой деления выбрать диапазон цен, скажем, от 5К до 20К (которым обычно все и пользуются).

<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a> wrote:
Как раз разбираюсь с этим, не должно быть сложно

О да, передать переменную в JS - это не проблема ))

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 16 июля 2010 в 0:13

Так, я попытался получить макс и мин цены по магазину и вроде получилось

<?php

$res 

db_query("SELECT MIN(sell_price), MAX(sell_price) FROM uc_products"); 
while(
$arr db_fetch_array($res)) {
$min round($arr['MIN(sell_price)']);
$max round($arr['MAX(sell_price)']);
}
print 
'min price ='.$min.'<br />';
print 
'max price = '.$max;

?>
Аватар пользователя volocuga@drupal.org volocuga@drupal.org 16 июля 2010 в 0:19

Не соглашусь, коллега. Ладно с нулём. А высшая граница должна быть актуальной и привязанной к макс цене магазина. Сейчас у вас 60 тыщ, завтра выставят часики за лимон (или инфляция) и что? Лезть править ручками в файлы?

Аватар пользователя Stutzer Stutzer 16 июля 2010 в 0:49

<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a> wrote:
Не соглашусь, коллега. Ладно с нулём. А высшая граница должна быть актуальной и привязанной к макс цене магазина. Сейчас у вас 60 тыщ, завтра выставят часики за лимон (или инфляция) и что? Лезть править ручками в файлы?

Кажется, я понял о чем вы. Вы видимо о главной странице, согласен, там косяк, сейчас поправлю. Посмотрите как сделан слайдер в самом каталоге, я думаю вы измените свое мнение.

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 16 июля 2010 в 1:41

Да, кстати, огорчило то, что если выключить ява скрипт....по идее там должны быть по крайней мере голые инпуты Smile

Кстати, кто знает, как сделать, чтобы слайдер выводил мин и макс значения в двух разных инпутах? Jquery Ui всё в одном выводит Sad Как передавать их в фильтр вида в этом случае ?

Аватар пользователя Stutzer Stutzer 16 июля 2010 в 2:07

<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a> wrote:
Так, а как сделано вот это: "Часы в пределах 5 000, 10 000, 30 000" ?

В каком смысле как сделано?

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 16 июля 2010 в 2:15

Всмысле, кто эти значения нарезает. Не вручную же оно там забито. Модуль? Или средствами самого слайдера?

Ещё вопрос: есть ли способ (может встречалось решение) выводить значения, выдаваемые слайдеров в двуз разных полях?

Аватар пользователя Stutzer Stutzer 16 июля 2010 в 2:24

<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a> wrote:
Всмысле, кто эти значения нарезает. Не вручную же оно там забито. Модуль? Или средствами самого слайдера?

эти значения хранятся в виде друпал-переменных. Формы для их редактирования нет, поскольку в этом нет необходимости (пока во всяком случае).

<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a> wrote:
Ещё вопрос: есть ли способ (может встречалось решение) выводить значения, выдаваемые слайдеров в двуз разных полях?

как-то вы неравнодушны к теме слайдеров прям ) получить значение слайдера - это одна из его основных функций. Вставить его в поле - еще меньшая проблема.

Аватар пользователя Stutzer Stutzer 9 августа 2010 в 23:05

VasyOK wrote:
А как вы символ "Рубль" вставили?
Ну и традиционное мое замечание: 800*600 посмотрите.

под 800 на 600 не верстаю уже сто лет как. В наше время имеет смысл делать удобных версию для мобильных устройств, в частности для Touch интерфейсов, но заказчик посчитал это излишним.

"VasyOK" wrote:
А как вы символ "Рубль" вставили?

Поскольку вывод у меня реализован своим модулем (не вьюхами), то вывести любой html - не проблема.

"nuwak" wrote:
если не жалко, можете выложить код фильтров? посмотреть как они были реализованы.

Не жалко, хотя не думаю, что он вам принесет какой-либо пользы http://codepaste.ru/3745/

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 30 июля 2010 в 1:48

"VasyOK" wrote:
А как вы символ "Рубль" вставили?

во вьюхе, настройки поля -> переписать вывод

или использовать уберкартовский формат цены

Аватар пользователя NIKS_ArtReaktor NIKS_ArtReaktor 13 сентября 2011 в 19:40

Народ! а может кто подскажет. Как получить значение максимальной цены, при загрузке категории товара.
Я вывожу товары catalog/1 через views - и задаю сверху фильтры.
один из фильтров - это JS слайдер, двигая который "вводишь" цену в input Min Max.

Но я тоже столкнулся с траблом - нужна максимальная цена в категории, чтобы сразу указывать это в слайдере.

Позже создам статью, где конкретно опишу весь механизм каталога ubercart с помощью views + explose filters.

Есть идеи или решение Smile ?

Заранее благодарен...

Аватар пользователя rampage rampage 14 сентября 2011 в 15:03

"NIKS_ArtReaktor" wrote:
Это я туплю, или ГС - должно что-то означать? :)

ГС — аббревиатура, одно из значений которых говно сайт.
Но как по мне — сайт неплохой, пусть и один из.
А про какой слайдер вы говорите? Искал не нашел)

Аватар пользователя lemark lemark 15 сентября 2011 в 1:58

Градиент под фильтрами ужасен на мой взгляд. Очень неудачное сочетание цветов.
Смущает кардинально меняющиеся от страницы к странице оформление. На главной так, в каталоге сяк, на странице товара вообще фон черный.
Вообще главная страница смотрится лучше всего (за исключением ужасного градиента). На остальных с точки зрения оформления есть что поправить.
Подгружающиеся картинки товаров (при наведении) могут смутить пользователей медленного интернета.
В каталоге когда щелкаешь допустим на "новинки" в меню это никак не отображается. Т.е. по прежнему активен пункт "каталог".
Каталог не могу понять как сбросить фильтр. Т.е. выбираю какую-то марку, он мне ничего не находит, я хочу сбросить фильтр. Но кнопки не нашел. Кнопка "все" к желаемому результату не привела.

Ну и последний пункт это уже к Вашему заказчику: "© «Time Boutique», 2009 — 2010" - неправильный копирайт. Точнее говоря абсолютно бесполезный. Нужно как минимум сокращенное фирменное наименование (т.е. с ООО\ЗАО\ЧП или что у него там) чтобы копирайт имел хоть какую-то юридическую силу. Иначе разве что ради красоты можно такое вешать.

Аватар пользователя ErmaK88 ErmaK88 20 сентября 2011 в 11:25

Сайт не оптимизирован должным образом

Time Boutique — магазин часов и подарков | время - стиль - мода

зачем в тайтле "время - стиль - мода"

href="/cart">вашей корзине пропишите нофолоу, дабы вес не уходил куда попало
ну и тд и тп ))