Роман Воропаев (Volk)
С нами с 03 декабря 2015; Место в рейтинге пользователей: #149- Заметки 256
- Комментарии 64
Сегодня в 10:34
В какое славное время я взялся за изучение кода)) Только выучил элементарную базу PHP, как выясняется, что это скоро и не нужно никому будет). Расходи...
Вопрос по будущему MODX и стратегии развития. 3
Сегодня в 01:40
Далее код оставил без изменений
<script type="text/javascript">
// <![CDATA[
{literal}
Ext.onReady(f...
Помогите добить VideoGallery 2
Вчера в 20:13
Не нужно меня поддерживать в данном конкретном случае. Прошу убрать лишнее
Опыт по переносу MODX2 на MODX3 и Minishop3 2
Вчера в 19:28
В общем убил целый день, но… так у меня ничего и не вышло.
не могу зарегистрировать класс.
содержание самого файла my_msorderhandler.class.php:
...
Кастомизация minishop'a 9
Вчера в 16:01
Компонент очень нужный и мне кажется будет востребован.
У меня тут задача стоит сделать что-то подобное на сайте на движке на MODX 2.8 — там есть ста...
ms3Variants - Реализация вариантов одного товара в MiniShop3 4
Вчера в 14:42
тут пришла мысль что никто не захочет просто так делиться своим опытом за бесплатно. Можно было бы сделать статьи и кейсы платными? Типа хочешь прочит...
Предложение по развитию сообщества: Создание каталога портфолио/реализованных кейсов на MODX с демо ... 1
Вчера в 10:08
Добрый день! Я этот компонент давно делал, и еще лет 5 не возвращался к нему… он работоспособен, все в этом плане нормально (ну по крайней мере с php ...
msProductKits - удобное управление товарами-комплектами (наборами товаров) 29
19 февраля 2026, 10:22
Вижу, спасибо.
Ошибочно решил, что если есть в документации minishop2, то в старых версиях есть и сам код не посмотрел.
Предыдущий идентификатор статуса при событии 'msOnChangeOrderStatus' 4
19 февраля 2026, 09:27
Привет, Алексей.
1. Как определяем ботов
Проверка идёт по User-Agent в ms3rv_is_bot() (helpers.php). Используется regex по типичным маркерам краул...
ms3RecentlyViewed - Недавно просмотренные товары для MiniShop3 2
Fi1osofВыполняете код:
Так как у вас документов много, советую сначала прогнать только корневые документы (добавить в запрос $q->where(array('parent' => 0));), а потом по каждому разделу в отдельности, указывая соответствующий parent.
Здесь делаете проверку, какое действие происходит.
Например так
Допустим хотим ограничить доступ пользователей по email. Пускать только разрешенные email.
1. создаем свое событие для плагина
проверить создалось ли событие можно так
2. добавляем в action.php
3. пишем плагин на наше событие
даст такой запрос:
А этот:
даст две группы, объединенные оператором OR:
Дополнительную информацию можно посмотреть тут: rtfm.modx.com/xpdo/2.x/class-reference/xpdoquery/xpdoquery.where
Указываем параметр с именем чанка:
Прописываем обработку чанка в сниппете:
И пишем сам чанк с формой myForm:
Вот, примерно так все в MODX и разделяется.
Может кому интересно или пригодиться, выложу чудо творение:
Чанк
Тут мы вызываем наш сниппет который содержит форму, а script type перехватывает его… в общем получается ajax
Код сниппета
Тут мы имеем три поля и кнопку отправки, так же прием запроса и вычисления суммы этих трех полей.
Еще раз большое спасибо Василий!
Главная цель — положить товар в корзину с нужной ценой, этого можно добиться написанием плагина на событие корзины msOnBeforeAddToCart.
Плагин должен проверять авторизацию и получать нужную цену, а затем менять её в объекте product (но не сохранять!).
Пример плагина, меняющего нормальный price на old_price, если юзер авторизован: