Артур

Артур

С нами с 24 мая 2019; Место в рейтинге пользователей: #21
Отправить деньги

[СДЕЛАЙ САМ] 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
994
+1

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

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

Кто готов написать заметку?

Приветствую, вышел Modx 3 и обратной совместимости со второй версией у него нет. Постепенно популярные компоненты адаптируют для новой версии, но остаются ещё непопулярные и новые. Так вот, есть как минимум 2 человека готовых оплатить написание заметки с разбором нюансов создания и адаптации компонентов под Modx 3. Задача непростая, но и не срочная. Как только найдется желающий откроем сбор средств на это, без сомнения, благое дело.

P.S. Сам не могу, опыт не позволяет.
Артур
11 апреля 2022, 10:16
modx.pro
1
247
+2

Создать свою сборку - легко! Vapor.

Приветствую! Если начать искать
как сздать свою сборку на modx
, то скорее всего найдётся только siteExtra и кастомные скрипты, например от Артёма Зернова. Все они требуют понимания того, как устроены компоненты и транспортные пакеты в Modx, но не всем это нужно, а вот создать заготовку для быстрого разворачивания сайта хочется. Каково же было моё удивление, когда я узнал, что ещё в 2013 году @Fi1osof создал дополнение Vapor.
Артур
28 марта 2022, 00:41
modx.pro
5
651
+4

Быстро включаем Fenom на страницаx.

Приветствую, довольно часто приходят клиенты с просьбой внести какие-то правки на сайте, и бывает так, что fenom на страницах не используется, а я привык, он удобные. Иду тогда в настройки и включаю. После этого сайт перестает отображаться, вместо страниц белый экран. Надо включать сохранение ошибок и искать, где есть открывающая фигурная скобка и ставить после неё пробел. Хорошо, если это только код метрики в шапке, но бывают запущенные случаи, тогда проще написать небольшой скрипт. Собственно его и выкладываю. Он простой, но скопировать готовое всегда проще)))
Артур
25 марта 2022, 23:03
modx.pro
4
405
+2

Чтение большого файла CSV по 100 строк средствами сервера. Возможно ли?

Приветствую. Была задача загрузить данные из файла формата csv в БД. В файле два столбца, грубо говоря ключ и значение, и 270000 строк. Проблема была в том, что если читать в цикле построчно и сразу писать в БД сервер не вывозит, старшие товарищи в группе Телеграм сказали надо читать по 100 строк и потом записывать в базу. Я не придумал ничего лучше, чем дёргать скрипт чтения файла с фронта ajax'jv каждый раз меняя $offset. Вопрос, можно ли это же сделать без запросов с фронта, а внутри скрипта, но при этом чтобы инициализация происходила с фронта. Другими словами у меня так: уходит первый запрос, если в ответе есть $offset, уходит второй запрос с этим $offset и так пока не вернётся false. А хочется, чтобы ушёл запрос, скрипт отработал и я показал результат. Возможно ли такое в условиях ограничения времени выполнения скрипта и объемов памяти?
Артур
17 марта 2022, 00:26
modx.pro
159
0

Кастомизация поля input[type=number] или поля количество

В интернет много всяких решений, но часть из них обладают избыточной функциональностью, часть требует сторонние библиотеки, типа jQuery, а простые и лёгкие решения мне не попадались, это наверное потому что я искать не умею))) В общем как бы там ни было, пусть в интернете появится ещё одно решение, вдруг кому-то пригодится. Все подробности о том, как пользоваться в репозитории.
Артур
10 марта 2022, 23:29
modx.pro
4
364
+2

AjaxForm без jQuery

Приветствую тебя дорогой читатель. Давно хотел это сделать и наконец-то сделал — теперь для работы AjaxForm не нужен jQuery. Для этого нужно
1. Перейти по ссылке.
2. Заменить содержимое папок core/components/ajaxform и assets/componentns/ajaxform/ данными из репозитория.
3. Заменить код сниппета AjaxForm кодом из репозитория.
Если будут ошибки пишите в комментарии, а под катом немного о нюансах.
Артур
14 февраля 2022, 21:53
modx.pro
7
978
+14

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

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

[СДЕЛАЙ САМ] minishop2 Купить в 1 клик. Быстрое оформление заказа.

Для тех, кто не хочет заморачиваться, напоминаю, что есть замечательный компонент msOneClick, для остальных поясню основную идею: быстро оформить заказ на одну товарную позицию в модальном окне на странице каталога/категории или в карточке товара, без перехода в корзину и на страницу оформления заказа и без потери функциональности, т.е. с возможностью выбрать способ доставки, способ оплаты и количество товара. Также отмечу, что совместимость с калькуляторами доставки не тестировал, только с дополнением msMiniCartDynamic. Итак, начнём.
Артур
07 ноября 2021, 00:35
modx.pro
1
885
+5