Скрипт магазина для вашего бизнеса

PHP скрипт интернет-магазина

ShopCMS.Ru

Профессиональный скрипт интернет-магазина

ShopCMS – быстрый и удобный скрипт интернет-магазина!
Всё самое лучшее создано для Вас и Ваших покупателей!
Главная Новости Купить Хостинг Клиентам Услуги Файлы Контакты Форум

Разные цены для разных групп пользователей на фронте сайта

Обсуждение вопросов так или иначе связанных с ShopCMS.

Разные цены для разных групп пользователей на фронте сайта

Сообщение dv8 » 17 ноя 2010, 12:56

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

например - без регистрации (группа "гость") - цена=0
для группы "опт" - цена=10
dv8
Новичок
 
Сообщения: 4
Зарегистрирован: 17 сен 2010, 14:05

Re: Разные цены для разных групп пользователей на фронте сай

Сообщение Tourbillon » 12 июн 2013, 12:58

Мне тоже этот вопрос важен, но мне бы попроще - для гостей цен нет вообще, а для зарегистрированных цена видна.
Tourbillon
Активист
 
Сообщения: 23
Зарегистрирован: 20 июн 2008, 15:56

Re: Разные цены для разных групп пользователей на фронте сай

Сообщение badisoft » 12 июн 2013, 19:21

Используйте в шаблоне элемент массива $_SESSION['log'], он определен только когда клиент зарегистрировался (залогинился). Из шаблона к нему можно получить доступ как {$smarty.session.log}.
Т.е. для показа цен только зарегистрированным ползователям надо в шаблоне (шаблонах!) написать что-то типа:
Код: Выделить всё
{if $smarty.session.log}тут_вывод_цены{else}тут_отсутствие_цены{/if}


Или прямо в функции show_price (файл function.php) использовать if ($_SESSION['log']) для выдачи пустого результата этой функции или строки типа "доступно только после регистрации", т.к. практически везде в конечной выдаче цены используется эта функция. Но таки не совсем везде.
Бесплатные модули к ShopCMS - http://cpu.badisoft.ru
badisoft
Старейшина
 
Сообщения: 327
Зарегистрирован: 15 фев 2012, 19:12

Re: Разные цены для разных групп пользователей на фронте сай

Сообщение Tourbillon » 17 июн 2013, 10:16

Код: Выделить всё
<td class="price" id="optionPrice">{if $log ne "" }<!--Закрываем цену от незарегистрированных пользователей-->{if $currencies_count ne 0}{if $product_info.Price <= 0}{$smarty.const.STRING_NOPRODUCT_IN}{else}{$product_info.PriceWithUnit}{/if}{/if}<!--Закрываем цену от незарегистрированных пользователей-->{else}<p>Цены могут видеть только зарегистрированные пользователи</p>{/if}</td>


так тоже хорошо и просто работает, но как работать с конкретными группами, как открыть/закрыть кусок публичной части магазина ТОЛЬКО для какой-то КОНКРЕТНОЙ группы, - вот в чем вопрос(((.
Tourbillon
Активист
 
Сообщения: 23
Зарегистрирован: 20 июн 2008, 15:56

Re: Разные цены для разных групп пользователей на фронте сай

Сообщение badisoft » 17 июн 2013, 20:19

так тоже хорошо и просто работает, но как работать с конкретными группами, как открыть/закрыть кусок публичной части магазина ТОЛЬКО для какой-то КОНКРЕТНОЙ группы,

ИМХО, проблема исключительно в отсутствии опыта писания под shopCMS (он прибретается путем проб и ошибок, но только если что-то делать), т.к. задача, на мой взгляд, простейшая.
1. На уровне PHP, как уже было написано, есть $_SESSION['log'].
2. По этой переменной (если она установлена) штатной функцией GetCustomerGroupByCustomerId() определяется группа. что-то типа
$res=GetCustomerGroupByCustomerId($_SESSION['log'])
3. Полученный custgroupID присваивается какой либо Smarty-переменной. Что-то типа
$smarty->assign('custgroupID',$res['custgroupID']);
4. Используя эту Smarty-переменную показываем (либо не показываем) какую-либо часть сайта.
{if $custgroupID==xxx}.....{/if}
Бесплатные модули к ShopCMS - http://cpu.badisoft.ru
badisoft
Старейшина
 
Сообщения: 327
Зарегистрирован: 15 фев 2012, 19:12

Re: Разные цены для разных групп пользователей на фронте сай

Сообщение Tourbillon » 19 июн 2013, 15:32

badisoft писал(а):
так тоже хорошо и просто работает, но как работать с конкретными группами, как открыть/закрыть кусок публичной части магазина ТОЛЬКО для какой-то КОНКРЕТНОЙ группы,

ИМХО, проблема исключительно в отсутствии опыта писания под shopCMS (он прибретается путем проб и ошибок, но только если что-то делать), т.к. задача, на мой взгляд, простейшая.
1. На уровне PHP, как уже было написано, есть $_SESSION['log'].
2. По этой переменной (если она установлена) штатной функцией GetCustomerGroupByCustomerId() определяется группа. что-то типа
$res=GetCustomerGroupByCustomerId($_SESSION['log'])
3. Полученный custgroupID присваивается какой либо Smarty-переменной. Что-то типа
$smarty->assign('custgroupID',$res['custgroupID']);
4. Используя эту Smarty-переменную показываем (либо не показываем) какую-либо часть сайта.
{if $custgroupID==xxx}.....{/if}


спасибо за мысль, будем пробовать)))
Tourbillon
Активист
 
Сообщения: 23
Зарегистрирован: 20 июн 2008, 15:56

