Готовые решения

Простой опросник с ветвлением (AjaxForm + FormIt + MIGX + pdoTools)

По традиции, для тех, кто не любит заморачиваться, сообщаю, есть готовый компонент Quiz. Сам я им не пользовался, но из описания следует, что по функционалу он очень похож.
Теперь коротко о том, зачем я всё это затеял. Первая версия моего опросника была сделана для собственного сайта и не предполагала ветвления, и я решил это исправить, в основном, чтобы попрактиковаться. Поэтому конструктивная критика приветствуется.
Исходники можно скачать отсюда.
Артур Шевченко
13 ноября 2021, 15:27
modx.pro
5
1 220
+8

Оптимизации и тонкости работы с БД для больших магазинов на MODX Revolution

Небольшое вступление

Данная статья не претендует на универсальное решение. Всегда пользуйтесь собственной головой. Всё описанное ниже актуально для MODX Revolution 2.8.3-pl, miniShop2 2.9.1-pl.

wfoojjaec
16 сентября 2021, 19:09
modx.pro
27
2 013
+26

Фид товаров для Facebook

Рекламщики дали задачу собрать им фид товаров для импорта в facebook*.

Распишу этапы работ, которые делал, может кому нибудь пригодится. А заодно может кто-то предложит решение лучше и укажет на мои ошибки, которые возможно есть))
Андрей Шевяков
05 июля 2021, 15:21
modx.pro
5
1 137
+6

AjaxForm + mFilter2

Всем привет
Была задача сделать форму для отправки клиентам с данными фильтра из каталога продукции.
Получилось сделать все стандартными вызовами, без кастома.
Все работает как надо. Делюсь решением, может кому пригодится ;-)

gist.github.com/Sentinel-7/03983e28b71a87443ac075423867811c
Sergey (Sentinel)
18 июня 2021, 14:38
modx.pro
1
985
+5

Localizator. Вывод списка языков



Доброго времени суток, сообщество.

Предлагаю решение для вывода списка языков при использовании дополнения Localizator.

Иван Бочкарев
30 мая 2021, 12:58
modx.pro
4
951
+11

[СДЕЛАЙ САМ] Промокоды для minishop2 с помощью MIGX.

Приветствую, начнём с того, что есть много прекрасных дополнений реализующих данных функционал, и я советую всем использовать именно их, поскольку функциональность их значительно выше, а цена вполне демократичная. Но если бюджет сильно ограничен, а промокоды очень хочется и самому придумывать реализацию не с руки, то читайте дальше.
Артур Шевченко
25 мая 2021, 14:37
modx.pro
1
1 114
-3

[СДЕЛАЙ САМ] Авторизация и регистрация по СМС

Всем привет. Я ни на что не претендую, прекрасно понимаю, что вариантов решения данной задачи много, и мой, наверное, не лучший, но меня попросили написать решение и эту инструкцию, поэтому поехали.
Нам понадобится:
  1. Console
  2. CMP Generator
  3. AjaxForm
  4. miniShop2
!!! ВАЖНО!!! Корзина и оформление заказа должны быть разными страницами.
Артур Шевченко
17 мая 2021, 00:31
modx.pro
5
4 105
+1

[СДЕЛАЙ САМ] Фильтрация по множественным значениям.

Приветствую!
Задача: сделать фильтр по регионам в которых доступен продукт, при условии, что один продукт может быть доступен в нескольких регионах сразу.
В решении использовались раздел из документации и статья @Илья Уткин
Артур Шевченко
29 апреля 2021, 16:05
modx.pro
1
1 284
+5

[СДЕЛАЙ САМ] Сайт по продаже билетов

Всем привет! Всё как всегда, сделал сам, делюсь с другими. Конструктивная критика приветствуется.

Задача: организовать продажу билетов с онлайн оплатой на массовые мероприятия, организуемые заказчиком. Выбор мест не требуется, ограничения только по количеству билетов. Организовать отправку купленных билетов на почту покупателя в формате pdf. Создать систему проверки билетов по qr-коду. Дать возможность администратору сайта оформлять произвольное количество билетов для продажи на входе. Создавать резерв билетов. Закрывать продажу, при отсутствии билетов.

Нам понадобится:
  1. minishop2;
  2. библиотека jsqr.js для считывания qr-кодов;
  3. библиотека mpdf для генерации pdf;
  4. библиотека PHP QR Code для генерации qr-кодов;
Хочу выразить благодарность @Dmytro Lukianenko за скрипт для считывания qr-кодов, сэкономил кучу времени

Информацию о том как работать с MPDF я брал из официальной документации, она у них, насколько я могу судить, нормальная. О том как работать с PHP QR Code прочитал тут.
С предисловием вроде всё. Переходим к решению.
Артур Шевченко
22 апреля 2021, 23:53
modx.pro
10
1 400
+14

[СДЕЛАЙ САМ] DaData. Определение города по ip

Сниппет называется detectRegion. Для работы необходимо зарегистрироваться на сайте DaData и создать системную настройку для ключа api с названием dadata_api_key
<?php
$url = 'https://suggestions.dadata.ru/suggestions/api/4_1/rs/iplocate/address';
$siteIsAvaliable = $modx->runSnippet('isSiteAvailible', array('url' => $url));
if($siteIsAvaliable){
    $token = $modx->getOption('dadata_api_key');
    $ip = $_SERVER['REMOTE_ADDR'];
    $headers = array(
    	'Accept: application/json',
    	'Authorization: Token ' . $token
    );
    $ch = curl_init($url.'?ip='.$ip);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_HEADER, false);
    $result = json_decode(curl_exec($ch),1);
    curl_close($ch);
    $region = $result['location']['data']['city'];
    return  $region;
}else{
    $modx->log(1, 'detectRegion: Не возможно определить регион. Сервис DaData недоступен');
    return false;
}
P.S. isSiteAvailible
Артур Шевченко
09 апреля 2021, 23:28
modx.pro
5
902
+3