Александр
С нами с 10 февраля 2015; Место в рейтинге пользователей: #141Решение для ресайза картинок при загрузке?
Извечная проблема — клиенты порой загружают очень большие фотографии. Нашел такое решение:
bezumkin.ru/sections/components/118/, не завелось — не поддерживает источники файлов.
Есть ли готовое готовое проверенное решение для этого дела? А пока свой велосипед с поддержкой источников (переписал по ссылке выше).
bezumkin.ru/sections/components/118/, не завелось — не поддерживает источники файлов.
Есть ли готовое готовое проверенное решение для этого дела? А пока свой велосипед с поддержкой источников (переписал по ссылке выше).
Создаём ZIP архив средствами MODX
Случается так, что на сайте надо запаковать какую-то папку, а по некоторым причинам сделать это невозможно затруднительно. Предлагаю вариант, который практически не требует ничего, кроме MODX и доступа в бек-энд.
В xPDO есть класс xPDOZip, который умеет запаковывать/распаковывать архивы. К сожалению, в самом MODX его функциональность задействована ровно наполовину — распаковать ZIP архив мы можем, а вот запаковать папку в архив не имеем возможности. Предлагаю решение!
В xPDO есть класс xPDOZip, который умеет запаковывать/распаковывать архивы. К сожалению, в самом MODX его функциональность задействована ровно наполовину — распаковать ZIP архив мы можем, а вот запаковать папку в архив не имеем возможности. Предлагаю решение!
Как удалить все товары и опции
Сделал импорт нескольких тысяч товаров из внешнего файла. Хочу все переделать и перезалить товары. Пытаюсь удалить товары стандартным способом, как ресурсы. Товары и каталоги удаляются (т.е. становятся красными), но очистить их не получается. Модх просто не реагирует.
Оптимальным кажется вариант удаления товаров через phpMyAdmin. Вопрос в том какие таблицы нужно почистить, чтобы потом ничего не поломалось.
Оптимальным кажется вариант удаления товаров через phpMyAdmin. Вопрос в том какие таблицы нужно почистить, чтобы потом ничего не поломалось.
Критическая уязвимость в MODX Revolution
Сильно в детали лезть не буду, просто скажу, что сейчас любой MODX Revo сайт потенциально уязвим. Дыра позволяет выполнить SQL-инъекции, в том числе с созданием на сайте привилегированных пользователей.
Базовые методы противодействия: подмена дефолтных системных папок (особенно connectors) и, главное — смена префикса таблиц. Так как далеко не все это делают, то можно сказать, большинство сайтов в зоне опасности. Кто хочет ощутить это на себе, может в комментах написать ссылку на сайт.
Если кто на уже рабочем сайте хочет префиксы сменить, я описывал метод здесь.
P.S. И еще заповедь: не пускайте никого в админку, даже с самыми минимальными правами. Это практически 100% гарантия взлома при желании.
Базовые методы противодействия: подмена дефолтных системных папок (особенно connectors) и, главное — смена префикса таблиц. Так как далеко не все это делают, то можно сказать, большинство сайтов в зоне опасности. Кто хочет ощутить это на себе, может в комментах написать ссылку на сайт.
Если кто на уже рабочем сайте хочет префиксы сменить, я описывал метод здесь.
P.S. И еще заповедь: не пускайте никого в админку, даже с самыми минимальными правами. Это практически 100% гарантия взлома при желании.
Добавление своих полей в форму заказа [обновлено]
При разработке нескольких проектов, возникала необходимость в получении дополнительных данных от покупателей, а полей в miniShop2 ограниченное количество. Поиск готового решения результата не дал, поэтому предлагаю свой вариант.
Решение обновлено, убраны правки исходного кода минишопа, теперь при обновлении ничего не затрется, изменены ключи у полей
Решалось это следующим образом:
1. Добавлялись необходимые поля, для примера взяты тип плательщика, название организации и инн.
2. Добавлялся плагин срабатывающий при сохранении заказа и при подключении js минишопа в админке.
3. Редактировались настройки и записи словарей.
Более подробно далее
Решение обновлено, убраны правки исходного кода минишопа, теперь при обновлении ничего не затрется, изменены ключи у полей
Решалось это следующим образом:
1. Добавлялись необходимые поля, для примера взяты тип плательщика, название организации и инн.
2. Добавлялся плагин срабатывающий при сохранении заказа и при подключении js минишопа в админке.
3. Редактировались настройки и записи словарей.
Более подробно далее
Как передать DOM элемент в коллбэк miniShop2
Всем привет, данный вопрос уже много раз мусолили в сообществе, но хорошего решения так я и не нашёл, поэтому делаю ещё одну попытку, может в этот раз всё прояснится, и так:
В miniShop2 есть система коллбеков, в которую можно добавлять свои, это безумно круто и спасибо в очередной раз автору за такую гибкость, но проблема в том что в эти коллбеки не передаётся DOM элемент, спровоцировавший событие и тут приходится велосипедить на js всякие не красивые штуки.
Суть вопроса вот в чём, в карточке товара есть две кнопки — в корзину и быстрая покупка, надо что бы первая вела себя как обычно, просто добавляла товар и уведомляла нас что он добавлен, а вторая добавляла товар и если он успешно добавлен, то перекидывала сразу в корзину, и вот если бы в коллбек miniShop2 — добавление товара в корзину — можно было бы передать ту кнопку, которая спровоцировала событие добавления и проверить в своей функции допустим по классу, то можно было бы реализовать просто: и быструю покупку и открытие в модальном окне и вообще всё что душа попросит)
В miniShop2 есть система коллбеков, в которую можно добавлять свои, это безумно круто и спасибо в очередной раз автору за такую гибкость, но проблема в том что в эти коллбеки не передаётся DOM элемент, спровоцировавший событие и тут приходится велосипедить на js всякие не красивые штуки.
Суть вопроса вот в чём, в карточке товара есть две кнопки — в корзину и быстрая покупка, надо что бы первая вела себя как обычно, просто добавляла товар и уведомляла нас что он добавлен, а вторая добавляла товар и если он успешно добавлен, то перекидывала сразу в корзину, и вот если бы в коллбек miniShop2 — добавление товара в корзину — можно было бы передать ту кнопку, которая спровоцировала событие добавления и проверить в своей функции допустим по классу, то можно было бы реализовать просто: и быструю покупку и открытие в модальном окне и вообще всё что душа попросит)
[ExtJS] Расширяем компонент Collections
Часто ли вам приходится расширять какие-то стандартные штуки в MODX или в компонентах для него? Мне вот часто! Поэтому, давно хотелось поделиться чем-нибудь интересным на этот счёт, что я собственно и сделал в статье Дополнительные поля профиля юзера, где описал, как можно расширить профиль юзера, чтобы всё выглядело натурально. На этот раз расскажу, как можно расширять компонент Collections, не прибегая к крайним мерам, вроде правки исходников приложения.
[tagElementPlugin] Доработанный диалог параметров
Модификатор ':mod' на Fenom
У MODX есть встроенный модификатор mod: [[+number:mod]]
На Fenom не нашел такого модификатора, и пришлось повторить его логику создав собственный модификатор, может кому-нибудь пригодится.
modulus,mod — Возвращает модуль числа (по умолчанию: %2, возвращает 0 или 1).
На Fenom не нашел такого модификатора, и пришлось повторить его логику создав собственный модификатор, может кому-нибудь пригодится.
Как создать свою сборку для MODX
Как и обещал, выкладываю инструкцию — как на основе сборки siteExtra сделать свою сборку. Скачать исходники можно на гитхабе https://github.com/ilyautkin/siteExtra. Полученный архив загружаем на сайт и распаковываем.