21 июля 2021, 14:00 Эта таблица заполняется минишопом, если у заказа статус Оплачено. Когда этот статус присваивается заказу, пользователь добавляется в эту таблицу, ему создается реферальный код, записывается значение потраченных денег. Компонент msProfile позволяет развернуть реферальную программу и накопление бонусных баллов, бонусные балы также могут использоваться как лицевой счет и тд. Не уверен, но вроде еще и компонент msDiscount использует эту таблицу. Вопросы / А что хранит таблица ms2_customer_profiles 10 +2
21 июля 2021, 12:51 modstore.pro/packages/users/msprofile Этот компонент работает с этой таблицей Вопросы / А что хранит таблица ms2_customer_profiles 10 0
09 апреля 2021, 12:55 Товарищи, поделитесь мнением, а насколько актуально сегодня использование xpdo (в плане быстродействия, удобства, количества специалистов), есть ли смысл переделывать админку и оставлять его. Новости и события / Результаты прошедшего MODX SnowUP 2021 95 0
15 марта 2021, 09:49 Спасибо Новости и события / Обновлено! Зарегистрируйтесь на событие MODX Digital SnowUp, которое состоится 4 и 5 марта 2021 года! 14 0
15 марта 2021, 09:43 Господа, подскажите пожалуйста, есть ли modExtra для MODX3? Новости и события / Обновлено! Зарегистрируйтесь на событие MODX Digital SnowUp, которое состоится 4 и 5 марта 2021 года! 14 0
06 ноября 2019, 09:57 Вариант 1 — через базу данных поменять class_key. Вариант 2 — установить компонент Console и в нем выполнить код: <?php $tickets_section = 23; // Подставить id нужного раздела с тикетами $tickets_ids = $modx->getChildIds($tickets_section, 5, array('context' => 'web')); foreach ($tickets_ids as $id) { if ($ticket = $modx->getObject('modResource', array('id' => $id, 'class_key' => 'Ticket'))) { $ticket->set('class_key', 'modDocument'); // Если у дочерних ресурсов Collections другой class_key, то заменить на нужный $ticket->save(); } } if ($tickets_section = $modx->getObject('modResource', array('id' => $id, 'class_key' => 'TicketsSection'))) { $tickets_section->set('class_key', 'CollectionContainer'); $tickets_section->save(); }В любом случае к этому превращению нужно подойти обдумано, так как у этих ресурсов могут быть свои комментарии и другие связи Вопросы / Как превратить Tickets в Collections или в обычный ресурс? 3 0 1
26 сентября 2019, 10:19 Windows придумывался не для серверов, в отличие от Unix (Gnu/Linux). Там нет огромного количества нужных вещей, начиная хотя-бы с bash и пакетных менеджеров, и заканчивая правами доступаWindows, конечно, это — боль, но в десятке есть возможность ее смягчить при помощи WSL, ставишь wsl ubuntu или другую систему, накатываешь в нее все, что нужно от php до node.js, причем можно сделать в конфигурации аналогичной продакшену и работаешь. В директории проекта, в строке проводника пишешь wsl и открывается bash. А в настройках терминала PhpStorm вместо командной строки виндоус можно прописать: C:\Windows\System32\wsl.exe и будет совсем неплохо. Для разработчиков / MODX + Windows Server. Есть ли жизнь? 11 +2
17 сентября 2019, 21:27 В-последних, я в вашу групповушку не претендую, я ваш вариант решения понять хочу. Хотя бы может ссылку на гитхаб разместили Во-первых и вторых — это не готовое API, и не и инструкция по его созданию, а базовые классы, которые можно расширять, кому как нужно, и да — это далеко не самое удобное решение. В-третьих, сам Джейсон, я более чем уверен, имел в виду, что когда ему нужно создать API-based решение использует Slim (а Джейсон, правда сапожник?) В-четвертых — В-пятых, третья версия планировалась на Slim 3, да, планировалась (в 2015), но не как надстройка над MODX 2, правильно? Я так понимаю в далеком 2015 сапожник Джейсон мечтал о PSR-7 и думал о Slim 3 и XPDO 3. Но тяга к обратной совместимости и прочие факторы дают о себе знать Для разработчиков / AdminRevolution. Быть или не быть? 148 0
17 сентября 2019, 19:33 docs.modx.com/revolution/2.x/developing-in-modx/advanced-development/developing-rest-servers Для разработчиков / AdminRevolution. Быть или не быть? 148 0
17 сентября 2019, 18:56 Я прочитал заметку, но не понял в чем суть… Получается мы берем MODX и к нему прикручиваем Slim 4 + доп. решения. Зачем? А чтобы получить API MODX (которое, в принципе уже и так есть) и прикрутить к нему собственную админку на чем хочешь… это выглядит как-будто из Оки сделать Лэнд Крузер Для разработчиков / AdminRevolution. Быть или не быть? 148 0
06 августа 2019, 17:16 То есть речь идет о связке rest api на Slim3 (либо MODX, Laravel и т.п.) и NuxtJS в ssr-режиме (для динамических сайтов) через axios или еще как? Новости и события / Я устал, я ухожу (с) 110 0
18 апреля 2019, 14:22 Или так: 'friendly_alias_restrict_chars' => 'pattern', 'friendly_alias_restrict_chars_pattern' => '/[\0\x0B\t\n\r\f\a&=+°%#«»…<>—№!",.()\/\~:`@\?\[\]\{\}\|\^\'\\\\]/', Новые дополнения и их версии / [Translitor] - Альтернатива транслитерации псевдонимов 28 +2 3
01 октября 2018, 13:19 Если делать сайт как компонент, можно в резолвере setup.php вызывать создание набора параметров, в данном случае набор называется Bootstrap4 if ($snippet = $modx->getObject('modSnippet', array('name' => 'pdoPage'))) { if (!$prop_bootsrap4 = $modx->getObject('modPropertySet', array('name' => 'Bootstrap4'))) { // Подставляем массив свойств для набора Bootstrap4 $prop_bootsrap4 = $modx->newObject('modPropertySet', array( 'name' => 'Bootstrap4', 'description' => 'Pagination Property Set for Bootstrap 4', 'properties' => array( 'tplPage' => array( 'name' => 'tplPage', 'desc' => 'pdotools_prop_tplPage', 'options' => array(), 'lexicon' => 'pdotools:properties', 'area' => '', 'type' => 'textfield', 'value' => '@INLINE <li class="page-item"><a class="page-link" href="[[+href]]">[[+pageNo]]</a></li>', ), 'tplPageWrapper' => array( 'name' => 'tplPageWrapper', 'desc' => 'pdotools_tplPageWrapper', 'options' => array(), 'lexicon' => 'pdotools:properties', 'area' => '', 'type' => 'textfield', 'value' => '@INLINE <ul class="pagination">[[+first]][[+prev]][[+pages]][[+next]][[+last]]</ul>', ), 'tplPageActive' => array( 'name' => 'tplPageActive', 'desc' => 'pdotools_tplPageActive', 'options' => array(), 'lexicon' => 'pdotools:properties', 'area' => '', 'type' => 'textfield', 'value' => '@INLINE <li class="page-item active"><a class="page-link" href="[[+href]]">[[+pageNo]]</a></li>', ), 'tplPageFirst' => array( 'name' => 'tplPageFirst', 'desc' => 'pdotools_tplPageFirst', 'options' => array(), 'lexicon' => 'pdotools:properties', 'area' => '', 'type' => 'textfield', 'value' => '@INLINE <li class="page-item"><a class="page-link" href="[[+href]]">[[%pdopage_first]]</a></li>', ), 'tplPageLast' => array( 'name' => 'tplPageLast', 'desc' => 'pdotools_tplPageLast', 'options' => array(), 'lexicon' => 'pdotools:properties', 'area' => '', 'type' => 'textfield', 'value' => '@INLINE <li class="page-item"><a class="page-link" href="[[+href]]">[[%pdopage_last]]</a></li>', ), 'tplPagePrev' => array( 'name' => 'tplPagePrev', 'desc' => 'pdotools_tplPagePrev', 'options' => array(), 'lexicon' => 'pdotools:properties', 'area' => '', 'type' => 'textfield', 'value' => '@INLINE <li class="page-item"><a class="page-link" href="[[+href]]">«</a></li>', ), 'tplPageNext' => array( 'name' => 'tplPageNext', 'desc' => 'pdotools_tplPageNext', 'options' => array(), 'lexicon' => 'pdotools:properties', 'area' => '', 'type' => 'textfield', 'value' => '@INLINE <li class="page-item"><a class="page-link" href="[[+href]]">»</a></li>', ), 'tplPageSkip' => array( 'name' => 'tplPageSkip', 'desc' => 'pdotools_tplPageSkip', 'options' => array(), 'lexicon' => 'pdotools:properties', 'area' => '', 'type' => 'textfield', 'value' => '@INLINE <li class="page-item disabled"><span class="page-link">...</span></li>', ), 'tplPageFirstEmpty' => array( 'name' => 'tplPageFirstEmpty', 'desc' => 'pdotools_tplPageFirstEmpty', 'options' => array(), 'lexicon' => 'pdotools:properties', 'area' => '', 'type' => 'textfield', 'value' => '@INLINE <li class="page-item disabled"><span class="page-link">[[%pdopage_first]]</span></li>', ), 'tplPageLastEmpty' => array( 'name' => 'tplPageLastEmpty', 'desc' => 'pdotools_tplPageLastEmpty', 'options' => array(), 'lexicon' => 'pdotools:properties', 'area' => '', 'type' => 'textfield', 'value' => '@INLINE <li class="page-item disabled"><span class="page-link">[[%pdopage_last]]</span></li>', ), 'tplPagePrevEmpty' => array( 'name' => 'tplPagePrevEmpty', 'desc' => 'pdotools_tplPagePrevEmpty', 'options' => array(), 'lexicon' => 'pdotools:properties', 'area' => '', 'type' => 'textfield', 'value' => '@INLINE <li class="page-item disabled"><span class="page-link" aria-hidden="true">«</span></li>', ), 'tplPageNextEmpty' => array( 'name' => 'tplPageNextEmpty', 'desc' => 'pdotools_tplPageNextEmpty', 'options' => array(), 'lexicon' => 'pdotools:properties', 'area' => '', 'type' => 'textfield', 'value' => '@INLINE <li class="page-item disabled"><span class="page-link" aria-hidden="true">»</span></li>', ), ), )); // Запись набора свойств и пишем в лог установки if ($prop_bootsrap4->save() && $snippet->addPropertySet($prop_bootsrap4)) { $modx->log(xPDO::LOG_LEVEL_INFO, 'Property set "pdoPage" for snippet <b>pdoPage</b> was created'); } else { $modx->log(xPDO::LOG_LEVEL_ERROR, 'Could not create property set "Bootstrap4" for <b>pdoPage</b>'); } } } Вопросы / [РЕШЕНО] pagination для bootstrap 3 и 4 12 0
26 июля 2018, 10:21 Спасибо за помощь. Но проблема оказалась в ошибке конфига сайта, в переменной dbase стояло значение site, а в database_dsn было site_ru. С этой ошибкой работал сайт, но не работало обновление. А в ручном режиме я упорно вводил имя базы — site. Вопросы / Проблемы с обновлением MODX когда MySQL не на localhost 3 0
03 апреля 2018, 08:38 Надо добавить where {'!msProducts'|snippet:[ 'limit' => 3, 'parents' => 3, 'sortby' => 'publishedon', 'sortdir' => 'ASC', 'leftJoin' => '{"small":{"class":"msProductFile","alias":"small", "on": "small.product_id = msProduct.id AND small.path LIKE \'%/small/\'"}}', 'select' => '{"small":"GROUP_CONCAT(small.url ORDER BY small.rank SEPARATOR \';\') as images"}', 'showLog' => 1, 'where' => '{ "small.description": "my_color" }', ]} Вопросы / Подзапрос в pdoFetch 4 0
29 марта 2018, 16:43 То в какой группе пользователь расскажет таблица p_member_groups (member — id пользователя, user_group — id группы Вопросы / Частичный перенос сайта 18 +1
04 января 2018, 14:57 https://github.com/ilyautkin/siteExtra/blob/master/_build/resolvers/resolve.tvs.php Новости и события / Работа с MODX из IDE без админки 33 +2
18 декабря 2017, 12:07 Не заметил никаких проблем с обновлением pdoTools. У вас, видимо, установлено дополнение modHelpers, может дело в нем? Попробуйте {if $_modx->user.id > 0}блок кода 1 {else}блок кода 2 {/if} Вопросы / Не грузятся страницы сайта после обновления pdoTools с версии 2.10.3 на версию 2.10.4 12 0
16 декабря 2017, 12:37 Здравствуйте. Если задача еще актуальна — пишите в личку Объявления о работе / Создать интернет-магазин Minishop2 5 0
14 декабря 2017, 00:09 Здравствуйте. Пишите в личку Объявления о работе / Сделать выгрузку товаров из 1C предприятие 8.3 управление торговлей в minishop2 1 0
Возможно ли реализовать возможность предоплаты за доставку на сайте? Так ради этого мне и нужно это все, чтобы клиент платил сразу при оформлении заказа, чтобы избавить себя от мусорных заявок (когда человек оставляет заявку, а предоплату делать не ...
Редизайн сообщества На больших экранах основной текст статьи я бы сделал 18 px. Да и текст комментариев можно таким сделать. Для меня лично 16 — мелковато на больших экранах (в комментариях вообще 15 ...
MiniShop3 1.11.0 при клике на radio идет пересчет итоговой суммы в orderUI, в зависимости от способов(оплаты доставки) я так поняла. попробуй код запуска события поставить ниже чем orderUI, после
ImageOptimizer - WebP/AVIF и responsive <picture> для MODX 3 Дополнение доступно modstore.pro/packages/photos-and-files/imageoptimizer
Localizator3 для MODX 3: перевод полей и TV без отдельного context на язык, Vue 3 + PrimeV... Добавил localizator3_default_language
msInShopNotify Начиная с версии 3.0.0-beta добавлена поддержка MiniShop3 Минимальные требования: PHP 8.4 MODX 3.2 MiniShop3
MaxNotify Обновление 1.2.0-pl (03.07.2026) — добавлены уведомления о заявках FormIt через hook-сниппет `maxNotifyFormIt`; — добавлены уведомления о заявках SendIt через hook-...
[msBonus2] 1.3.0 Бонус-коды, уведомления о сгорании и совместимость с msMultiCurre... Да, планируется. Даже чуть больше, чем просто бонусная система)
Этот компонент работает с этой таблицей
Вариант 2 — установить компонент Console и в нем выполнить код:
В любом случае к этому превращению нужно подойти обдумано, так как у этих ресурсов могут быть свои комментарии и другие связи
А в настройках терминала PhpStorm вместо командной строки виндоус можно прописать: C:\Windows\System32\wsl.exe и будет совсем неплохо.
Во-первых и вторых — это не готовое API, и не и инструкция по его созданию, а базовые классы, которые можно расширять, кому как нужно, и да — это далеко не самое удобное решение.
В-третьих, сам Джейсон, я более чем уверен, имел в виду, что когда ему нужно создать API-based решение использует Slim (а Джейсон, правда сапожник?)
В-четвертых — В-пятых, третья версия планировалась на Slim 3, да, планировалась (в 2015), но не как надстройка над MODX 2, правильно? Я так понимаю в далеком 2015 сапожник Джейсон мечтал о PSR-7 и думал о Slim 3 и XPDO 3. Но тяга к обратной совместимости и прочие факторы дают о себе знать
Но проблема оказалась в ошибке конфига сайта, в переменной dbase стояло значение site, а в database_dsn было site_ru. С этой ошибкой работал сайт, но не работало обновление. А в ручном режиме я упорно вводил имя базы — site.