Пользователь должен быть авторизирован или это для текущей сессии любого пользователя?
601 16.03.2015 16:07:09
Re: Скидка от суммы и подытога корзины (7 ответов, оставленных в Вопросы по разработке модулей и API системы)
602 16.03.2015 14:47:30
Re: Скидка от суммы и подытога корзины (7 ответов, оставленных в Вопросы по разработке модулей и API системы)
Спасибо большое! Заработало как надо!
А есть ли возможность принудительно устанавливать текущий CostId без модификации costapi?
Это метод \Catalog\Model\CostApi::setSessionDefaultCost()?
603 15.03.2015 21:20:40
Тема: Скидка от суммы и подытога корзины (7 ответов, оставленных в Вопросы по разработке модулей и API системы)
Заказчик дал следующее ТЗ:
"Здравствуйте! Необходимо реализовать смену типа цены товаров и пересчет суммы корзины для текущей сессии аналогично sotomore.ru
1. Тип цены текущего пользователя зависит от подытога текущей корзины.
Например:
0-10 000 = тип цены розничная с ID=2
10001-50000 = тип цены опт1 с ID=3
50001-100000 = тип цены опт2 с ID=23"
Немного изменил cost.api, чтобы тип цены по-умолчанию брался из сессии.
Далее написал обработчик события:
<?php
namespace Opt\Config;
class Handlers extends \RS\Event\HandlerAbstract
{
function init()
{
$this->bind('cart.addproduct.after1')
->bind('cart.update.after');
}
public static function checkprice($info)
{
//\Catalog\Model\CostApi::setSessionDefaultCost(2);
if (!$_SESSION['user_cost_id']) {
$_SESSION['user_default_cost_id']=\Catalog\Model\CostApi::getDefaultCostId();
$cost_id=\Catalog\Model\CostApi::getDefaultCostId() ;
}
else $cost_id=$_SESSION['user_cost_id'];
$cart=$info['cart'];
$cartinfo = $cart->getCartData(false,false);
flog($cost_id); //вывод в консоль firebug
flog( $cartinfo['total']);
if (( $cartinfo['total']<50000) &&( $cost_id!=1))
{
flog('yes');
$_SESSION['user_cost_id']=1;
//здесь необходимо обновить корзину
}
elseif (( $cartinfo['total']>=50000)&&( $cost_id!=2))
{
flog('yes2');
$_SESSION['user_cost_id']=2;
//здесь необходимо обновить корзину
};
return $info;
}
public static function cartUpdateAfter ($info)
{
$result=self::checkprice($info);
return $result;
}
public static function cartAddproductAfter ($info)
{
$result=self::checkprice($info);
return $result;
}
}====
но не ясно как перерасчитать корзину после смены ID типа цены в сессии $_SESSION['user_cost_id'] .
Пробовал разные методы модели корзины, но итог меняется только при следующем изменении корзины.
Например:
Товар с ценой 1=12000 и ценой2 = 10000. Цена1 меняется на цену2 после 50 000 руб.
при количестве 4 в корзине Итог= 48 000 руб
при количестве 5 в корзине Итог= 60 000 руб (меняется тип цены=цена2=10000)
при количестве 6 в корзине Итог= 60 000 руб
уменьшаем
при количестве 5 в корзине Итог= 50 000 руб
при количестве 4 в корзине Итог= 40 000 руб(тип цены меняется цена=цена1=12000)
Подскажите, пожалуйста, как же пересчитать элементы корзины и итог при изменении типа цены?
p.s. Так же не хватает событий на удаление из корзины в стандартной поставке.
604 26.01.2015 13:48:55
Re: Как программно удалить Все товары из списка сравнения (4 ответов, оставленных в Вопросы по разработке модулей и API системы)
Спасибо за исчерпывающий ответ!
Хорошо, что приводятся примеры кода, так как система новая, не все сразу понятно при доработке.
605 22.01.2015 19:41:51
Тема: Активация фильтра (3 ответов, оставленных в Вопросы по разработке модулей и API системы)
Возможно ли в админке сразу при загрузке страницы активировать блок фильтров по какому-либо признаку?
Пример:
Заказы только за текущий день - фильтр по дате=текущая дата.
606 22.01.2015 19:36:20
Re: Как программно удалить Все товары из списка сравнения (4 ответов, оставленных в Вопросы по разработке модулей и API системы)
Спасибо!
А каким образом через Jquery ? Или делать циклом по одному?
607 19.11.2014 23:59:14
Тема: Как программно удалить Все товары из списка сравнения (4 ответов, оставленных в Вопросы по разработке модулей и API системы)
Здравствуйте! Подскажите, пожалуйста, насчет сабжа.
Корзину очистить можно, а список по одному товару.
Понятно, что можно просто вызвать удаление 1 товара поочередно.
В контроллере блока увидел метод removeAll, в контроллере фронта такого нет.
608 17.11.2014 17:21:53
Re: Добавить пункт в меню каталога товаров (7 ответов, оставленных в Вопросы по работе с системой)
Как в облачном сервисе, так и в движке из коробки исправления в файлах шаблонов можно делать с помощью пункта меню "Управление-шаблоны"
У системы достаточно хорошее руководство пользователя и разработчика. Для всего остального есть "Заявки на платную поддержку". http://helpdesk.readyscript.ru/task/create/
609 16.11.2014 23:06:23
Re: Интересно ваше мнение относительно полей регистрации пользователей (15 ответов, оставленных в Вопросы по работе с системой)
Было бы неплохо привязывать поля (скрытие/отображение, обязательное заполнение) к способам доставки.
Например, доставка до точки вывоза не подразумевает заполнение адреса пользователя.
В данный момент адрес заполнять обязательно, даже если пользователь забирает товар в точке выдачи.
610 16.11.2014 22:41:53
Re: Для чего нужен literal? (2 ответов, оставленных в Вопросы по работе с системой)
http://www.smarty.net/docsv2/ru/languag … iteral.tpl
Кратко: то что в этом блоке будет обрабатываться "как есть".
611 13.11.2014 21:36:40
Re: Интересно ваше мнение относительно полей регистрации пользователей (15 ответов, оставленных в Вопросы по работе с системой)
Поддержу мнение Сергея. Большинство реальных покупателей оставляют все сведения о себе.
Надеюсь разработчики не будут убирать пошаговое оформление заказа и заменять его на одностраничное оформление, так любимое в России. На крупных зарубежных сайтах оно практически не представлено (ebay, aliexpress, computeruniverse)