Новости
- 16.02.2019 - Вышел Shopkeeper 4.0.3
- 05.02.2019 - Symfony для MODX-разработчиков
- 18.01.2019 - Вышел Shopkeeper 4.0.0, Обновлен сайт
- 15.11.2018 - Импорт/экспорт товаров в Shopkeeper 4
- 18.09.2018 - Вышел Shopkeeper v4.0-rc
- 14.09.2018 - Установка и обзор Shopkeeper4
- 29.07.2018 - Бесплатные базы данных MongoDB на 1 год
- 21.07.2018 - Критическая уязвимость MODX <=2.6.4
- 01.06.2018 - Тест производительности Shopkeeper 4
Последние темы
-
Не добавляется цена товара в корзину.
Поддержка9 -
Вышел Shopkeeper 4.0.3
Новости1 -
TagManager2 отображает в фильтре удаленные значения TV-полей
Поддержка7 -
Бесплатные базы данных MongoDB на 1 год
Новости7 -
Пересчет цены в зависимости от параметров
Поддержка3 -
CatalogFill: не работает импорт в таблицу MIGXDB
MODX - Вопросы и обсуждения15 -
TagManager2 при фильтрации на странице, ничего не происходит
Поддержка17 -
Не выводиться ID товара в письме
Поддержка2 -
Несколько значений checkbox для Formit
MODX - Вопросы и обсуждения2 -
Array в теле письма после оформления заказа
Поддержка5 -
Изменения товара на внешней части сайта modx
MODX - Вопросы и обсуждения10 -
tagManager2 отображает в фильтрации значения удаленных товаров
Поддержка1 -
Цена доставки (не получается найти)
Общие вопросы3 -
shopkeeper3 и цена в зависимости от площади
Поддержка9 -
Catalofill выдает 502 ошибку при загрузке 35 000+ позиций
Поддержка13 -
Получить имена и значения всех TV
Поддержка10 -
CatalogFill + MIGX (не shopkeeper)
Поддержка4 -
Symfony для MODX-разработчиков
Новости1 -
Shopkeeper2 другие цены у товаров в зависимости от выбранного способа оплаты
Поддержка7 -
Не добавляет товары через SHK.toCartFromArray
Поддержка4
Автоматическая регистрация покупателя при оформлении заказа
-
Тема со старого форума.
Хук для FormIt.
Как использовать:[[!FormIt? &hooks=`spam,register_fihook,email,FormItAutoResponder,redirect` ®isterGroupsList=`Покупатели` ... ]]
Код сниппета "register_fihook":
<?php /* Hook for FormIt. Registration on sent mail. Author: munk http://modx-shopkeeper.ru/forum/viewtopic.php?id=2260 Changed by Andchir [[!FormIt? &hooks=`spam,register_fihook,email,FormItAutoResponder,redirect` ®isterGroupsList=`Покупатели` ... ]] */ $hook->setValues(array('password' => '')); //Если пользователь залогинен выходим if($modx->getLoginUserID()) return true; $emailField = $modx->getOption('fiarToField',$hook->config,'email'); $registerGroupsList = $modx->getOption('registerGroupsList',$hook->config,''); //получаем данные формы $form_fields = $hook->getValues(); $username = !empty($form_fields[$emailField]) ? $form_fields[$emailField] : '';//username = email $email = !empty($form_fields[$emailField]) ? $form_fields[$emailField] : ''; $fullname = !empty($form_fields['fullname']) ? $form_fields['fullname'] : ''; $phone = !empty($form_fields['phone']) ? $form_fields['phone'] : ''; $address = !empty($form_fields['address']) ? $form_fields['address'] : ''; //проверяем есть ли такой пользователь в базе $count = $modx->getCount('modUser', array('username' => $username)); if($count > 0) return true; // пользователь с таким именем есть - выходим // создаем пользователя и сохраняем $user = $modx->newObject('modUser'); $password = $user->generatePassword($modx->getOption('password_generated_length',null,8)); $user->set('username', $username); $user->set('password', $password); $user->save(); // создаем профиль, добавляем к пользователю и сохраняем $profile = $modx->newObject('modUserProfile'); $profile->set('email', $email); $profile->set('fullname', $fullname); $profile->set('phone', $phone); $profile->set('address', $address); $user->addOne($profile); $profile->save(); $user->save(); //Добавляем пользователя в группу $registerGroupsList = $registerGroupsList ? explode(',',$registerGroupsList) : array(); //Список групп в уоторые добавить пользователя. $groups = array(); foreach($registerGroupsList as $groupName){ // получаем группу по имени $group = $modx->getObject('modUserGroup', array('name' => $groupName)); // добавляем пользователя в группу if(is_object($group)) $user->joinGroup($group->id, 1); } //Авторизуем пользователя $logindata = array( 'username' => $username, 'password' => $password, 'rememberme' => true ); // сам процесс авторизации $response = $modx->runProcessor('/security/login', $logindata); // проверяем, успешно ли if ($response->isError()) { // произошла ошибка $modx->log(modX::LOG_LEVEL_ERROR, 'Ошибка авторизации в $register-on-order. Message: '.$response->getMessage()); } else { //Отправляем пароль в письмо $hook->setValues(array( 'password' => $password )); } return true;
На сколько я понял первоначально отправлялось два письма, одно с данными авторизации, другое с данными заказа (через FormItAutoResponder). Теперь пользователю отправляется одно письмо через хук "FormItAutoResponder" в чанке письма пользователю (параметр &fiarTpl) доступен плейсхолдер:
Пароль: [[+password]]
Можно делать так:
[[+password:ne=``:then=` <p>Ваши данные для входа на сайт:</p> <p>Логин: [[+email]]</p> <p>Пароль: [[+password]]</p> `:else=``]]