Андрей

Андрей

С нами с 09 апреля 2015; Место в рейтинге пользователей: #67

Массовое добавление/удаление модификаций (msOptionPrice2)

Вообще @Володя уже давал эти скрипты в комменте, но я вечно их ищу в своих избранных и про удаление многие не знают + слегка модернизировал удаление
Сергей Лим
25 августа 2022, 19:10
modx.pro
8
322
+2

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

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

ZoomX. Фреймворковский подход к разработке

Привет, друзья! На днях вышла третья версия компонента ZoomX, которая позволяет взглянуть на разработку в MODX немного под другим углом. Как известно, MODX позиционирует себя не только как CMS, но и как CMF. Но под этим определением скрывается всего лишь возможность использования API MODX. В современном мире разработки при упоминании слова «фреймворк» всплывают другие ассоциации — абстракции, роутинг, сервисный слой, SOLID, тонкие контроллеры, RESTful API и т.п.

Сергей Шлоков
21 октября 2021, 21:14
modx.pro
2
747
+24

Ajax запрос в снипет

Сергій
29 сентября 2021, 23:06
modx.pro
2
232
0

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

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

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

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

[miniShop2] Группируем поля на вкладке "Свойства товара"

Всем привет, небольшая инструкция про кастомизацию вкладки «Свойства товара» у miniShop2.
Наумов Алексей
20 июля 2021, 17:09
modx.pro
13
1 382
+13

msPaidOptions. Платные опции к товару

Компонент позволяет создавать дополнительные опции к товару, которые могут повлиять на его итоговую стоимость.


Aleksandr Huz
06 мая 2021, 10:13
modx.pro
8
1 316
+18

Интерфейс бана пользователя

Смотрю, что-то заметка про аватар пользователя оказалась слишком простой, поднимем немного градус.
Покажу как будет выглядеть интерфейс бана пользователя по итогу.



Ниже представлен код, куски которого когда-то писали коллеги по данному сайту и чатику в телеграме.
А я уже дописал чего не хватало и собрал все в кучку.
Евгений Webinmd
27 апреля 2021, 10:49
modx.pro
3
636
+15

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

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

Задача: организовать продажу билетов с онлайн оплатой на массовые мероприятия, организуемые заказчиком. Выбор мест не требуется, ограничения только по количеству билетов. Организовать отправку купленных билетов на почту покупателя в формате 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 157
+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
774
+3