Артур Шевченко
С нами с 24 мая 2019; Место в рейтинге пользователей: #7[EasyComm+Swift] Загрузка фото и видео отзывов в облако Selectel.
Приветствую, делюсь с сообществом нюансами реализации такой задачи как загрузка файлов, прикрепляемых к отзывам, в облачное хранилище от Selectel.Возможно, эта заметка сэкономит кому-то немного времени.
[Анонс] MigxPageConfigurator (лонгрид)
Приветствую. Публикую этот анонс, чтобы посмотреть по комментариям интересно ли моё творение кому-то, кроме @Павел Бигель, ну и чтобы на форуме был какой-то движ, кроме вопросов и ответов. Важное замечание, дальше будет многа букав и не будет ни адной картинки (их как-то не очень удобно вставлять да и нету).
[msColorPicker] Выбор цвета товара в админке из палитры.
Приветствую. Иногда очень хочется, чтобы в miniShop2 в админке можно было указать цвет не названием, а конкретным цветом в формате HEX и лучше выбрать из палитры, и чтобы потом по выбранному значению можно было фильтровать. Я решил эту задачу и собрал решение в компонент.
[miniShop2 4.0.0-beta] - Разбор нововведений. Подключение собственных JS классов работы с корзиной и заказом
В этой заметке расскажу как полностью заменить или расширить стандартные классы корзины и заказа. Для тех, кто уже писал свои модули в JavaScript, никаких откровений не будет.
[miniShop2 4.0.0-beta] - Разбор нововведений. Удаление Fotorama. Пример подключения галереи.
В виду того, что скрипты галереи к логике работы интернет-магазина относятся весьма косвенно, нами было принято решение вырезать их из коробки MiniShop2.
И это хорошо, так как теперь каждый может без заморочек подключить свою любимою галерею.
Пример подключения есть в чанке tpl.msGalleryNew.
И это хорошо, так как теперь каждый может без заморочек подключить свою любимою галерею.
Пример подключения есть в чанке tpl.msGalleryNew.
[miniShop2 4.0.0-beta] - Разбор нововведений. Кнопки "плюс" и "минус" в корзине.
В этой заметке расскажу вам о добавленном плагине для изменения количества товара. Очевидно, что его назначение облегчить кастомизацию поля ввода количества, чтобы оно органично вписывалось в дизайн.
[miniShop2 4.0.0-beta] - Разбор нововведений. Уведомления. Пример подключения своей библиотеки.
Продолжая серию заметок @Николай Савин о нововведениях в miniShop2 Для MODX2, расскажу об изменениях в уведомлениях.
MiniShop2 4.0.0.alpha. Подробности про изменённый JavaScript.
Как вы уже, наверное, знаете основное отличие нового JavaScript в MiniShop2 от старого это отсутствие зависимостей от сторонних библиотек, в частности от jQuery. Это хороший и полезный инструмент, но современный JS, на мой взгляд, позволяет обходится без него.
Систематизация, переиспользование и редактирование форм.
Приветствую! Я открыл для себя ещё один вариант использования компонента MIGX и хочу поделиться им с сообществом. Скорее всего, кто-то до меня так делал, но либо не делился, либо я не нашёл.
Для чего это нужно? На сайтах как правило есть несколько форм: обратная связь, подписка, отзывы и.т.д. Иногда формы эти содержат идентичный набор полей, но выглядят по-разному и располагаются на разных страницах. А ещё они могут отправляться на разные почты или наоборот все на одну. В общем, так или иначе это приводит к полному или частичному дублированию вызовов и к тому, что в случае необходимости внесения изменений, нужно править несколько файлов. Вот я и разработал несложную систему для упрощения управления формами.
Для чего это нужно? На сайтах как правило есть несколько форм: обратная связь, подписка, отзывы и.т.д. Иногда формы эти содержат идентичный набор полей, но выглядят по-разному и располагаются на разных страницах. А ещё они могут отправляться на разные почты или наоборот все на одну. В общем, так или иначе это приводит к полному или частичному дублированию вызовов и к тому, что в случае необходимости внесения изменений, нужно править несколько файлов. Вот я и разработал несложную систему для упрощения управления формами.
[СДЕЛАЙ САМ] Ajax Регистрация, Авторизация, Сброс пароля, Редактирование профиля
Задача: сделать ajax регистрацию, авторизацию, сброс пароля и редактирование пользователя, используя минимум сторонних компонентов.
ИСПОЛЬЗУЙТЕ КОМПОНЕНТ SENDIT
Почему минимум? Ну часть из тех компонентов, что реализуют подобный функционал, платная (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.
Всё. Далее немного потока сознания и пояснений.
ИСПОЛЬЗУЙТЕ КОМПОНЕНТ SENDIT
Почему минимум? Ну часть из тех компонентов, что реализуют подобный функционал, платная (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.
Всё. Далее немного потока сознания и пояснений.