13 февраля 2020, 11:07 Для себя сделал так: core/components/collections/processors/mgr/resource/getlist.class.php: public function prepareQueryBeforeCount(xPDOQuery $c) { $parent = $this->getProperty('parent', null); $c->where(array( 'parent' => $parent, )); $query = $this->getProperty('query', null); if (!empty($query)) { $c->leftJoin('modUserProfile', 'CreatedByProfile', array('CreatedByProfile.internalKey = modResource.createdby')); $c->leftJoin('modUser', 'CreatedBy'); if (strpos($query, '=') !== false) { $queryWhere = array( 'pagetitle:LIKE' => '%######%', ); parse_str($query, $outputTvs); foreach($outputTvs as $tvName => $tvValue) { if (is_array($tvValue)) { foreach($tvValue as $tvNameIsArray => $tvValueIsArray) { array_push($queryWhere, array( 'OR:TemplateVarResources_' . $tvName . '.value:LIKE' => '%' . $tvValueIsArray . '%', )); } } else { array_push($queryWhere, array( 'OR:TemplateVarResources_' . $tvName . '.value:LIKE' => '%' . $tvValue . '%', )); } } } else { if ($this->searchQueryTitleOnly) { $queryWhere = array( 'pagetitle:LIKE' => '%' . $query . '%', ); } else { $queryWhere = array( 'pagetitle:LIKE' => '%' . $query . '%', 'OR:description:LIKE' => '%' . $query . '%', 'OR:alias:LIKE' => '%' . $query . '%', 'OR:introtext:LIKE' => '%' . $query . '%', 'OR:CreatedByProfile.fullname:LIKE' => '%' . $query . '%', 'OR:CreatedBy.username:LIKE' => '%' . $query . '%', ); } if ($this->searchQueryExcludeTvs == false) { // tv columns search rules foreach ($this->tvColumns as $column) { array_push($queryWhere, array( 'OR:TemplateVarResources_' . $column['column'] . '.value:LIKE' => '%' . $query . '%', )); } } if ($this->searchQueryExcludeTagger == false) { if ($this->useTagger) { $c->leftJoin('TaggerTagResource', 'TagResource', array('TagResource.resource = modResource.id')); $c->leftJoin('TaggerTag', 'Tag', array('Tag.id = TagResource.tag')); array_push($queryWhere, array( 'OR:Tag.tag:LIKE' => '%' . $query . '%', )); } } } $c->where($queryWhere); } $filter = $this->getProperty('filter', ''); switch ($filter) { case 'published': $c->where(array( 'published' => 1, 'deleted' => 0, )); break; case 'unpublished': $c->where(array( 'published' => 0, 'deleted' => 0, )); break; case 'deleted': $c->where(array( 'deleted' => 1, )); break; default: $c->where(array( 'deleted' => 0, )); break; } $c->where(array( 'class_key:!=' => 'CollectionContainer', // "NOT EXISTS (SELECT 1 FROM {$this->modx->getTableName('modResource')} r WHERE r.parent = modResource.id)" )); foreach ($this->tvColumns as $column) { $c->leftJoin('modTemplateVarResource', '`TemplateVarResources_' . $column['column'] . '`', '`TemplateVarResources_' . $column['column'] . '`.`contentid` = modResource.id AND `TemplateVarResources_' . $column['column'] . '`.`tmplvarid` = ' . $column['id']); } return $c; }Соответственно в после поиск теперь пишем (пример): tv_prm_category_food[]=Шашлыки&tv_prm_category_food[]=Десерты… Происходит фильтрация по нескольким значениям, можно фильтровать как разные tv так и единые. Также можете в assets/components/collections/css/mgr.css по селектору ".ext-strict #collections-child-search" … сделать себе ширину поля поиска пошире, чтобы можно было удобно и много писать. А также если пишите запрос без подстроки "=", то фильтрация происходит среди «всего» — как и раньше. ДесертыВуаля… Может кому пригодится… Вопросы / Collections: фильтрация ресурсов в админке по tv 2 0
07 февраля 2020, 15:48 Подниму тему, реально ли в этом компоненте сделать фильтрацию по tv? Куда копать хоть подскажите… Знающие люди… Вопросы / Collections: фильтрация ресурсов в админке по tv 2 0
11 января 2020, 13:03 Да, ты прав. Решил не заниматься херней. Всем добра. Для разработчиков / Обратная линия: Обновление компонентов MODX Revolution 3.0.0-alpha2 66 +1
03 января 2020, 10:32 Точнее сайт уже написан на Laravel + Voyager, но если MODX вдруг оживает, то почему бы и нет, очень отличная CMS. Вопрос выше актуален. Для разработчиков / Обратная линия: Обновление компонентов MODX Revolution 3.0.0-alpha2 66 0
03 января 2020, 10:20 У меня вопрос. Мне нужно прямо сейчас начинать писать сайт на MODX. Какую версию лучше выбрать? 2.7 или 3.0 альфа? Сайт не маленький, буду долго поддерживать. И соответственно когда выйдет релиз 3.0 буду апдейтить сайт. Вопрос важный. Для разработчиков / Обратная линия: Обновление компонентов MODX Revolution 3.0.0-alpha2 66 0
Где можно править тексты и заголовки писем? «Управление словарями» находится в панели администратора по пути: меню Система (иконка в виде шестеренки) -> Управление словарями.
mxBoard: канбан-доска для команд, людей и ИИ-агентов в MODX 3 Токены для ИИ-агентов, чтобы они могли работать с доской. Подробнее написал тут Баг проверю и постараюсь исправить.
Плагин EnvBadge: визуальный индикатор окружения в админке MODX3 Лучше автоматический ci/cd настроить и не править прод напрямую. Это самый безопасный вариант. Другое дело, что далеко не каждый владелец сайта и далеко не каждый сайт готовы в авт...
[videoGallery] Видео галерея YouTube, Vimeo Невозможно установить пакет с подписью: videogallery-1.4.0-beta Ошибка установки Error в /core/packages/videogallery-1.4.0-beta/modCategory/7fc931a7772edc9752c16e9c41eb5e52.reso...
Релиз miniShop2 ver. 4.4.1 & 4.4.2 Подскажите пожалуйста, может я что-то не знаю или упустил. Но есть ли решение по глюку с radio? Указываешь свое radio c одинаковым name и в результате при переключении получаешь вс...
MaxNotify Обновление компонента 1.3.0-pl (22.07.2026) — добавлено автоматическое получение полей через msOrder->toArray(); — массивы и объекты безопасно пропускаются; — стандартные...
MyFavorites MyFavorites — 3.0.0-beta Первая версия для MODX Revolution 3.x — компонент полностью переписан с нуля (PHP >= 8.4, namespaced-ядро MODX 3, PSR-4, сервис-ориентированная архит...
core/components/collections/processors/mgr/resource/getlist.class.php:
Соответственно в после поиск теперь пишем (пример):
… Происходит фильтрация по нескольким значениям, можно фильтровать как разные tv так и единые.
Также можете в
assets/components/collections/css/mgr.css по селектору ".ext-strict #collections-child-search"
… сделать себе ширину поля поиска пошире, чтобы можно было удобно и много писать.
А также если пишите запрос без подстроки "=", то фильтрация происходит среди «всего» — как и раньше.
Вуаля… Может кому пригодится…