15 февраля 2023, 13:59 А если так: [[!msProducts? &templates=`22` &parents=`5` &where=`{"parent:IN":[ [[!+directparents]] ]}` ... ]] Вопросы / msProducts вывод товаров только из основной категории 4 +1
15 февраля 2023, 12:47 В where указываются поля ресурса. Непосредственный родитель прописывается в parent и указав так, получите только те, которые находятся непосредственно внутри категории 5: [[!msProducts? ... &where=`{ "parent":5 }` ... ]] Вопросы / msProducts вывод товаров только из основной категории 4 0
14 февраля 2023, 15:40 [!TestSnippet] Вам ничего и не выведет, правильно так: [[!TestSnippet]] А В нем возвращайте данные стандартно: <?php $out = 'Код страны'; return $out; Вопросы / Использование результата сниппета в чанке тпл 2 0
13 февраля 2023, 14:37 В настройках магазина » Статусы заказа у нового снимите чекбокс «Письмо покупателю»: Вопросы / Отключить уведомление о новом заказе на почту 2 +1
10 февраля 2023, 18:25 Можно через SimpleSearch получать только id ресурсов и их уже скармливать msProducts, где использовать стандартные методы сортировки, фильтрации и т. д.: [[!SimpleSearch? &containerTpl=`search_container` &tpl=`search_id` ]] Чанк search_id такой: [[+id]], А в чанке search_container уже pdoPage и все, что угодно: <div id="pdopage"> <div class="rows"> [[!pdoPage? &element=`msProducts` &resources=`[[+results:non]]` &parents=`7` &templates=`5` // шаблон товара &sortby=`Data.price` //и т .д. ]] </div> [[!+page.nav]] </div> Модификатор non нужен, чтобы убрать переносы строк в списке ID: <?php return str_replace(array("\r\n", "\r", "\n"), "", $input); Вопросы / SimpleSearch поиск только по товарам miniShop2 c сортировкой по цене 7 0 1
03 февраля 2023, 19:47 Вы не пишете ничего в поле, потому что пропустили: $user->set('username', $phone); Полный код: foreach ($modx->getIterator('modUser') as $user) { $profile = $user->getOne('Profile'); $arr = array('(', ')', '-'); $phone = str_replace($arr, '', $profile->get('phone')); $user->set('username', $phone); $user->save(); } Вопросы / Массовое изменение полей пользователя 12 0
03 февраля 2023, 18:52 //.... $arr = array('(', ')', '-', '—', '–', ' '); $phone = str_replace($arr, '', $profile->get('phone')); //.... Вопросы / Массовое изменение полей пользователя 12 0
03 февраля 2023, 18:26 Не знаю, выражение работает для всех вариантов: Вопросы / Массовое изменение полей пользователя 12 0
03 февраля 2023, 10:13 Так только цифры останутся: foreach ($modx->getIterator('modUser') as $user) { $profile = $user->getOne('Profile'); $phone = preg_replace("/[^,.0-9]/", '', $profile->get('phone')); $user->set('username', $phone); $user->save(); } Вопросы / Массовое изменение полей пользователя 12 0 1
02 февраля 2023, 15:09 Запустите в Console скрипт (естественно, сделав предварительно бэкап базы): foreach ($modx->getIterator('modUser') as $user) { $profile = $user->getOne('Profile'); $user->set('username', $profile->get('phone')); $user->save(); } Вопросы / Массовое изменение полей пользователя 12 +1
01 февраля 2023, 14:54 Если у Вас в TV используется источник файлов, отличный от Filesystem, то prepareTVs сформирует верный путь к изображению или файлу, поскольку сырые данные в TV пишутся в виде пути от корня источника. processTVs учитывает параметры вывода TV, а не выводит сырые данные. Вопросы / [pdoResources] Что такое prepareTVs и processTVs ? 2 +1
30 декабря 2022, 17:14 Сделайте сниппет и запускайте через CronManager <?php $content = $modx->runSnippet('pdoSitemap', array( 'context' => 'web', 'parents'=> 0, 'forceXML' => 0 )); file_put_contents(MODX_BASE_PATH.'filename.xml', $content); Вопросы / Вывод pdoSitemap в отдельный файл 1 0
15 ноября 2022, 18:03 Атрибуты name у полей корректные? tv**, где ** — ID TV-шек? В параметр &allowedFields они добавлены (таким же образом)? Вопросы / Update TV-полей у продуктов с помощью ms2form 4 0
18 октября 2022, 16:08 Да, пардон, там же темы в отдельной таблице и они с сообщениями линкуются по ID. Вот так должно сработать: <?php $mess = array(); $thrs = array(); $table_mess = $modx->getOption('table_prefix').'ec_messages'; $table_threads = $modx->getOption('table_prefix').'ec_threads'; $sql = "SELECT * FROM {$table_threads}"; $q = $modx->prepare($sql); $q->execute(); $threads = $q->fetchAll(PDO::FETCH_ASSOC); foreach($threads as $thread){ $thrs[$thread['resource']] = $thread['id']; } $ids = $modx->getChildIds(5,10,array('context' => 'web')); foreach ($ids as $id){ $tid = $thrs[$id]; $sql = "SELECT * FROM {$table_mess} WHERE `thread` = {$tid}"; $q = $modx->prepare($sql); $q->execute(); $messages = $q->fetchAll(PDO::FETCH_ASSOC); foreach ($messages as $message) { $mess[] = $message['id']; } } return implode(',', $mess); В чанках вот так попробуйте: [[#[[+thread_resource]].pagetitle]] [[#[[+thread_resource]].logo]] Вопросы / pdoPage + Easycomm: вывод комментариев на 1 странице с разбивкой кнопкой показать еще 12 +1 1
18 октября 2022, 14:11 В &tpl указан чанк или @INLINE...? Что выводит просто [[+thread]]. Вопросы / pdoPage + Easycomm: вывод комментариев на 1 странице с разбивкой кнопкой показать еще 12 +1
18 октября 2022, 14:08 Да, 5 — родитель, 10 — глубина выборки. Подробности тут Вопросы / pdoPage + Easycomm: вывод комментариев на 1 странице с разбивкой кнопкой показать еще 12 +1
18 октября 2022, 12:45 Попробуйте сделать сниппет getMessagesIds: $ids = $modx->getChildIds(5,10,array('context' => 'web')); $mess = array(); $table_mess = $modx->getOption('table_prefix').'ec_messages'; foreach ($ids as $id) { $sql = "SELECT * FROM {$table_mess} WHERE `thread` = {$id}"; $q = $modx->prepare($sql); $q->execute(); $messages = $q->fetchAll(PDO::FETCH_ASSOC); foreach ($messages as $message) { $mess[] = $message['id']; } } return implode(',', $mess); И используйте его в качестве &messages в вызове: [[!pdoPage? &element=`ecMessages` &threads=`*` &messages=`[[!getMessagesIds]]` ...... ]] Что касается полей ресурса, то в чанке сообщения можно использовать FastField: [[#[[+thread]].pagetitle]] [[#[[+thread]].logo]] Вопросы / pdoPage + Easycomm: вывод комментариев на 1 странице с разбивкой кнопкой показать еще 12 +1 1
16 октября 2022, 09:42 Сделайте плагин на событие OnWebPagePrerender — заодно и type у скриптов и стилей уберете: <?php $arr1 = array('type="text/css"', 'type="text/javascript"',' />','/>'); $arr2 = array('','','>','>'); $output = &$modx->resource->_output; $output = str_replace($arr1,$arr2,$output); Вопросы / TinyMCE и валидация, как вылечить? 2 +1
15 октября 2022, 10:06 Попробуйте так: [[!msProducts? &limit=`1` &tpl=`@INLINE [[+price]] ₽` &sortby=`Data.price` &where=`{ "Data.price:!=":0 }` ]] Вопросы / Использование сниппета в мета теге description 5 +1
15 октября 2022, 09:40 Создайте плагин на событие OnUserActivate, и в нем отправляйте письмо. Вопросы / Office письмо менеджеру при регистрации нового пользователя 2 +1
Gallery3x 3.4.0 - вставка галерей прямо из визуального редактора (CKEditor и TinyMCE RTE) Здравствуйте. Есть консольный скрипт Вот почитайте: docs.ivan345.com/books/gallery3x/page/import-ms2galleryphp
[mSync] Новая версия синхронизации с 1С Всем привет. В какой то момент начали сыпаться ошибки: Error 23000 executing statement: INSERT INTO `modx_msync_products` (`product_id`, `uuid_1c`) VALUES ...
Checkbox для модального окна Они не отключены, они платные, чтобы писали только те, кому действительно очень надо. Когда бесплатно люди начинают думать, что я им должен.
[SendIt 2.6.0] Анализ поведения пользователя для защиты от спама (невидимая капча)... Здравствуйте. Делаю личный кабинет на Sendit и со сбросом пароля возникли проблемы. Можете подсказать, в чем ошибка? Список вопросов в одноименном разделе на modx.pro пока пуст, и,...
Minishop + честный знак (продажа маркированной продукции) В нашем случае мы решили убрать всю логику по маркировке сайта.
MiniShop3 - Не выводятся товары дополнительных категорий @SYAN ваша указанная проблема исправлена еще до версии 1.2.3 @Павлик Мышкин завел: github.com/modx-pro/MiniShop3/issues/480 github.com/modx-pro/MiniShop3/issues/481Исправим в б...
MobileDetect 2.0.0-pl функция "планшеты как стандартные браузеры не работает" в 2.1.0-pl баг исправлен
А В нем возвращайте данные стандартно:
Чанк search_id такой:
А в чанке search_container уже pdoPage и все, что угодно:
Модификатор non нужен, чтобы убрать переносы строк в списке ID:
Полный код:
processTVs учитывает параметры вывода TV, а не выводит сырые данные.
tv**, где ** — ID TV-шек?
В параметр &allowedFields они добавлены (таким же образом)?
Вот так должно сработать:
В чанках вот так попробуйте:
Что выводит просто [[+thread]].
Подробности тут
И используйте его в качестве &messages в вызове:
Что касается полей ресурса, то в чанке сообщения можно использовать FastField: