12 минут назад
Етот кусок кода отвечает за то что бы менялась настройка ms2_services
<?php
if ($miniShop2 = $modx->getService('miniShop2')) {
$miniShop...
Кастомизация minishop'a 10
Вчера в 10:34
В какое славное время я взялся за изучение кода)) Только выучил элементарную базу PHP, как выясняется, что это скоро и не нужно никому будет). Расходи...
Вопрос по будущему MODX и стратегии развития. 3
Вчера в 01:40
Далее код оставил без изменений
<script type="text/javascript">
// <![CDATA[
{literal}
Ext.onReady(f...
Помогите добить VideoGallery 2
20 февраля 2026, 20:13
Не нужно меня поддерживать в данном конкретном случае. Прошу убрать лишнее
Опыт по переносу MODX2 на MODX3 и Minishop3 2
20 февраля 2026, 16:01
Компонент очень нужный и мне кажется будет востребован.
У меня тут задача стоит сделать что-то подобное на сайте на движке на MODX 2.8 — там есть ста...
ms3Variants - Реализация вариантов одного товара в MiniShop3 4
20 февраля 2026, 14:42
тут пришла мысль что никто не захочет просто так делиться своим опытом за бесплатно. Можно было бы сделать статьи и кейсы платными? Типа хочешь прочит...
Предложение по развитию сообщества: Создание каталога портфолио/реализованных кейсов на MODX с демо ... 1
20 февраля 2026, 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
Использовать как модификатор:
Укажите у этой TV тип вывода «Разделитель», поставьте в качестве него запятую и используйте ее в explode.
Но вообще все можно упростить. Сниппет getrel:
Вызов в шаблоне статьи:
Новый чанк укажите в вызове в параметре &tpl.
Если разделитель указан, то через него.
В случае фильтрации или каких-либо выводов ресурсов с учетом значения данного параметра, надо не указывать значения по умолчанию, а всё писать в базу. Для этого создайте плагин на событие onDocFormSave, где пишите нужные данные через ||:
Если на удаление ресурса, то повесьте плагин на событие OnDocFormDelete, если на очистку корзины, то на OnBeforeEmptyTrash.
В первом случае есть объект ресурса и значение его TV можно получить через:
Во втором — есть массив ID удаляемых ресурсов, которые можно использовать для получения объектов и дальше как в первом варианте.
Вот рабочий:
Обратите внимание на комментарий на третьей строке — там нужно поставить ID Вашей TV.
Ну и на вкладке «Системные события» не забудьте отметить флажок xLikeOnVote
Справа откроется редактор, внизу будет таблица с тикетами и там Правый клик » Изменить:
Там вкладка Дополнительные поля (TV), на которой будет like:
И почитайте документацию — там много интересного )).
Я просто создал TV like и вбил туда 1 и 2, которые для теста вывожу рядом с заголовком:
Вывод, если направление ASC:
Вывод, если DESC:
В запросе сортировка есть:
Если дадите доступ в админку (почта в профиле), гляну.
Значение туда пишется только в момент лайка и если создали только сейчас, то в них ничего нет.
Соответственно, нужно либо прописать текущие значения рейтинга, либо «пролайкать» заново.