Добрый день, появилось несколько вопросов:
Как можно узнать есть ли покупатель с заданным email в БД магазина, и если есть - получить его данные - дату регистрации, фамилию и имя.
Можно посмотреть функции в fn.users.php
/app/functions/fn.users.php
Например:
function fn_is_user_exists($user_id, $user_data)
Куда нужно передать $user_data['email']
Должно сработать как то так:
<br />
$user_id = fn_is_user_exists(0, array('email' => 'dbazhenov@cs-cart.ru');<br />
<br />
$user_info = fn_get_user_info($user_id);<br />
<br />
Не проверял, но истина где то рядом ![]()
Доброе утро, спасибо, решение помогло, я вчера реализовал вот так:
[size=5][color=#808080]$user_data = db_get_row(“SELECT user_id, timestamp FROM ?:users WHERE email = ?s”, $email);[/color][/size]
Но, как по мне, ваше решение правильнее.
[quote name=‘Aleksey.Chuyan’ timestamp=‘1438760364’ post=‘225681’]
Доброе утро, спасибо, решение помогло, я вчера реализовал вот так:
[size=5][color=#808080]$user_data = db_get_row(“SELECT user_id, timestamp FROM ?:users WHERE email = ?s”, $email);[/color][/size]
Но, как по мне, ваше решение правильнее.
[/quote]
Ваше решение тоже.
Подскажите пожалуйста, интересуют php хуки на регистрацию юзера и на логаут?
[quote name='Aleksey.Chuyan' timestamp='1438764945' post='225689']
Подскажите пожалуйста, интересуют php хуки на регистрацию юзера и на логаут?
[/quote]
Что интересует то? Вы же в соседней теме нашли какие то хуки.
да, мне нужны хуки на логин, регистрацию и логаут. Для логина я взял sucess_user_login. А регистрацию нового пользователя и на выход пользователя из системы пока хуков не нашел.
Посмотрел, после успешной регистрации сразу срабатывает sucess_user_login, так что с этим разобрался.
А вот на логаут пользователя не могу найти пока хук, по логике, когда пользователь выходит мне необходимо затереть ненужные куки.
[quote name='Aleksey.Chuyan' timestamp='1438766872' post='225694']
да, мне нужны хуки на логин, регистрацию и логаут. Для логина я взял sucess_user_login. А регистрацию нового пользователя и на выход пользователя из системы пока хуков не нашел.
[/quote]
хуки это только один инструмент, можно же pre и post контроллеры делать в модуле.
Берём например logout .
Контроллер:
/app/controllers/common/auth.php
Нужный нам мод:
<br />
if ($mode == 'logout') {<br />
fn_user_logout($auth);<br />
<br />
return array(CONTROLLER_STATUS_OK, fn_url());<br />
}<br />
Мы можем уже в своём модуле сделать pre контроллер к этому контроллеру и моду.
Ну ладно поищем хуки.
Входим в функцию:
fn_user_logout
Видим, что там сессии и корзины сохраняются, пишется журнал событий, а потом видим:
fn_login_user();
Тоесть логин пустым юзером.
Входим в неё и видим условие, если есть user_id то одно делаем, если нету то другое и вконце хук
fn_set_hook('login_user_post', $user_id, $cu_id, $udata, $auth, $condition, $result);
Получается у задачи есть два решения , через хук и через pre контроллер.
Большое спасибо)))
По этой части все завелось)
[quote name=‘Aleksey.Chuyan’ timestamp=‘1438770110’ post=‘225712’]
Большое спасибо)))
По этой части все завелось)
[/quote]
Если Вы до этого дошли, то вы знаёте всё, всё, всё, по этой логике работает вся система, вся, вся, вся ![]()
Добрый день, подскажите пожалуйста, как лучше получить данные по товарам в корзине после логина пользователя.
[quote name='Aleksey.Chuyan' timestamp='1438862728' post='225892']
Добрый день, подскажите пожалуйста, как лучше получить данные по товарам в корзине после логина пользователя.
[/quote]
Смотре где.
Удобно с сессией, а то я через функции полез. Еще такой вопрос, по товару приходит инфо, а как можно достать url картинки товара?
[quote name='Aleksey.Chuyan' timestamp='1438868587' post='225899']
Удобно с сессией, а то я через функции полез. Еще такой вопрос, по товару приходит инфо, а как можно достать url картинки товара?
[/quote]
Где именно достать? Тут функцию нужно найти как в списке товаров они появляются.
Вот видео есть, где я рассказываю как картинки достать и отобразить
После успешного логина пользователя я получаю данные корзины и одним из обязательных полей является ссылка на картинку товара. Сейчас выглядит вот так
[color=#cc7832]function [/color][color=#ffc66d]fn_triggmine_get_cart_product_data_post[/color]([color=#9876aa]$hash[/color][color=#cc7832], [/color][color=#9876aa]$product[/color][color=#cc7832], [/color][color=#9876aa]$skip_promotion[/color][color=#cc7832], [/color][color=#9876aa]$cart[/color][color=#cc7832], [/color][color=#9876aa]$auth[/color][color=#cc7832], [/color][color=#9876aa]$promotion_amount[/color][color=#cc7832], [/color][color=#9876aa]$_pdata[/color]){
[color=#9876aa]$products [/color]= [color=#9876aa]$_SESSION[/color][[color=#6a8759]'cart'[/color]][[color=#6a8759]'products'[/color]][color=#cc7832];
[/color][color=#cc7832] [/color][color=#9876aa]$items [/color]= [][color=#cc7832];[/color][color=#cc7832] [/color][color=#808080]
[/color][color=#808080] [/color][color=#cc7832]foreach[/color]([color=#9876aa]$products [/color][color=#cc7832]as [/color][color=#9876aa]$product[/color]){
[color=#9876aa]$item [/color]= [][color=#cc7832];
[/color][color=#cc7832] [/color][color=#9876aa]$item[/color][[color=#6a8759]'CartItemId'[/color]] = [color=#9876aa]$product[/color][[color=#6a8759]'item_id'[/color]][color=#cc7832];
[/color][color=#cc7832] [/color][color=#9876aa]$item[/color][[color=#6a8759]'ImageUrl'[/color]] = [color=#6a8759]'$product[]'[/color][color=#cc7832];
[/color][color=#cc7832] [/color][color=#9876aa]$item[/color][[color=#6a8759]'ThumbnailUrl'[/color]] = [color=#6a8759]'$product[]'[/color][color=#cc7832];
[/color][color=#cc7832] [/color][color=#9876aa]$item[/color][[color=#6a8759]'Price'[/color]] = [color=#9876aa]$product[/color][[color=#6a8759]'price'[/color]][color=#cc7832];
[/color][color=#cc7832] [/color][color=#9876aa]$item[/color][[color=#6a8759]'Count'[/color]] = [color=#9876aa]$product[/color][[color=#6a8759]'amount'[/color]][color=#cc7832];
[/color][color=#cc7832] [/color][color=#9876aa]$item[/color][[color=#6a8759]'Title'[/color]] = [color=#9876aa]$product[/color][[color=#6a8759]'product'[/color]][color=#cc7832];
[/color][color=#cc7832] [/color][color=#9876aa]$item[/color][[color=#6a8759]'Description'[/color]] = [color=#6a8759]'$product[]'[/color][color=#cc7832];
[/color][color=#cc7832] [/color][color=#9876aa]$items[/color][] = [color=#9876aa]$item[/color][color=#cc7832];
[/color][color=#cc7832] [/color]}
[quote name=‘Aleksey.Chuyan’ timestamp=‘1438870529’ post=‘225903’]
После успешного логина пользователя я получаю данные корзины и одним из обязательных полей является ссылка на картинку товара. Сейчас выглядит вот так
[/quote]
Не понял зачем Вы лезете в хук get_cart_product_data_post? В котором уже есть $cart и там же опять берёте из сессии корзину.
Что Вы делаете, прекратите ![]()
))) Хук срабатывает сразу после логина пользователя. Попытался сделать то же самое с fn_triggmine_sucess_user_login, но в этом месте данные $_SESSION['cart'] еще не подгружены. Это больше тестовый вариант, сейчас хочу получить все данные и запустить модуль на тестовом стенде нашего проекта, потом буду оптимизировать код. Возможно у вас есть замечания или предложения, с удовольствием приму к сведению))
[quote name='Aleksey.Chuyan' timestamp='1438871700' post='225908']
))) Хук срабатывает сразу после логина пользователя. Попытался сделать то же самое с fn_triggmine_sucess_user_login, но в этом месте данные $_SESSION['cart'] еще не подгружены. Это больше тестовый вариант, сейчас хочу получить все данные и запустить модуль на тестовом стенде нашего проекта, потом буду оптимизировать код. Возможно у вас есть замечания или предложения, с удовольствием приму к сведению))
[/quote]
Этот хук может срабатывать много где в другом месте.
Замечания и пожелания будут у клиентов.
Да и без ТЗ и анализа смысла нет.
Нужно смотреть картину в целом, выкладывайте на github, чтобы можно было комменты и предложения оставлять.
Ок, на днях залью. Про хук, может посоветуйте, после загрузки пользователя необходимо получить данные по его корзине.