n1c Опубликовано 10 марта, 2019 Жалоба Поделиться Опубликовано 10 марта, 2019 (изменено) Привет друзья!Решил сделать очередной метод "две цены", то есть 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 ? Изменено 10 марта, 2019 пользователем n1c Цитата Ссылка на сообщение Поделиться на другие сайты
n1c Опубликовано 10 марта, 2019 Автор Жалоба Поделиться Опубликовано 10 марта, 2019 Никто не знает, как сделать для группы с id??? Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 11 марта, 2019 Жалоба Поделиться Опубликовано 11 марта, 2019 Поиск надо использовать... http://forum.simplacms.ru/topic/13387-%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D0%B8%D1%82%D0%B5-%D1%81-%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%B8%D1%8F%D0%BC%D0%B8/http://forum.simplacms.ru/topic/4153-разбивка-по-ценам-и-категориям-покупателям/?p=48780 Цитата Ссылка на сообщение Поделиться на другие сайты
n1c Опубликовано 12 марта, 2019 Автор Жалоба Поделиться Опубликовано 12 марта, 2019 Поиск надо использовать... http://forum.simplacms.ru/topic/13387-%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D0%B8%D1%82%D0%B5-%D1%81-%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%B8%D1%8F%D0%BC%D0%B8/http://forum.simplacms.ru/topic/4153-разбивка-по-ценам-и-категориям-покупателям/?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 ? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 12 марта, 2019 Жалоба Поделиться Опубликовано 12 марта, 2019 $group = $this->users->get_group(intval(2)); print $group->name; Цитата Ссылка на сообщение Поделиться на другие сайты
n1c Опубликовано 12 марта, 2019 Автор Жалоба Поделиться Опубликовано 12 марта, 2019 $group = $this->users->get_group(intval(2)); print $group->name; подскажите пожалуйста куда это вставить? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 12 марта, 2019 Жалоба Поделиться Опубликовано 12 марта, 2019 подскажите пожалуйста куда это вставить?Смотря для чего Вам это нужно. Ну вот я сообщу Вам куда вставить и что дальше то? Цитата Ссылка на сообщение Поделиться на другие сайты
n1c Опубликовано 12 марта, 2019 Автор Жалоба Поделиться Опубликовано 12 марта, 2019 Смотря для чего Вам это нужно.Ну вот я сообщу Вам куда вставить и что дальше то? форум для того чтобы делиться и помогать.я начал реализацию, но появились трудности в одной строке, я попросил помощи на форуме, вы сказали А своим кодом, но Б нужно вытягивать чтоли? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 12 марта, 2019 Жалоба Поделиться Опубликовано 12 марта, 2019 форум для того чтобы делиться и помогать. я начал реализацию, но появились трудности в одной строке, я попросил помощи на форуме, вы сказали А своим кодом, но Б нужно вытягивать чтоли?Вам лучше не стоит делать что-то дальше, Вы ведь даже не понимаете что делаете. Цитата Ссылка на сообщение Поделиться на другие сайты
n1c Опубликовано 12 марта, 2019 Автор Жалоба Поделиться Опубликовано 12 марта, 2019 Вам лучше не стоит делать что-то дальше, Вы ведь даже не понимаете что делаете.ты местный хейтер? Цитата Ссылка на сообщение Поделиться на другие сайты
n1c Опубликовано 12 марта, 2019 Автор Жалоба Поделиться Опубликовано 12 марта, 2019 (изменено) Друзья, есть кто знает что нужно прописать? if(isset($_SESSION['user_id']) && $group = $this->users->get_group(intval(2))) выводит цену для пользователей которые залогинены Изменено 12 марта, 2019 пользователем n1c Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 12 марта, 2019 Жалоба Поделиться Опубликовано 12 марта, 2019 ЧТО ЗА ИДИОТИЗМ?????????? чтобы вывести группу ИД которой 2 ?Куда вывести?В каком виде?Какое отношение ГРУППА имеет к цене????Полный бред...Если напишете, ЧТО именно надо - получите ответ.А подобным говном не надо форум засорять))И api/Cart.php цену НИКУДА НЕ ВЫВОДИТВ этой функции вообще нет вывода Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 12 марта, 2019 Жалоба Поделиться Опубликовано 12 марта, 2019 Вам дали ссылку на РАБОЧЕЕ решение, неоднократно проверенноеНо нет, надо группу выводить... Цитата Ссылка на сообщение Поделиться на другие сайты
n1c Опубликовано 12 марта, 2019 Автор Жалоба Поделиться Опубликовано 12 марта, 2019 ЧТО ЗА ИДИОТИЗМ??????????Куда вывести?В каком виде?Какое отношение ГРУППА имеет к цене????Полный бред...Если напишете, ЧТО именно надо - получите ответ.А подобным говном не надо форум засорять)) И 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 считал цену для пользователей которые входят во вторую группу Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 12 марта, 2019 Жалоба Поделиться Опубликовано 12 марта, 2019 Может, Вам надо совсем не то, что Вы пишете, а чтобы в 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) Цитата Ссылка на сообщение Поделиться на другие сайты
n1c Опубликовано 12 марта, 2019 Автор Жалоба Поделиться Опубликовано 12 марта, 2019 Может, Вам надо совсем не то, что Вы пишете, а чтобы в 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) да именно так и надо) в коде ведь это видно)попробовал ваше решение, но увы....цена выводится стандартная для всех( Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 13 марта, 2019 Жалоба Поделиться Опубликовано 13 марта, 2019 да именно так и надо) в коде ведь это видно)попробовал ваше решение, но увы....цена выводится стандартная для всех( "цена выводится стандартная для всех" - очередная Ваша небрежная фраза. Гадайте, ребята, что ТС накодил и на какой странице и в каком месте у него что не так - занятие может быть долгим и увлекательным... Пока что с Вами ситуация в виде "они сами не знают, что они хочут"... Вообще переделки работы с ценами - это довольно непростая вещь, потому что в системе много разных мест, где это используется, и надо ничего не упустить. Вот есть темаhttp://forum.simplacms.ru/topic/8602-%D0%B2%D0%B2%D0%BE%D0%B4-%D1%86%D0%B5%D0%BD-%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D0%BE%D0%B2-%D0%B2-%D0%BB%D1%8E%D0%B1%D0%BE%D0%B9-%D1%83%D0%B4%D0%BE%D0%B1%D0%BD%D0%BE%D0%B9-%D0%B2%D0%B0%D0%BB%D1%8E%D1%82%D0%B5%D0%BF%D0%BE%D1%81%D1%82%D0%B0/там решается сравнительно несложная задача, и то там разработчик проводил серьезные переделки раз 5, и, кажется, полностью до конца как следует не довел... И есть очень старая темаhttp://forum.simplacms.ru/topic/4153-%D1%80%D0%B0%D0%B7%D0%B1%D0%B8%D0%B2%D0%BA%D0%B0-%D0%BF%D0%BE-%D1%86%D0%B5%D0%BD%D0%B0%D0%BC-%D0%B8-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F%D0%BC-%D0%BF%D0%BE%D0%BA%D1%83%D0%BF%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%D0%BC/Там довольно хорошо детально расписывается решение очень близкой задачи. А Вы велосипед изобретаете... Цитата Ссылка на сообщение Поделиться на другие сайты
n1c Опубликовано 13 марта, 2019 Автор Жалоба Поделиться Опубликовано 13 марта, 2019 (изменено) "цена выводится стандартная для всех" - очередная Ваша небрежная фраза. Гадайте, ребята, что ТС накодил и на какой странице и в каком месте у него что не так - занятие может быть долгим и увлекательным... Пока что с Вами ситуация в виде "они сами не знают, что они хочут"... Вообще переделки работы с ценами - это довольно непростая вещь, потому что в системе много разных мест, где это используется, и надо ничего не упустить. Вот есть темаhttp://forum.simplacms.ru/topic/8602-%D0%B2%D0%B2%D0%BE%D0%B4-%D1%86%D0%B5%D0%BD-%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D0%BE%D0%B2-%D0%B2-%D0%BB%D1%8E%D0%B1%D0%BE%D0%B9-%D1%83%D0%B4%D0%BE%D0%B1%D0%BD%D0%BE%D0%B9-%D0%B2%D0%B0%D0%BB%D1%8E%D1%82%D0%B5%D0%BF%D0%BE%D1%81%D1%82%D0%B0/там решается сравнительно несложная задача, и то там разработчик проводил серьезные переделки раз 5, и, кажется, полностью до конца как следует не довел... И есть очень старая темаhttp://forum.simplacms.ru/topic/4153-%D1%80%D0%B0%D0%B7%D0%B1%D0%B8%D0%B2%D0%BA%D0%B0-%D0%BF%D0%BE-%D1%86%D0%B5%D0%BD%D0%B0%D0%BC-%D0%B8-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F%D0%BC-%D0%BF%D0%BE%D0%BA%D1%83%D0%BF%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%D0%BC/Там довольно хорошо детально расписывается решение очень близкой задачи. А Вы велосипед изобретаете... "цена выводится стандартная для всех"Имею ввиду что выводится цена как для розничного покупателя (не зависимо входит человек во вторую группу, или нет).Мое решение выглядит проще чем те что есть (не нужно много файлов править), вот и все + в других решениях не затрагивается TOTAL_PRICE, то есть просто выводит цену, не меняя ее в ИТОГОвой цене корзины и заказа Изменено 13 марта, 2019 пользователем n1c Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 13 марта, 2019 Жалоба Поделиться Опубликовано 13 марта, 2019 Вот как раз ТВОЯ говноподелка и не учитывает заказа и вывода цены пользователюА существующее решение учитывает ВСЕЕсли бы ты не сношал людям моск а попробовал ПОСТАВИТЬ и ПРОВЕРИТЬ - ты бы в этом убедился... Цитата Ссылка на сообщение Поделиться на другие сайты
n1c Опубликовано 13 марта, 2019 Автор Жалоба Поделиться Опубликовано 13 марта, 2019 (изменено) Вот как раз ТВОЯ говноподелка и не учитывает заказа и вывода цены пользователюА существующее решение учитывает ВСЕЕсли бы ты не сношал людям моск а попробовал ПОСТАВИТЬ и ПРОВЕРИТЬ - ты бы в этом убедился...перед тем как писать, что оно не до конца работает я проверил! даже если бы я не пробовал другое дополнение, чем плохо, что люди стараются пробовать другие решения???? форум на то и форум чтобы спрашивать и пр. Изменено 13 марта, 2019 пользователем n1c Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 13 марта, 2019 Жалоба Поделиться Опубликовано 13 марта, 2019 Имею ввиду что выводится цена как для розничного покупателя (не зависимо входит человек во вторую группу, или нет).То, что Вы имеете в виду, надо не утаивать, а сообщать ТОЧНО и ПОНЯТНО. В данном случае неизвестно, ГДЕ, НА КАКОЙ СТРАНИЦЕ, В КАКОМ МЕСТЕ неправильно выводится цена. И это, скорее всего, следствие Вашего изобретения, Вы в одном месте вывод изменили, а в другом - нет... Мое решение выглядит проще чем те что есть (не нужно много файлов править), вот и все + в других решениях не затрагивается TOTAL_PRICE, то есть просто выводит цену, не меняя ее в ИТОГОвой цене корзины и заказа От решения еще требуется, чтоб оно правильно функционировало на ВСЕХ страницах. А у Вас, как видно, пока выходит по принципу: одно строим, другое ломаем... А решение от WIZARD устроено так, что подставляет нужную цену всего лишь в одном файле, и все прекрасно работает, и не надо менять ни api/cart.php, ни в шаблонах (с чем Вы сейчас мучаетесь), ни в прочих местах... Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 13 марта, 2019 Жалоба Поделиться Опубликовано 13 марта, 2019 перед тем как писать, что оно не до конца работает я проверил! даже если бы я не пробовал другое дополнение, чем плохо, что люди стараются пробовать другие решения???? форум на то и форум чтобы спрашивать и пр.А ты его под админом проверял? Или нет?Админу всегда показывается цена обычная))) Сразу видно, что человек код читать не умеет...Проверять надо в браузере, в котором не залогинен в админкуИ тогда все работает на ура. И проверено это все не один десяток раз))) Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 13 марта, 2019 Жалоба Поделиться Опубликовано 13 марта, 2019 // Пользователь, если залогинен if(isset($_SESSION['user_id']) && !isset($_SESSION['admin'])) { $u = $this->users->get_user(intval($_SESSION['user_id'])); if($u && $u->enabled) { $user = $u; $group = $this->users->get_group($user->group_id); } } && !isset($_SESSION['admin'] Цитата Ссылка на сообщение Поделиться на другие сайты
n1c Опубликовано 13 марта, 2019 Автор Жалоба Поделиться Опубликовано 13 марта, 2019 А ты его под админом проверял? Или нет?Админу всегда показывается цена обычная))) Сразу видно, что человек код читать не умеет...Проверять надо в браузере, в котором не залогинен в админкуИ тогда все работает на ура. И проверено это все не один десяток раз)))согласен, мой косяк, не досмотрел код (зашел как админ).но все же хотелось бы свой вариант, не потому что мне надо именно так, нет, делаю для себя чисто стало интересно сделать. Цитата Ссылка на сообщение Поделиться на другие сайты
n1c Опубликовано 13 марта, 2019 Автор Жалоба Поделиться Опубликовано 13 марта, 2019 То, что Вы имеете в виду, надо не утаивать, а сообщать ТОЧНО и ПОНЯТНО. В данном случае неизвестно, ГДЕ, НА КАКОЙ СТРАНИЦЕ, В КАКОМ МЕСТЕ неправильно выводится цена. И это, скорее всего, следствие Вашего изобретения, Вы в одном месте вывод изменили, а в другом - нет... От решения еще требуется, чтоб оно правильно функционировало на ВСЕХ страницах. А у Вас, как видно, пока выходит по принципу: одно строим, другое ломаем... А решение от WIZARD устроено так, что подставляет нужную цену всего лишь в одном файле, и все прекрасно работает, и не надо менять ни 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'])) && $user->group_id==2) { $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'])) && $user->group_id==2) -- это ваш вариант изменения в шаблоне корзины стоит {if $group->id == 2} {($purchase->variant->price_2*$purchase->amount)|convert} {$currency->sign|escape} {else} {($purchase->variant->price*$purchase->amount)|convert} {$currency->sign|escape} {/if} Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.