Александр Котлов

Александр Котлов

С нами с 18 января 2013; Место в рейтинге пользователей: #100

[СДЕЛАЙ САМ] Генерация, вставка в PDF и последующее чтение QR-кодов на сайте

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

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

Сборка элементов сайта в компонент (пакет), пошаговая инструкция

Привет, давно не виделись :)

Я в прошлой заметке, когда писал об уходе, обещал опубликовать свои черновики, так что выполняю обещание и сегодня рассмотрим пример с разработкой отдельных страниц сайта и сборкой их в компонент (или транспортный пакет), которые можно затем установить через обычный пакетный менеджер. Я буду все показывать на реальном случае, который я недавно закончил.

Итак, сначала описание задачи, которая стояла. Был сайт, на котором нужно было реализовать обновленный раздел с готовыми решениями. Был представлен новый дизайн с версткой, были описаны требования к некоторым аспектам работы этих новых страниц. В частности, автоматический расчет цены товаров с конвертация валют, автоматический расчет цены монтажа в зависимости от количества оборудования и прочее. Но не суть, задача была безболезненно все делать локально, пока основной сайт работает и выкладывать решение или по частям или сразу, в виде готового пакета.

Какие-то отдельные подзадачи я все же сделал руками, так как это было просто быстрее и проще. Например, нужно было в некоторых шаблонах (уже существующего сайта) добавить вызов нового снипета или настроить формы редактирования ресурса под клиента. Эти манипуляции были сделаны прямо на боевом сайте. Повторюсь, потому что так быстрее и проще и не влияет на остальной процесс. По методологии LEAN.

Вводная закончилась. Продолжаем внутри заметки.

Іван Клімчук
27 августа 2019, 19:57
modx.pro
25
3 479
+38

AdminRevolution. Быть или не быть?

Привет, друзья!
Есть тема для дискуссии. Как вы знаете, дела в лагере разработчиков MODX не очень. Если глянуть на список пользователей, то многие из топа уже покинули этот лагерь. Недавно сообщество потеряло главного амбассадора. Да и номер первый, как мы знаем, с MODX контактирует только на старых проектах. Конечно это удручает. Но такова жизнь. Так происходит везде. Это не ноу-хау MODX. Рынок разработки стремительно меняется. Приходят новые технологии, языки, подходы. Сайты становятся сложнее. Рынок простых CMS сужается. Конкуренция становиться жёстче. И тут MODX сильно проигрывает. Несмотря на то, что он не хуже Вордпресса, Джумлы и Битрикса, новых разработчиков он привлекает всё меньше и меньше. И это самое плохое. Старые и опытные разработчики будут уходить какую бы супер-пупер систему вы не сделали, а вот новых привлечь — задача наиважнейшая.
Сергей Шлоков
20 августа 2019, 10:02
modx.pro
6
3 352
+44

GoogleSheets. Компонент для работы с Google таблицами.

Возможности
  • Cохранение форм
  • Cохранение заказов (minishop2)
  • Импорт ресурсов / товаров (minishop2)
  • Выгрузка данных из таблицы
Aleksandr Huz
30 октября 2018, 23:04
modx.pro
4
3 135
+11

[tvSuperSelect] 1.2.2 Кастомайз по полной программе!


Новый функционал позволяет навесить свой процессор на получение значений для любого ТВ с типом tvSuperSelect. Теперь мы можем вывести абсолютно любые значения в этом ТВ, которые передадим через наш процессор. Предлагаю рассмотреть подробнее, как это делается и что это нам даст.
Павел Гвоздь
13 сентября 2018, 10:54
modx.pro
20
2 963
+23

Как настроить Babel, чтобы не было мучительно больно

Один день проведённый на modx.pro показал, что у людей очень много проблем с дополнением Babel. Люди боятся его за сложность настройки. На самом деле всё не так страшно. Эта статья, надеюсь, поможет при создании мультиязычных сайтов. Целью этой статьи не является разбор, чем одно дополнение лучше другого, это именно инструкция: как сделать.
Янис
12 сентября 2018, 10:03
modx.pro
22
13 052
+12

Перезагрузка изображений товаров

Попросили перезалить изображения в магазине и так несколько раз. Потом коллега попросил пример скрипта на эту операцию. Выложу простой скрипт сюда, наверное кому-то ещё пригодиться.
Алексей Шумаев
30 августа 2018, 18:48
modx.pro
11
1 676
+9

msNAP - Уведомления о покупках других посетителей


Компонент для уведомления покупателей о предыдущих покупках других посетителей интернет-магазина.

Помогает оживить магазин за счет демонстрации реальных заказов, показывая дату и время заказа а так же другие данные по заказу.


Как вариант можно использовать показ сообщения в виде рекламы указав ID определенного заказа:


Или можно использовать как рекламный баннер на другие страницы

Ссылка на страницу так же указывается в сообщении

Андрей Степаненко
28 августа 2018, 14:35
modx.pro
2
1 502
+8

Прячем ненужные поля товаров minishop'a в зависимости от раздела

При разработке очередного интернет-магазина возникла потребность в большом количестве фильтров по характеристикам товаров. Используя tv или опции тормозов не избежать — нужно расширять родную таблицу ms2_products.

И вроде бы все хорошо, но если в разных разделах нужны разные характеристики, то страница товара в админке превращается в свалку.

Максим Кузнецов
08 января 2018, 01:46
modx.pro
27
2 132
+9

Подскажите, как правильно заджойнить таблицы через pdoResources

Привет, есть простая модель projects и класс categories. В табице класса хранятся только названия категорий.
id | name
Для ресурсов через TV сохраняются id категорий.

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

$projects = $modx->runSnippet('pdoResources',array(
    'parents' => 4,
    'includeTVs' => 'projectCat',
    'loadModels' => 'projects',
    'leftJoin' => '{"ProjCats" : {"class" : "categories", "on" : "projectCat = ProjCats.id"}}',
    'return' => 'json',
    'showLog' => 1
));

Ну и конечно ничего не работает. Подскажите, пожалуйста, как должно быть правильно.
regonforum
22 ноября 2017, 14:27
modx.pro
3
2 379
0