Re: Разные цены для разных групп пользователей на фронте сай

Сообщение Tourbillon » 20 июн 2013, 13:24

badisoft писал(а):
так тоже хорошо и просто работает, но как работать с конкретными группами, как открыть/закрыть кусок публичной части магазина ТОЛЬКО для какой-то КОНКРЕТНОЙ группы,

ИМХО, проблема исключительно в отсутствии опыта писания под shopCMS (он прибретается путем проб и ошибок, но только если что-то делать), т.к. задача, на мой взгляд, простейшая.
1. На уровне PHP, как уже было написано, есть $_SESSION['log'].
2. По этой переменной (если она установлена) штатной функцией GetCustomerGroupByCustomerId() определяется группа. что-то типа
$res=GetCustomerGroupByCustomerId($_SESSION['log'])
3. Полученный custgroupID присваивается какой либо Smarty-переменной. Что-то типа
$smarty->assign('custgroupID',$res['custgroupID']);
4. Используя эту Smarty-переменную показываем (либо не показываем) какую-либо часть сайта.
{if $custgroupID==xxx}.....{/if}



Попобовал и ничего не понял...запутался еще больше...я конечно не программер, а дизайнер, php не использую практически, может поэтому ничего и не получается. Насколько я вижу GetCustomerGroupByCustomerId() присваивает значение группы пользователю путем выбора админом из списка уже готовых. А как просто вытащить опреленный ID группы обращаясь к базе данных используя в качестве ключа логин зашедшего пользователя...Помогите, пожалуйста, можете объяснить для тех кто в танке, если есть время, конечно.
Tourbillon
Активист
 
Сообщения: 23
Зарегистрирован: 20 июн 2008, 15:56

Re: Разные цены для разных групп пользователей на фронте сай

Сообщение namer » 20 июн 2013, 14:42

GetCustomerGroupByCustomerId(regGetIdByLogin($_SESSION["log"]))
Всё для shopcms только на http://shopkod.ru/
Аватара пользователя
namer
Старейшина
 
Сообщения: 777
Зарегистрирован: 21 июл 2008, 12:21
Откуда: Красноярск

Re: Разные цены для разных групп пользователей на фронте сай

Сообщение Tourbillon » 23 июл 2013, 13:43

namer писал(а):GetCustomerGroupByCustomerId(regGetIdByLogin($_SESSION["log"]))

спасибо. но, я конечно вижу, что это вложенная функция и представляю какой результат она должна выдавать, только вот синтаксически нифига не получается никуда и никак ее впихнуть...я уже от безнадеги даже в <script ... пробовал вставлять, вдруг там заработает....Помогите, пожалуйста :roll:
Tourbillon
Активист
 
Сообщения: 23
Зарегистрирован: 20 июн 2008, 15:56

Re: Разные цены для разных групп пользователей на фронте сай

Сообщение mixer » 23 июл 2013, 15:57

вставляется (почти) в любой include файл ... к примеру в home.php или еще куда...
в виде
Код: Выделить всё
        $customergroup = GetCustomerGroupByCustomerId(regGetIdByLogin($_SESSION["log"]));
        $smarty->assign("customergroup",$customergroup);


потом используется в любом шаблоне... просто или в уcловии
Код: Выделить всё
{$customergroup.custgroupID}
{$customergroup.custgroup_name}
{$customergroup.custgroup_discount}
{$customergroup.sort_order}

{if $customergroup.custgroupID == 0}
{/if}

и т.д.
Учите матчасть. Все просто но нужно прилагать усилия.
Аватара пользователя
mixer
Старейшина
 
Сообщения: 217
Зарегистрирован: 07 июл 2011, 02:59
Откуда: Хабаровск

Re: Разные цены для разных групп пользователей на фронте сай

Сообщение Tourbillon » 24 июл 2013, 11:14

mixer писал(а):вставляется (почти) в любой include файл ... к примеру в home.php или еще куда...
в виде
Код: Выделить всё
        $customergroup = GetCustomerGroupByCustomerId(regGetIdByLogin($_SESSION["log"]));
        $smarty->assign("customergroup",$customergroup);


потом используется в любом шаблоне... просто или в уcловии
Код: Выделить всё
{$customergroup.custgroupID}
{$customergroup.custgroup_name}
{$customergroup.custgroup_discount}
{$customergroup.sort_order}

{if $customergroup.custgroupID == 0}
{/if}

и т.д.
Учите матчасть. Все просто но нужно прилагать усилия.

если бы не прилагал усилия, просто конючил бы дайте готовый код...самому интересно...делал отдельный пхп файл с отработкой функции, потом "инклудил" его куда мне нужно, но в tpl вставка пхп не хочет работать...и никто не хочет объяснить "почему"...а в инете подобные проблемы описаны слишком "обще"...вот и обращаюсь здесь к программерам, которым данная тема куда ближе, чем мне...
Tourbillon
Активист
 
Сообщения: 23
Зарегистрирован: 20 июн 2008, 15:56

Re: Разные цены для разных групп пользователей на фронте сай

Сообщение badisoft » 24 июл 2013, 12:06

потом "инклудил" его куда мне нужно, но в tpl вставка пхп не хочет работать

http://www.smarty.net/docsv2/ru/languag ... on.php.tpl
http://www.php.su/include
Какой-то у Вас странный подход - прилагать усилия, но не читать документацию.
Бесплатные модули к ShopCMS - http://cpu.badisoft.ru
badisoft
Старейшина
 
Сообщения: 327
Зарегистрирован: 15 фев 2012, 19:12

След.


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

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

cron
Copyright © 2000-2011 phpBB Group. Все права защищены.
Отдел продаж: sales@shopcms.ru