Перейти к содержимому


Фото
* * * * * 1 голосов

Две цены для зарегистрированных и обычных клиентов

cart price purchase order simpla user group

  • Чтобы отвечать, сперва войдите на форум
26 ответов в теме

#1 n1c

n1c
  • Пользователь
  • 253 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 10.03.2019 - 19:12

Привет друзья!

Решил сделать очередной метод "две цены", то есть 1-ю цену розничную видит просто зашедший клиент, в 2-ю опт цену видит зарегистрированный.

 

добавим в Variants.php в ф-ции get_variants и get_variant 

 v.price_2

в БД также сделаем price_2

 

далее в api/Cart.php после

$cart->purchases[] = $purchase;

добавим:

if(isset($_SESSION['user_id']) && $user = $this->users->get_user(intval($_SESSION['user_id'])))
{
   $cart->total_price += $item->variant->price_2*$item->amount;
}
else
{
   $cart->total_price += $item->variant->price*$item->amount;
}

в Orders.php в ф-цию update_total_price делаем по аналогии 

 

в шаблоне дизайна где цены добавим

		{if $user}
			{$purchase->variant->price_2|convert} {$currency->sign|escape}
		{else}
			{$purchase->variant->price|convert} {$currency->sign|escape}
		{/if}

Готово! Цена выводится, заказ принимается.

 

 

P.S.

Подскажите пожалуйста, если создать группу "ОПТ" id которой - id2

Что нужно в api/Cart.php 

вместо 

if(isset($_SESSION['user_id']) && $user = $this->users->get_user(intval($_SESSION['user_id'])))

чтобы вывести группу ИД которой 2 ?


Изменено: n1c, 10.03.2019 - 19:13


#2 n1c

n1c
  • Пользователь
  • 253 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 11.03.2019 - 00:09

Никто не знает, как сделать для группы с id???

#3 phukortsin

phukortsin
  • Фрилансер
  • 880 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 11.03.2019 - 09:49

Поиск надо использовать...

 

http://forum.simplac...те-с-условиями/

http://forum.simplac...ателям/?p=48780



#4 n1c

n1c
  • Пользователь
  • 253 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 12.03.2019 - 12:22

Поиск надо использовать...

 

http://forum.simplac...те-с-условиями/

http://forum.simplac...ателям/?p=48780

 

я видел эти темы, но в них нет того что я спрашивал.

как вывести в шаблоне {if $user->group_id == 2} это я знаю

а мне нужно:


Что нужно в api/Cart.php 

вместо 

if(isset($_SESSION['user_id']) && $user = $this->users->get_user(intval($_SESSION['user_id'])))

чтобы вывести группу ИД которой 2 ?



#5 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 7 168 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 12.03.2019 - 12:33

$group = $this->users->get_group(intval(2));
print $group->name;


#6 n1c

n1c
  • Пользователь
  • 253 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 12.03.2019 - 12:41

$group = $this->users->get_group(intval(2));
print $group->name;

 

подскажите пожалуйста куда это вставить?



#7 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 7 168 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 12.03.2019 - 13:25

подскажите пожалуйста куда это вставить?

Смотря для чего Вам это нужно.
Ну вот я сообщу Вам куда вставить и что дальше то?

#8 n1c

n1c
  • Пользователь
  • 253 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 12.03.2019 - 13:29

Смотря для чего Вам это нужно.
Ну вот я сообщу Вам куда вставить и что дальше то?

 

форум для того чтобы делиться и помогать.

я начал реализацию, но появились трудности в одной строке, я попросил помощи на форуме, вы сказали А своим кодом, но Б нужно вытягивать чтоли?



#9 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 7 168 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 12.03.2019 - 14:04

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

Вам лучше не стоит делать что-то дальше, Вы ведь даже не понимаете что делаете.

#10 n1c

n1c
  • Пользователь
  • 253 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 12.03.2019 - 14:06

Вам лучше не стоит делать что-то дальше, Вы ведь даже не понимаете что делаете.

ты местный хейтер?



#11 n1c

n1c
  • Пользователь
  • 253 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 12.03.2019 - 18:39

Друзья, есть кто знает что нужно прописать?

if(isset($_SESSION['user_id']) && $group = $this->users->get_group(intval(2)))

выводит цену для пользователей которые залогинены :angry:


Изменено: n1c, 12.03.2019 - 19:07


#12 Kosjak76

Kosjak76
  • Модератор
  • 3 829 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 12.03.2019 - 19:52

ЧТО ЗА ИДИОТИЗМ??????????

чтобы вывести группу ИД которой 2 ?

Куда вывести?

В каком виде?

Какое отношение ГРУППА имеет к цене????

Полный бред...

Если напишете, ЧТО именно надо - получите ответ.

А подобным говном не надо форум засорять))



И api/Cart.php цену НИКУДА НЕ ВЫВОДИТ

В этой функции вообще нет вывода



#13 Kosjak76

Kosjak76
  • Модератор
  • 3 829 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 12.03.2019 - 19:54

Вам дали ссылку на РАБОЧЕЕ решение, неоднократно проверенное

Но нет, надо группу выводить...



#14 n1c

n1c
  • Пользователь
  • 253 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 12.03.2019 - 20:00

ЧТО ЗА ИДИОТИЗМ??????????

Куда вывести?

В каком виде?

Какое отношение ГРУППА имеет к цене????

Полный бред...

