Две цены у товара

Уроки и советы по работе с TSVshop
ekcreate
Сообщения: 76
Зарегистрирован: 04 мар 2016, 12:08

Re: Две цены у товара

Сообщение ekcreate » 23 мар 2016, 12:56

так и сделал &gtp=`sale-5=newprice5;sale-10=newprice10` все работает, это дитто

не могу понять как добавить вторую цену newprice10 в карточку товара и корзину, для группы sale-10

ekcreate
Сообщения: 76
Зарегистрирован: 04 мар 2016, 12:08

Re: Две цены у товара

Сообщение ekcreate » 23 мар 2016, 13:19

разобрался, все получилось, я добавил еще плагин по аналогии, может не верно
но все равно остается ошибка следующая.. теперь он показывает всем авторизованным пользователям newprice10
и которые состоят в группе sale-5 с ценой newprice5 и которые просто авторизованны но не принадлежат никакой группе

admin
Администратор
Сообщения: 148
Зарегистрирован: 08 фев 2013, 13:53

Re: Две цены у товара

Сообщение admin » 23 мар 2016, 17:52

А можете привести код, который не работает? Или немного подробнее опишите, я просто не совсем понял, что не так. Спасибо.

ekcreate
Сообщения: 76
Зарегистрирован: 04 мар 2016, 12:08

Re: Две цены у товара

Сообщение ekcreate » 23 мар 2016, 17:56

Код: Выделить всё

// вешаем на событие TSVshopOnAddItem, TSVshopOnViewItemCard
global $tsvshop, $modx, $session;
$e = & $modx->Event;
include (MODX_BASE_PATH . "assets/snippets/tsvshop/include/config.inc.php");
include (MODX_BASE_PATH . "assets/snippets/tsvshop/include/cart.inc.php");
$tvnewprice = '25'; //номер ТВ с ценой для авторизованных
$group = 'Название группы'; //впишите нужно название группы

//Если срабатывает событие
if ($e->name == 'TSVshopOnAddItem') {
   $usergroups = $modx->getUserDocGroups(true);
   if ($modx->getLoginUserId() && in_array($group,$usergroups)) { // если авторизован
      $newprice = $modx->getTemplateVar($tvnewprice,'*',$_SESSION[$session]['orders'][$item]['url']); // новая цена
      if (!empty($newprice['value'])) {
         $_SESSION[$session]['orders'][$item]['price'] = $newprice['value'];
      }
   }
}

//Если срабатывает событие
if ($e->name == 'TSVshopOnViewItemCard') {
   $usergroups = $modx->getUserDocGroups(true);
   if ($modx->getLoginUserId() && in_array($group,$usergroups)) { // если авторизован
      $newprice = $modx->getTemplateVar($tvnewprice,'*',$itemid); // новая цена
      if (!empty($newprice['value'])) {
         $e->output(serialize(array('price'=>$newprice['value'])));
      }
   }
}


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

ekcreate
Сообщения: 76
Зарегистрирован: 04 мар 2016, 12:08

Re: Две цены у товара

Сообщение ekcreate » 23 мар 2016, 17:58

и тоже самое с ditto
тоесть нужна такая логика
все могут быть авторизованы или нет, но цену newprice10 показывать для группы sale-10 а цену newprice5 для группы sale-5

admin
Администратор
Сообщения: 148
Зарегистрирован: 08 фев 2013, 13:53

Re: Две цены у товара

Сообщение admin » 23 мар 2016, 18:02

По екстендеру. Т.е. все равно у вас неверно он работает даже после обновления?

По плагину.
А как вы указывали группы/параметры ? Их несколько указываете, как у Ditto ?

Просто этот плагин работает для одной группы и одного параметра. Чтобы сделать несколько групп, нужно немного подправить его по аналогии с екстендером. Если таое нужно, напишите, я сделаю

ekcreate
Сообщения: 76
Зарегистрирован: 04 мар 2016, 12:08

Re: Две цены у товара

Сообщение ekcreate » 23 мар 2016, 18:03

нужно)
я сделал второй плагин, по аналоги с первым кот орый вы показывали, видимо тут и не правильность

admin
Администратор
Сообщения: 148
Зарегистрирован: 08 фев 2013, 13:53

Re: Две цены у товара

Сообщение admin » 23 мар 2016, 18:16

А екстендер работает верно?

ekcreate
Сообщения: 76
Зарегистрирован: 04 мар 2016, 12:08

Re: Две цены у товара

Сообщение ekcreate » 23 мар 2016, 18:24

если пользователь просто авторизован но не в группе, и то то показывает стоимость newprice10

ekcreate
Сообщения: 76
Зарегистрирован: 04 мар 2016, 12:08

Re: Две цены у товара

Сообщение ekcreate » 23 мар 2016, 18:35

и все таки и то и то показывает при принадлежности к любой группе, цену newprice10 и если просто авторизован но не принадлежит к группе тожэе самое


Вернуться в «Как сделать ... ?»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость