Сергей Шлоков

Сергей Шлоков

Был в сети 06 ноября 2025, 19:54
Заказы не принимаю
Получается что группа указана последней будет приоритетнее?
Да. Я так и написал.
И что за приориет записи прав?
Возможно 2 варианта —
1. Приоритет записей — последовательная проверка добавленных прав.
2. Приоритет прав — например, «запрещение» выше «разрешения».
Я выбрал первый вариант, у него больше возможностей.
Логика такая:
1. Запись «Все» — имеет наименьший приоритет. Может быть только одна такая запись.
2. Запись с группой пользователей — перебивает права, указанные в записи «Все». Групп можно указать несколько.
3. Запись с пользователем — имеет наивысший приоритет. Перебивает права групп и записи «Все». Каждый пользователь может быть указан только один раз.
Так как групп может быть несколько, то для них как раз и вводится ещё один приоритет.
Что будет с дочерними ресурсами, в случае если ограничить доступ к родителю?
Так же как и в родном механизме MODX — права родителя не влияют на дочерний ресурс. Но думаю, такая возможность будет не лишний. Спасибо за идею.
Не тянет эта «штука» на отдельный пакет. Полноценного интерфейса в админке нет. Функционал ограниченный — права только для фронта и только «load» и «view». Даже «list» уже не тянет.
А чем обусловлено такое желание?

П.С. adminTools — набор независимых друг от друга примочек.
Оффтоп.
Изначально опечатался и написал «больНое спасибо». И мне вспомнился случай из моей студенческой молодости, когда я торговал видеокассетами на Горбушке. Сын хозяина точки печатал этикетки для кассет — картинка, актеры, краткое описание. И вот вышла режиссёрская версия Крёстного отца. Этикетки сын напечатал. Их наклеили на кассеты. А потом мы решили прочитать их.
Лёгким движением пальца пацана слоган «Крёстный отец стал классикой мирового кино» превратился в «Крёстный отец срал классикой мирового кино». Мы несколько дней потом разговаривали сквозь слёзы смеха.
Сергей, делай в удовольствие! Идеи твои хороши, спасибо тебе.
Я так и делал, когда постигал программирование и MODX. Но я не занимаюсь созданием сайтов. Поэтому реализовав какую-то интересную для себя идею, я про неё забываю. Мне не где её потом использовать. Соответственно, заставлять себя развивать потом созданные компоненты у меня нет никакого стимула. Для меня они интереса уже не представляют — креатива нет, просто работа. А рутинная работа и удовольствие — понятия несовместимые. А я занимаюсь программированием только ради удовольствия.
Вообще стимулирование (словесное или материальное) важно для любых разработчиков. Вспомним таких разработчиков как Андрей Чирко (andchir), Евгений Борисов (agel_nash), Валентин Расулов (artDevue) с их крутыми дополнениями. Ну и где они сейчас?
Такая нехорошая тенденция, халява- да, вознаграждение автору — нет. Честно, мне непонятно отчего так жмутся за копейки именно те, кто готов использовать и понимают удобства и выгоды (время, нервы и т.п.)…
Не надо так критично. Половина моих дополнений предназначены для админов и разработчиков. И они бесплатны. И будут бесплатны и дальше. Я прекрасно понимаю, что эти дополнения заказчик оплачивать вряд-ли будет.
Я не рассматриваю нежелание скидываться за неуважение к моим трудам. Данный пост относится только к разработке конкретно dbAdmin. Если у разработчиков нет потребности в развитии данного компонента, то мне это не нужно и подавно. Тут не на что обижаться.

П.С. А тебе большое спасибо за добрый слова!
Андрей, не могу понять твой комментарий. Т.е. мне удалить этот пост и заняться доработкой?

П.С. Экспорт есть, а импорт только ручной через sql запрос.
П.П.С. Насчет бесценности… Несмотря на сотни скачиваний и полторы сотни просмотров этого поста, кроме Владимира никто не захотел поучаствовать в развитии. Ещё пара дней и пост уйдет с главной страницы. Поэтому вывод можно сделать уже сейчас — будущего у данного компонента нет.
Что спрашиваете, то и получаете. Метод getContent() возвращает необработанный контент ресурса. Чтобы обработать теги либо парсите его самостоятельно, либо используйте метод process() вместо getContent(). Но тогда у этого ресурса должен быть пустой шаблон. Иначе получите готовую страницу HTML, а не контент.
Спасибо!
Замечание по форме оплаты. Поскольку это форма от Яндекса, наверно должен быть выбор с карты ли платить или с кошелька Яндекс-денег. Очень муторно вводить реквизиты карты, когда с кошелька много оплата проще.
Там рядом с полем суммы есть 2 кнопки — оплата через карты или через яндекс.
Для начала импортозамещайте getResources на pdoTools и используйте его методы getCollection и getChunk (он не лезет в базу за чанком при каждом вызове, а берёт его из памяти).
Получается что-то типа такого
foreach ($resources1 as $res1) {
   $output2 = '';
    foreach ($resources2 as $res2) {
        $output3 = '';
        foreach ($resources3 as $res3) {
            $output3 .= $pdoFetch->getChunk($tpl3,$res3);
        }
        $res2['wrapper'] = $output3;
        $output2 .= $pdoFetch->getChunk($tpl2, $res2);
    }
    $res1['wrapper'] = $output2;
    $output .= $pdoFetch->getChunk($tpl1, $res1);
} 
return $output;
}
Ну и соответственно в чанки $tpl1 и $tpl2 нужно добавить плейсхолдер [[+wrapper]] в нужное место
// Чанк $tpl1
<div class="level1">
	...
	[[+wrapper]]
</div>
Если чанки простые, можно использовать INLINE чанки.
Как-то так. Может «прям разработчики» что-нибудь допилят.