Если напишете, ЧТО именно надо - получите ответ.

А подобным говном не надо форум засорять))



И api/Cart.php цену НИКУДА НЕ ВЫВОДИТ

В этой функции вообще нет вывода

 

еще раз повторюсь:

для того чтобы вывести в шаблоне нужно:

{if $user->group_id == 2}
  цена партнера
{else}
  цена розница
{/if}

тут вопросов нет.

 

в api/Cart.php уже есть (с мелким изменением):

				foreach($items as $variant_id=>$item)
				{	
					$purchase = null;
					if(!empty($products[$item->variant->product_id]))
					{
						$purchase = new stdClass();
						$purchase->product = $products[$item->variant->product_id];						
						$purchase->variant = $item->variant;
						$purchase->amount = $item->amount;

						$cart->purchases[] = $purchase;

						if(isset($_SESSION['user_id']) && $user = $this->users->get_user(intval($_SESSION['user_id'])))
						{
							$cart->total_price += $item->variant->price_2*$item->amount;
						}
						else
						{
							$cart->total_price += $item->variant->price*$item->amount;
						}
						
						$cart->total_products += $item->amount;
						
					}
				}

вот я и спрашиваю на что нужно заменить if(isset($_SESSION['user_id']) && $user = $this->users->get_user(intval($_SESSION['user_id']))) чтобы в шаблоне корзины total_price считал цену для пользователей которые входят во вторую группу



#15 phukortsin

phukortsin
  • Фрилансер
  • 880 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 12.03.2019 - 20:25

Может, Вам надо совсем не то, что Вы пишете, а чтобы в api/Cart.php для покупателей группы ID=2 считалось на основе цены price_2, а в прочих случаях на основе стандартной цены price ?

 

Если так, то пробуйте
if(isset($_SESSION['user_id']) && $user = $this->users->get_user(intval($_SESSION['user_id'])) && $user->group_id==2)



#16 n1c

n1c
  • Пользователь
  • 253 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 12.03.2019 - 20:33

Может, Вам надо совсем не то, что Вы пишете, а чтобы в api/Cart.php для покупателей группы ID=2 считалось на основе цены price_2, а в прочих случаях на основе стандартной цены price ?

 

Если так, то пробуйте
if(isset($_SESSION['user_id']) && $user = $this->users->get_user(intval($_SESSION['user_id'])) && $user->group_id==2)

 

да именно так и надо) в коде ведь это видно)

попробовал ваше решение, но увы....цена выводится стандартная для всех( :(



#17 phukortsin

phukortsin
  • Фрилансер
  • 880 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 13.03.2019 - 09:55

да именно так и надо) в коде ведь это видно)

попробовал ваше решение, но увы....цена выводится стандартная для всех( :(

 

"цена выводится стандартная для всех" - очередная Ваша небрежная фраза. Гадайте, ребята, что ТС накодил и на какой странице и в каком месте у него что не так - занятие может быть долгим и увлекательным...

 

Пока что с Вами ситуация в виде "они сами не знают, что они хочут"...

 

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

http://forum.simplac...ой-валютепоста/

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

 

И есть очень старая тема

http://forum.simplac...ям-покупателям/

Там довольно хорошо детально расписывается решение очень близкой задачи. А Вы велосипед изобретаете...



#18 n1c

n1c
  • Пользователь
  • 253 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 13.03.2019 - 16:40

"цена выводится стандартная для всех" - очередная Ваша небрежная фраза. Гадайте, ребята, что ТС накодил и на какой странице и в каком месте у него что не так - занятие может быть долгим и увлекательным...

 

Пока что с Вами ситуация в виде "они сами не знают, что они хочут"...

 

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

http://forum.simplac...ой-валютепоста/

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

 

И есть очень старая тема

http://forum.simplac...ям-покупателям/

Там довольно хорошо детально расписывается решение очень близкой задачи. А Вы велосипед изобретаете...

 

"цена выводится стандартная для всех"

Имею ввиду что выводится цена как для розничного покупателя (не зависимо входит человек во вторую группу, или нет).

Мое решение выглядит проще чем те что есть (не нужно много файлов править), вот и все :)  + в других решениях не затрагивается TOTAL_PRICE, то есть просто выводит цену, не меняя ее в ИТОГОвой цене корзины и заказа


Изменено: n1c, 13.03.2019 - 16:51


#19 Kosjak76

Kosjak76
  • Модератор
  • 3 829 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 13.03.2019 - 17:24

Вот как раз ТВОЯ говноподелка и не учитывает заказа и вывода цены пользователю

А существующее решение учитывает ВСЕ

Если бы ты не сношал людям моск а попробовал ПОСТАВИТЬ и ПРОВЕРИТЬ - ты бы в этом убедился...



#20 n1c

n1c
  • Пользователь
  • 253 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 13.03.2019 - 17:34

Вот как раз ТВОЯ говноподелка и не учитывает заказа и вывода цены пользователю

А существующее решение учитывает ВСЕ

Если бы ты не сношал людям моск а попробовал ПОСТАВИТЬ и ПРОВЕРИТЬ - ты бы в этом убедился...

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

даже если бы я не пробовал другое дополнение, чем плохо, что люди стараются пробовать другие решения???? 

форум на то и форум чтобы спрашивать и пр.


Изменено: n1c, 13.03.2019 - 17:37






Также с меткой «cart, price, purchase, order, simpla, user, group»

0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых