Андрей Шевяков
С нами с 28 сентября 2016; Место в рейтинге пользователей: #108[FetchIt] - Форма с валидацией номера телефона и выбором страны
Привет форум!
Решил раскрыть такой кейс, как форма с полем ввода номера телефона, ведь с такой задачей разработчик сталкивается частенько. Она далеко непростая и имеет подводные камни. Так давайте же нырнём и первое, что нужно сделать — это разбить её на подзадачи.
Решил раскрыть такой кейс, как форма с полем ввода номера телефона, ведь с такой задачей разработчик сталкивается частенько. Она далеко непростая и имеет подводные камни. Так давайте же нырнём и первое, что нужно сделать — это разбить её на подзадачи.
- Валидация: Тут пока всё понятно, нам по хорошему нужно валидировать номер телефона.
- Форматирование: А с этим пунктом веселее, т.к. пользователи могут писать номер телефона в разных форматах: 8 *** *** ** **, +7 ***-***-**-** +7 (***) *******, 8 (***) *** **-** и еще 100500 вариантов.
- Разные страны: А теперь всё серьезнее, дело в том, что разные страны это разное форматирование и соответственно разная валидация.
[СДЕЛАЙ САМ] SendIt и MiniShop2 - заказ в 1 клик - быстро, просто и бесплатно.
Приветствую, решил зафиксировать для себя и поделится с сообществом, прежде всего с новичками, актуальным способом быстро и без боли добавить в интернет-магазин на базе MiniShop2 функцию «Заказать в 1 клик.»
Одновременно разбивка по страницам(пагинация) и ajax подгрузка по кнопке "Загрузить еще" в PDO PAGE.
Добрый день! Подскажите пожалуйста возможно ли сделать одновременно пагинацию с разбивкой по страницам и кнопку для ajax загрузки ресурсов при помощи PDO PAGE из коробки?
Hook Formit. enKod + MODX
Всем привет!
Поступила задача на интеграцию форм с enkod.io/. Меньше слов — делаем.
У нас есть:
— Ссылка на документацию: openapi.enkod.io/
— API ключ от клиента
— API POST запрос для передачи/обновления данных о контакте в enKod — api.enkod.ru/v1/person/
Поступила задача на интеграцию форм с enkod.io/. Меньше слов — делаем.
У нас есть:
— Ссылка на документацию: openapi.enkod.io/
— API ключ от клиента
— API POST запрос для передачи/обновления данных о контакте в enKod — api.enkod.ru/v1/person/
Прикручивам migxdb к пользователю в админке
В админке данным пользователя понадобилось прикрутить допполе-таблицу в отдельный таб. Можно было написать таб на extJs, прикрутить Migx или прикрутить getTables. Каждый раз писать на extJs меня напрягает, а getTables не популярный. Так что решил прикрутить Migx. На удивление все получилось. Описание по катом.
Почему в Диспетчере файлов не отображаются SVG файлы?
Приветсвтую, всегда мучался с этим вопросом, может кто подскажет решение. В Файловом менеджере MODx или как его назвать правильно, диспетчер файлов, в нем не отображаются превью SVG файлов. Почему? Везде SVG прописан как разрешенный формат и в источниках файлов везде, но нет, но если выбрать в TV например этот файл отображается нормально, но блин я не вижу что выбрать в диспечере файлов :(( это просто кошмар. Что за хрень? Кто знает как лечить?
Все другие форматы отображаются хорошо.
Все другие форматы отображаются хорошо.
Как создать новый метод оплаты для minishop2?
Можете поделиться статьями как добавить свой метод оплаты, суть в оплате такая, получаем объект авторизации передав нужные поля, а так же номер заказа и сумму, и потом передать весь ответ от запроса на фронт, где с помощью js, будет создан объект оплаты, а так же уникальная ссылка, и перенаправит тоже через js. Сам метод оплаты вот epayment.kz/ru/docs/platezhnaya-stranica
Как можно это интегрировать с минишопом?
Сам код вроде есть, но можно ли его отправлять на сам сайт, не будут ли уязвимости.
Пока что код идёт через core, хотя это нигде прикреплено к минишопу, да и получается 403 ошибка, так как пытается подключить к core.
Как можно это интегрировать с минишопом?
Сам код вроде есть, но можно ли его отправлять на сам сайт, не будут ли уязвимости.
Пока что код идёт через core, хотя это нигде прикреплено к минишопу, да и получается 403 ошибка, так как пытается подключить к core.
<?php
define('MODX_API_MODE', true);
require $_SERVER['DOCUMENT_ROOT'].'/index.php';
$params = [
'grant_type' => 'client_credentials',
'scope' => 'webapi usermanagement email_send verification statement statistics payment',
'client_id' => $modx->getOption('epay_client_id'),
'client_secret' => $modx->getOption('epay_client_secret'),
'invoiceID' => $_POST['invoiceId'],
'amount' => $_POST['amount'],
'currency' => 'KZT',
'terminal' => $modx->getOption('epay_terminal_id'),
'postLink' => 'https://'.$_SERVER['HTTP_HOST'].'/core/components/epay/succsess.php',
'failurePostLink' => 'https://'.$_SERVER['HTTP_HOST'].'/core/components/epay/error.php'
];
$debug = $modx->getOption('epay_debug');
$myCurl = curl_init();
curl_setopt_array($myCurl, array(
CURLOPT_URL => $debug == 1 ? 'https://testoauth.homebank.kz/epay2/oauth2/token' : 'https://epay-oauth.homebank.kz/oauth2/token',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($params)
));
$response = curl_exec($myCurl);
curl_close($myCurl);
header('Content-type: application/json');
echo $response;
Как вариант этот код запихнуть в плагин и поставить обработчик и проверку, но это ведь тоже не правильно. Что лучше сделать в данной ситуации? Разные цены для разных групп покупателей
Есть несколько групп пользователей, им нужно в товарах отдавать разную цену
наткнулся на этот вопрос,
но там обсуждается подмена цены при добавлении в корзину
другие цены, допустим, будут находится в тв поле (или в опции, не знаю как лучше)
подскажите, как в итоге делать полную подмену цены для отдельной группы пользователей?
наткнулся на этот вопрос,
но там обсуждается подмена цены при добавлении в корзину
другие цены, допустим, будут находится в тв поле (или в опции, не знаю как лучше)
подскажите, как в итоге делать полную подмену цены для отдельной группы пользователей?
msTools - Напоминание о брошенной корзине
Покупал компонент msTools, куда-то пропал из репозитория на modstore.pro
Мне надо было реализовать напоминание пользователю, но выборка mstUnfOrder не работала.
Итак, чтобы заработала выборка выполнить
Для удобства я ещё добавил поле в бд и схему (Необязательно)
Отлично. Выборка заработала
Удачи!
Мне надо было реализовать напоминание пользователю, но выборка mstUnfOrder не работала.
Итак, чтобы заработала выборка выполнить
// MODX Revolution 2.8.3-pl
$modx->addPackage('mstools', $modx->getOption('core_path').'components/mstools/model/', 'modx_mstools_');
$modx->addExtensionPackage('mstools', '[[++core_path]]components/mstools/model/mstools');
Для удобства я ещё добавил поле в бд и схему (Необязательно)
// modx_mstools_unformed_orders
ALTER TABLE `modx_mstools_unformed_orders` ADD `id` INT(10) NOT NULL AUTO_INCREMENT FIRST, ADD UNIQUE `id` (`id`);
// core/components/mstools/model/schema/mstools.mysql.schema.xml
<field key="id" dbtype="int" precision="10" phptype="integer" attributes="unsigned" null="false" default="" index="id" />
Отлично. Выборка заработала
if ($unf = $modx->getObject('mstUnfOrder', ['id' => 1])) {
echo $unf->email;
}
// $orders = $modx->getCollection('mstUnfOrder', ['email:!=' => '']);
// print_r($orders);
Удачи!
pdoPage + Easycomm: вывод комментариев на 1 странице с разбивкой кнопкой показать еще
Здравствуйте, друзья!
Столкнулась с задачей вывести комментарии Easycomm на одной странице. Необходимо собрать все комментарии которые находятся под ресурсом с id 5. Комментарии оставлены к дочерним ресурсам ресурса 5. То есть, комментарии оставлены не к ресурсу с id 5, а к дочерним ресурсам родителя с id 5. Мне необх+одимо эти комментарии вывести в новом ресурсе так чтобы на странице отображались по 10 комментариев и была кнопка Показать еще. Поэтому подумала можете pdoPage сможет это сделать.
Вот какой запрос написать с pdoPage, пока не знаю. Не нашла примеры.
Кстати, в комментариях, мне необходимо также вывести pagetitle и дополнительные поля ресурсов (не комментариев). Например, tv.logo, tv.lic.
Может вы сталкивались с подобной задачей? Пожалуйста, поделитесь опытом! Спасибо!
Столкнулась с задачей вывести комментарии Easycomm на одной странице. Необходимо собрать все комментарии которые находятся под ресурсом с id 5. Комментарии оставлены к дочерним ресурсам ресурса 5. То есть, комментарии оставлены не к ресурсу с id 5, а к дочерним ресурсам родителя с id 5. Мне необх+одимо эти комментарии вывести в новом ресурсе так чтобы на странице отображались по 10 комментариев и была кнопка Показать еще. Поэтому подумала можете pdoPage сможет это сделать.
Вот какой запрос написать с pdoPage, пока не знаю. Не нашла примеры.
Кстати, в комментариях, мне необходимо также вывести pagetitle и дополнительные поля ресурсов (не комментариев). Например, tv.logo, tv.lic.
Может вы сталкивались с подобной задачей? Пожалуйста, поделитесь опытом! Спасибо!