minishop2 3.0.1 и minishop2 3.0.2

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

Вот что мы успели подготовить на этот раз
Николай Савин
Вчера в 13:52
modx.pro
150
+14

[СДЕЛАЙ САМ] Ajax Регистрация, Авторизация, Сброс пароля, Редактирование профиля

Задача: сделать ajax регистрацию, авторизацию, сброс пароля и редактирование пользователя, используя минимум сторонних компонентов.
Почему минимум? Ну часть из тех компонентов, что реализуют подобный функционал, платная (Office, ajaxLogin) и бюджеты есть не всегда на них есть. Некоторые (ajaxLogin) в данный момент не доступны из-за смерти автора. Общий недостаток большинства компонентов это то, что они загружают дополнительные скрипты и стили, что порой приводит к необходимости дополнительно оптимизировать сайт. Компонент Login не работает по ajax. Однако это можно обойти , но runSnippet запустит много всего и не факт что это всё нужно в данный момент. Поэтому предлагаю своё решение.
Нам понадобится:
1. AjaxForm;
2. FormIt;
3. Этот репозиторий.

Порядок действий:
1. Скопировать core/elements/snippets/ajaxidentification.class.php.
2. Создать в админке сниппеты
2.1 AjaxIdentification (код лежит в core/elements/snippets/hooks/AjaxIdentification.php);
2.2 userExists (код лежит в core/elements/snippets/validators/userExists.php);
2.3 userNotExists (код лежит в core/elements/snippets/validators/userNotExists.php;
2.4 ActivateUser (код лежит в core/elements/snippets/ActivateUser.php) // этот можно вызывать прям из файла если хотите.
3. В вывоз AjaxForm в параметр hooks первым значением добавить AjaxIdentification, сюда же добавить параметр method ( register — регистрация, login — авторизация, forgot — восстановление доступа, update — обновление данных).
4. В js на событие af_complete добавить редирект на нужные страницы. Ссылки можно получать
из мета-тегов с именами типа loginSuccessUrl.
Всё. Далее немного потока сознания и пояснений.
Артур
16 мая 2022, 13:33
modx.pro
609
+1

[СДЕЛАЙ САМ] Конфигуратор страниц с помощью MIGX

Приветствую, дальше будет описание эволюционировавшего метода из моей же более старой заметки, я пытался её обновлять, но получилась каша, поэтому было принято решение написать новую заметку. Кроме того, сама методика сильно спрогрессировала, на мой взгляд, в ней, определенно, стало меньше ручного труда.
Артур
12 мая 2022, 23:17
modx.pro
1 088
+4

Релиз MODX Revolution 2.8.4

Последний выпуск 2.8.3 вышел почти год назад, 28 мая 2021 года.
В этом выпуске 2.8.4 основное внимание уделяется нескольким ошибкам, обновлениям зависимостей и улучшению совместимости с более новыми версиями PHP. Рекомендуем обновляться именно до этой версии
Евгений Webinmd
28 апреля 2022, 23:52
modx.pro
1 484
+19

MODX Revolution 3.0.1

НЕ ОБНОВЛЯЙТЕ РАБОЧИЕ САЙТЫ С MODX2 ДО MODX3

Перевод анонса
Вышел первый патч для MODX Revolution 3.
Евгений Webinmd
28 апреля 2022, 23:20
modx.pro
831
+13

Релиз minishop2 3.0.0 (Для MODX 2). Поддержки MODX3 еще нет.

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

ВНИМАНИЕ — Обновление может сломать ваш сайт.
Прежде чем обновляться подумайте, а нужно ли вам это? Выиграете ли вы от этого?
Постарайтесь протестировать обновление на отдельной копии сайта. Сделайте бэкап.

Список изменений, рекомендации по обновлению были опубликованы ранее в предыдущих анонсах.
Николай Савин
27 апреля 2022, 20:06
modx.pro
1 388
+21

pdoParser против modParser

Третьего дня Сергей Шлоков провёл новый тест скорости работы парсера MODX и шаблонизаторов Fenom и Smarty.

До Smarty мне дела нет, но с итоговыми выводами, что никакой разницы в скорости между синтаксисом MODX и Fenom не видно, я категорически не согласен.



Итак, что нужно прояснить. У оригинального парсера MODX modParser есть две, на мой взгляд, фундаментальные проблемы:

Во-первых, каждый тег при разборе превращается в PHP объект modTag и в нём запускается метод process. То есть, если в чанке указан просто [[+id]], то MODX вместо обычной замены его через str_replace будет создавать новый объект и парсить.

Во-вторых, из-за своей рекурсивной природы, MODX выполняет все условия в чанках. Он просто не знает, во что могут превратиться эти условия на пятой, например, итерации. Причём делает он это изнутри наружу.
То есть, если вы прячете какой-то кусок оформления для вывода только нужным пользователям за условиями в чанке — именно этот кусок и будет первым делом разобран, а потом MODX решит, нужно ли его выводить, когда проверит условие с юзером. Народ придумывает разные костыли для обхода этого момента, чтобы парсить только нужное, типа [[![[+user:is=`admin`:then=`auth`:else=`guest`]]]].
Василий Наумкин
26 апреля 2022, 08:11
modx.pro
804
+27

Изменение количества товара в корзине после добавления с помощью ZoomX и Alpine.js

На многих интернет-магазинах при добавлении товара в корзину появляются кнопки +−, меняющие количество товара. При попытке сделать подобное, используя api miniShop2, пришлось городить костыли, плюс работало это с багами. Поэтому для этой цели пришлось запилить собственное api.

На бэкенде мы создадим метод, который добавляет товар, если его нет в корзине, изменяет его количество, удаляет, если передано количество 0. На фронтенде создадим метод для его вызова.
Лёша
24 апреля 2022, 19:51
modx.pro
1
282
+8

Сравнение шаблонизаторов MODX, Fenom и Smarty



В очередной раз прочитав утверждение, что Fenom быстрее стандартного парсера, решил провести указанный в документации pdoTools тест, чтобы расставить все точки над и. Но решил сделать это не отдельными скриптами, как в документации, а практичнее — через сниппет, который будет вызыватся на странице. Плюс добавил для сравнения шаблонизатор Smarty из ZoomX. Так вот, у меня таки есть шо вам сказать.
Сергей Шлоков
23 апреля 2022, 10:52
modx.pro
1 364
+16

MagicThemes - управление темами для MODX Revo



Представляю Вашему вниманию пакет управление темами или мини-движок тем для MODX.
С его помощью можно управлять темой:
— Менять местами области, блоки, блоки в областях;
— Менять ширину размера сетки областей и блоков.
— Устанавливать фоновый цвет блока или изображение.
— Да и вообще — менять визуальное отображение блока до неузнаваемости.
— Настраивать параметры сниппета.
— Менять, вписывать значения классов и параметров для блока.
— Настраивать базовые цвета и прочие параметры в настройке темы.
— и много других полезных мелочей.
И все это можно делать не залезая в сам код. Неправда ли звучит интригующе?
Под капотом расскажу и покажу что же за решение получилось в итоге. Надеюсь будет интересно. Поехали…
Алексей Смирнов
22 апреля 2022, 14:53
modx.pro
589
+11