Commerce: динамическая цена и Views

Аватар пользователя CSoft CSoft 30 марта 2013 в 18:13

Всем привет!

Возникла интересная задача для магазина на Drupal Commerce. Для разных типов товаров есть свои правила ценообразования. Например, у данного производителя цена в $, переводим её в рубли, ещё, к примеру, прибавим 100 рублей. Получилась новая цена, ок. На странице товара она видна, всё хорошо.

Теперь делаем каталог на views - тут тоже вроде ок: цену товара выбираем в рассчитанном виде. А теперь самое интересное: фильтры! Ясен-красен, что при выводе цена обрабатывается на ходу и отображается, то есть - в базе не сохраняется, как кэш. Фильтровать не выйдет - только по исходной цене. Но для этого у нас есть такая штука:

/admin/commerce/config/product-pricing/pre-calculation

Это здорово, конечно, но работает ведь при ручном запуске Batch'a. А курсы валют меняются у нас каждый день - неудобно. Вроде бы в голове мелькает мысль сделать этот процесс через Queue - и пусть себе само по крону обновляет все цены каждую ночь.

Но это мысли, я пока лишь рою информацию, читаю орг, читаю оф. сайт коммерца, изучаю - как это всё работает. Поделитесь опытом, пожалуйста, - правильные ли у меня мысли или можно как-то проще решить задачу? Спасибо!

0 Thanks

Комментарии

Аватар пользователя CSoft CSoft 30 марта 2013 в 19:23
"CSoft" wrote:

Но для этого у нас есть такая штука

Ага, вьюс и на неё чихать хотел. Но нашёл вот это:

http://drupal.org/node/1020050

Всё также жду ваших постов здесь, господа :)

Аватар пользователя CSoft CSoft 30 марта 2013 в 19:34

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

Аватар пользователя Andruxa Andruxa 30 марта 2013 в 19:42

а зачем каждый день?

вчера курс был 30 и товар стоил 123,45р. а сегодня курс стал 29,99 и товар стал стоить 122,34р.

этот рубль с хвостиком кому-то греет душу или способен разорить магазин?
не верю.

сделайте цену 125р. - и покупателю удобнее, и курьеру будет проще искать сдачу,
установите для этой цены коридор, например - цена действительна при диапазоне курса от 30 до 31, если курс выйдет за пределы - менеджеру аларм: пора подкрутить цены

Аватар пользователя CSoft CSoft 30 марта 2013 в 19:45
"Andruxa" wrote:

а зачем каждый день?

Требование владельца магазина.

"Andruxa" wrote:

менеджеру аларм: пора подкрутить цены

Здорово - 8 тысяч товаров руками :) Спасибо, но давайте всё-таки подумаем над интересным вопросом в первом посте :)

Аватар пользователя Andruxa Andruxa 30 марта 2013 в 19:59
"CSoft" wrote:

Здорово - 8 тысяч товаров руками

нет, не 8000, а только те, у которых цена/курс = цена в уе опустилась ниже желаемого порога

"CSoft" wrote:

Требование владельца магазина.

просто ему надо ласково объяснить, что он дурачок

"CSoft" wrote:

давайте всё-таки подумаем над интересным вопросом в первом посте

не нахожу для себя ничего интересного - очередная блажь "эффективного собственника"

Аватар пользователя CSoft CSoft 30 марта 2013 в 20:05
"Andruxa" wrote:

просто ему надо ласково объяснить, что он дурачок

"Andruxa" wrote:

не нахожу для себя ничего интересного - очередная блажь "эффективного собственника"

Во-первых, есть немало товаров, у которых высокая цена. Там даже 20 копеек в сторону по курсу - уже деньги. Во-вторых, часто производители устраивают разные акции. Например, скашивают цену на 20%. И? Менять руками сотни товаров? Очень интересно Вы относитесь к автоматизации труда. Блажь... Да уж.

Давайте всё-таки по теме. Если Вам этот вопрос не интересен, а больше хотите пообщаться около темы, поделиться мыслями - прошу в ЛС.

Аватар пользователя Emelnov Emelnov 10 июня 2013 в 9:48

Может не совсем по теме , но думаю кому-нибудь пригодится.
Для ленивых, это подойдёт:
Простой модуль для отражения цены в форме добавления в корзину.
Дело в том что в views не отражается динамическая цена в этой форме.

Аватар пользователя aa2007 aa2007 13 октября 2013 в 22:54

Подскажите, как собственно заставить работать предварительный расчет? У меня есть правило - если цена выше 100 р., добавить наценку 50%. После запуска предварительного расчета, это правило все еще продолжает выполняться, хотя я думал оно должно было бы игнорироваться. А при отключении этого правила цена вновь становится оригинальной. Что я упускаю? Что делаю не так?