Массовые права на ресурсы MODX
Привет всем, Товарищи, подскажите пожалуйста как сделать в MODX так что бы права, которые создаёшь для группы ресурсов распространялись рекурсивно если ресурс является контейнером с дочерними элементами?
Не дело же добавлять каждый дочерний элемент в группу, если можно туда добавить их общего родителя, но в MODX такая затея не работает
Получается вот что:
1)Есть ресурс-контейнер в нём 5 000 дочерних документов
2)Есть группа ресурсов с ограниченными правами
3)Для того что бы добавить в неё элемент нужно либо перетаскивать ресурсы в интерфейсе групп ресурсов
Либо у каждого ресурса во вкладке — группы ресурсов ставить галку.
4)Проблема — если я добавляю любым вышеперечисленным способом ресурс-контейнер в эту закрытую группу ресурсов, то доступ будет закрыт именно к ней, но не к её дочерним элементам. Получается, что надо 5 000 ресурсов вручную добавить в закрытую группу — по-моему это не нормально.
Есть ли какое-то решение данной проблемы?
Может хоть подскажите на крайний случай как хоть через консоль и MODX API быстро проставить этим ресурсам нужную галочку.
Я предлагал автору компонента adminTools реализовать такую штуку, он предложил идею в сообществе, но никто на неё не откликнулся и функционал так и не был реализован.
Товарищи, неужели никто не сталкивается с таким неудобством, может я что-то делаю не правильно — направьте на верный путь))
Не дело же добавлять каждый дочерний элемент в группу, если можно туда добавить их общего родителя, но в MODX такая затея не работает
Получается вот что:
1)Есть ресурс-контейнер в нём 5 000 дочерних документов
2)Есть группа ресурсов с ограниченными правами
3)Для того что бы добавить в неё элемент нужно либо перетаскивать ресурсы в интерфейсе групп ресурсов
Либо у каждого ресурса во вкладке — группы ресурсов ставить галку.
4)Проблема — если я добавляю любым вышеперечисленным способом ресурс-контейнер в эту закрытую группу ресурсов, то доступ будет закрыт именно к ней, но не к её дочерним элементам. Получается, что надо 5 000 ресурсов вручную добавить в закрытую группу — по-моему это не нормально.
Есть ли какое-то решение данной проблемы?
Может хоть подскажите на крайний случай как хоть через консоль и MODX API быстро проставить этим ресурсам нужную галочку.
Я предлагал автору компонента adminTools реализовать такую штуку, он предложил идею в сообществе, но никто на неё не откликнулся и функционал так и не был реализован.
Товарищи, неужели никто не сталкивается с таким неудобством, может я что-то делаю не правильно — направьте на верный путь))
- ВКонтакте
- Telegram
- Viber
- РЎРєРѕРїРСвЂВВВВВВВровать ссылку
2 342
0
Комментарии: 15
27 декабря 2016, 15:13
Что-то вопросы, касающиеся авторизации не очень актуальны в нашем сообществе))
Тогда просьба к нашим ГУРУ — ребята, подскажите, как в MODX массово устанавливать права на ресурсы?
Тогда просьба к нашим ГУРУ — ребята, подскажите, как в MODX массово устанавливать права на ресурсы?
27 декабря 2016, 17:56
В Новом году постараюсь найти время и сделать решение с пресетами для шаблонов.
27 декабря 2016, 19:15
Сергей, очень будем ждать появления такого функционала в AdminTools
27 декабря 2016, 15:29
Решением для повседневности является написание плагина, который при сохранении ресурса будет присоединять его к той же группе ресурсов, к которой относится родитель.
В качестве подсказки направления: существует метод modResource::joinGroup($group);, который необходимо использовать для присоединения ресурса к группе. В качестве параметра принимает один из трех вариантов:
1) Объект modResourceGroup
2) Название группы
3) ID группы
В качестве подсказки направления: существует метод modResource::joinGroup($group);, который необходимо использовать для присоединения ресурса к группе. В качестве параметра принимает один из трех вариантов:
1) Объект modResourceGroup
2) Название группы
3) ID группы
27 декабря 2016, 15:55
Михаил, спасибо огромное за оперативный ответ, и Ваша подсказка — то, что мне нужно. Ещё раз спасибо!
27 декабря 2016, 16:00
Если говорить о массовом присоединении, то настоятельно рекомендую сначала получить объект группы и передавать его в качестве параметра. Иначе MODX будет выполнять getObject() для каждого вызова функции, что сильно скажется на скорости работы.
27 декабря 2016, 18:05
Вроде MODX так и работает что для родителя права устанавливаешь а для дочерних они по умолчанию наследуются.
А вы как права проверяете?
А вы как права проверяете?
27 декабря 2016, 18:05
Наверное проще будет проверять права родителя чтобы не парится с ресурсами. и проставлять для каждого
27 декабря 2016, 19:18
Ну если бы всё было так просто как Вы говорите, наверное такого вопроса и не возникло, или Вы знаете какой то большой секрет, как это в MODX делается на раз-два? Тогда поделитесь с сообществом))
27 декабря 2016, 19:28
Все зависит от задачи которую нужно решить.
Доступ к ресурсу?
Тогда вот так:
Доступ к ресурсу?
Тогда вот так:
$parent = $modx->resource->get('parent');
/* @var modResource $modResource*/
if($modResource = $modx->getObject('modResource', array('id' => $parent))){
// Политика доступа к ресурсам примененная на вкладке "Группа ресурсов"
$Policy = $modResource->findPolicy('web');
//$Policy массив с данными по ресурсу
}
27 декабря 2016, 19:29
А какие вы доступы вы уже на применяете для группы, это опять же нужно смотреть.
27 декабря 2016, 19:38
Ну Вас вообще куда то не туда понесло))) Изначальный вопрос — как в MODX загнать контейнер и все его дочерние элементы в нужную группу ресурсов? В MODX нет удобного механизма — перетащил контейнер-родитель в группу ресурсов а с ним разом и все его дочерние элементы туда же, вот и приходится их все таскать по одной штуке, либо у все галочку на соответствующей вкладке выставлять, а теперь благодаря, нашим мудрейшим товарищам, я узнал про метод modResource::joinGroup(), с помощью которого очень легко решить поставленную задачу.
27 декабря 2016, 19:41
Ну так я и говорю что не заниматься вопросом как перетащить! В место этого проверить назначены права родителей выше!
Это просто другой метод решения задачи.
Это просто другой метод решения задачи.
27 декабря 2016, 19:58
Всё теперь понял Ваш ход мыслей) действительно другой взгляд на задачу) Ну здорово тогда! — теперь у нас есть на вооружении целых два метода решения задачи, спасибо и Вам, уважаемый bustep.ru, думаю сообществу будет полезна данная информация.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Здесь упомянуты:
Компонент | Текущая версия | Закачки |
AdminTools | 1.15.2-pl от 28.09.2020 | 3 509 |
8 часов назад
Здравствуйте
Есть желание использовать компонент polylang для автоматизации перевода с наименьшими усилиями, но есть пару вопросов, которые хотелось ...
Polylang 143
Вчера в 16:30
Добрый день.
Удалите плагин vpSystem от пакета.
[VirtualPage] - Виртуальные страницы. 183
Вчера в 08:40
Хочестя в тикеты при сохранении комментария добавить кнопку «проверить на ошибки» и при нажатии на нее проверить комментарий на ошибки в нейросети сох...
pbStudio: Создаём сайт с PageBlocks – настройка и главная страница 6
Вчера в 08:36
Нет, через апи идет запрос в ChatGPT, который формирует необходимые данные о блоке, а дальше PageBlocks их разбирает и создает все нужные элементы.
PageBlocks 2.6.0. Настройка меню MODX и гибкое управление страницей пользователя 12
Вчера в 00:03
Не работает парсинг с vk.com, vkvideo.ru
[videoGallery] 1.4.0 Поддержка VK Video и ещё пара фишек 9
17 апреля 2025, 23:01
Можете тоже подсказать как победить данную ошибку?
msGallerySearch - загрузка изображений в галерею minishop2 по ссылке и Google поиск картинок 44
17 апреля 2025, 21:35
Действительно! Самого главного я и не обозначил! Спасибо! Поправлю заголовок.
Речь идет именно о панели менеджера и возможности управления заказами.
...
Вывод перечня заказанных товаров в таблицу с заказами minishop2 (панель менеджера) 8
17 апреля 2025, 17:49
Очевидно ты используешь источник файлов, поэтому в админке путь прописан от источника, хочешь полный путь, откажись от источника файлов.
Не открываются загруженные файлы пишет страница не найдена 2
17 апреля 2025, 15:08
Привет, Henk. Спасибо за ответ! В посте по ссылке меня больше всего заинтересовала фраза «мы интегрировали AI в медиа-менеджер, чтобы значительно упро...
MODX/AI Hackathon Part 2 (27 марта) 4
17 апреля 2025, 13:17
в preg_match проверка проходит, и туда 100% приходит url
Здравствуйте! Первый раз такое вижу, у слеша, не 1 символ в строке, а 9!! Как это делает MODX 2