Павел Бигель

Павел Бигель

С нами с 15 января 2019; Место в рейтинге пользователей: #16

Изменение цены в корзине при переоценке

Привет.

Иногда возникает такая ситуация, когда пишите интернет-магазин на MODX и miniShop2 и при этом вы импортируете товары или переоцениваете их с какого-нибудь внешнего сервиса (Например 1С). Проблема которая возникает абсолютно всегда в таких случаях, что цены на товары меняются достаточно часто. В miniShop2 нет (пока нет) события, который бы позволял хендлить события перехода в коризну. Однако, мы можем сделать это на уровне MODX, его событий и API

Создаем плагин cartCheck и вешаем его на событие OnWebPagePrerender. Это событие уже спарсило ресус и его данные, но еще не вывело на страницу — все что нам нужно. В коде, делаем проверку на шаблон страницы. Обычно, корзина имеет свой выделенный шаблон. Далее нам предстоит инициализировать минишоп, получить корзину, модифицировать ее как угодно и назначить обратно. Так же мы сделаем проверку на то, опубликован или удален ресурс и не дадим его купить. На этом, собственно все. Ниже привожу код плагина

<?php
if ($modx->event->name = 'OnWebPagePrerender'){
    if ($modx->resource->id == 5) {
        /** @var miniShop2 $miniShop2 */
        $miniShop2 = $modx->getService('minishop2');
        $miniShop2->initialize();
        $cart = $miniShop2->cart->get();
        foreach ($cart as $key => &$element) {
            /** @var msProduct $product */
            if ($product = $modx->getObject('msProduct', $element['id'])) {
                $element['price'] = $product->get('price');
                if (!$product->get('published') || $product->get('deleted')){
                    unset($cart[$key]);
                }
            }
        }
        $miniShop2->cart->set($cart);
    }
}
Павел Бигель
07 мая 2020, 15:56
modx.pro
9
285
+11

Теория выгрузок из 1С в MODX (часть 1 из 2)

И снова привет!
Выгрузка товаров на сайт — это самый, самый частый кейс моей мини-студии. Для реализации мелких-средних интернет-магазинов используем классическую и сверхпопулярную связку MODX+miniShop2, для крупых — нет, но я как-нибудь обязательно расскажу почему.
Павел Бигель
06 апреля 2020, 19:10
modx.pro
11
680
+17

elementSync - Еще один способ разработки MODX-приложений в IDE

Привет.
Этот элемент можно считать вторым кусочком компонента который я описал на статью одну пониже, а можно рассчитывать как отдельную тузлу. Предыстория такова: Я не использую файловые сущности pdoTools, идеологически считаю что транспортные пакеты это отличный способ для разработки компонентов, но не сайтов. Так же Gitify меня не вдохновил. Думаю имею на это право :)
Более того — частенько приходится не создавать что-то новое на MODX, а редактировать существующее. И все это нужно а) каким-то образом версионировать б) разрабатывать используя удобные инструменты в IDE. Много времени назад я использовал для этого gitmodx и он меня в целом устраивал. Но есть нюансы, которые мне категорически не нравились.
Павел Бигель
25 февраля 2020, 19:55
modx.pro
5
566
+12

contentSync - синхронизация контента прода и дева для MODX Revolution

Привет, я снова тут!

Одна из дегенеративных особенностей MODX — хранить все в базе. Кони, люди, контент — все хранится в базе.
Еще более дегенеративная особенность — MODX учит вас хранить все в ресурсах и это не сказать что правильная логика.

Часто возникает ситуация, что тестовая версия сайта начинает плотно отставать по контенту от продакшена и необходимо как-то синхронизировать изменения.

Я придумал решение, которое отчасти решает мою задачу и потребность. Если решение вам понравится — я упакую все в пакет и выложу в бесплатный доступ.
Павел Бигель
20 февраля 2020, 13:55
modx.pro
3
626
+16

[VSC] Получение автокомплита полей и методов классов MODX

Привет! Достаточно давно я писал про свое расширение — vscodemodx, которое позволяет использовать все методы и поля пространства MODX и xPDO, а так же работал в Fenom. Теперь появился способ сделать все как «в PHPStorm», в котором можно добавить производную директорию для анализа.
Павел Бигель
04 февраля 2020, 13:01
modx.pro
2
516
+17

Почему MODX лучше чем (%cms_name%} или как продать клиенту MODX

Привет. Хочу разбавить статьи немного нестандартной для этого сайта статьи. Техническую статью я тоже хочу написать, но сейчас хочу вам рассказать как лично я продаю MODX в заказах.

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

MODX — отличная система для новичков в разработке и для тех, кому нужно создать хорошее скалируемое приложение с минимальным стартом.
Для начала, нужно понимать где вообще уместно применять MODX. В теории — везде, прям вообще везде. На практике, к сожалению не так. Объясню что я имею ввиду.
Лично я использую MODX для тех сайтов, где использование более классических CMS — глупо, а использовать взрослые фреймворки — впадлянку.

Часто бывает такая ситуация, когда вы общаетесь с клиентом и понимаете, что MODX для этих задач является идеальным выбором. Вы его хорошо знаете, вы можете выполнить проект достаточно быстро. Возникает задача, как же продать клиенту MODX? Даже такому, который сам предложил вам выполнить проект на другой системе или платформе? Я не буду сейчас устраивать холиварное месиво, все будет построено вокруг фактов.
Я предлагаю рассмотреть все варианты:
Павел Бигель
12 января 2020, 01:55
modx.pro
1 484
+18

ORM для MODX (или как юзать другие сторонние библиотеки)

Добрый день!
Почему-то многие забывают (или даже не знают, хехе) что MODX написан на PHP. Что это значит?
Павел Бигель
03 декабря 2019, 22:56
modx.pro
1
651
+9

[VCS] Обновление vscodemodx 0.0.3

Привет! Я снова решил обновить дополнение для Visual Studio Code. Итак, что же нового?
Павел Бигель
15 ноября 2019, 00:06
modx.pro
2
530
+16

modx.by - что дальше ?

Не так давно (около месяца назад), Иван Климчук передал мне во владение этот прекрасный домен. И он и я мы конкретно не понимали что с ним делать. Очередной блог или локальный домен — совсем не то. Но сегодня, я кажется нашел ответ.
Павел Бигель
02 ноября 2019, 20:39
modx.pro
1
953
+15

Blazor - новый интерактивный Web Framework от Microsoft

Привет!
Вышел .NET Core 3.0 который привнес огромное кол-во новых возможностей которые я до сих пор изучаю.

Прежде чем вы скажете опять какой-то фреймворк для UI ну сколько можно же!! я сразу зайду с козырей:

  1. Создание пользовательских интерфейсов с помощью C#, а не Javascript
  2. Использование существующих .NET библиотек для реализации UI
  3. Возможность вызова JavaScript совместно Blazor.
Это уже не совсем обычный фреймворк, правда? Исторически сложилось так, что я не очень люблю JavaScript ровно как и любые языки без строгой типизации. Есть TypeScript тоже от Microsoft, однако плотно я его не успел пощупать.

Поэтому выход Blazor для меня это огромное счастье и радость. Уже есть первые проекты на Blazor такие как bing.com и сайт dot.net
Павел Бигель
27 сентября 2019, 11:04
modx.pro
1 259
+2