Какие права доступа нужно давать пользователям для удаление своих записей
Всем привет, сделал добавление и изменения записей со стороны фронтенда и хотел сделать еще удаление записей, но проблема в том, что у админа удаление работает, а у пользователей нет. В журнале ошибок выскакивает ошибка, что у пользователя нет прав на удаление. Когда пользователь нажимает на ссылку «Удалить», то появляется просто текст Array. Сейчас стоит web, member-9999, load,list and view, но пробовал ставить разные политики доступа, ничего не меняется.
Код сниппета
Код сниппета
<?php
if (!empty($_GET['action']) && $_GET['action'] === 'delete' && !empty($_GET['resourceId'])) {
$resourceId = intval($_GET['resourceId']);
$resource = $modx->getObject('modResource', $resourceId);
// Проверка, существует ли ресурс
if (!$resource) {
$modx->log(modX::LOG_LEVEL_ERROR, 'Ошибка: Ресурс с ID ' . $resourceId . ' не найден.');
return $modx->error->failure('Ресурс не найден.');
}
// Проверка прав доступа
if (!$modx->hasPermission('delete_document')) {
$modx->log(modX::LOG_LEVEL_ERROR, 'Ошибка: У пользователя нет прав на удаление ресурса с ID ' . $resourceId);
return $modx->error->failure('У вас нет прав на удаление этого ресурса.');
}
// Проверка, является ли текущий пользователь создателем ресурса
$userId = $modx->user->get('id');
if ($resource->get('createdby') != $userId) {
$modx->log(modX::LOG_LEVEL_ERROR, 'Ошибка: Пользователь с ID ' . $userId . ' пытался удалить чужой ресурс с ID ' . $resourceId);
return $modx->error->failure('Вы можете удалять только свои записи.');
}
// Удаление ресурса
if ($resource->remove()) {
$modx->log(modX::LOG_LEVEL_INFO, 'Ресурс с ID ' . $resourceId . ' успешно удален пользователем с ID ' . $userId);
// Перенаправление после успешного удаления
$modx->sendRedirect($modx->makeUrl($modx->getOption('site_start'), '', '', 'full'));
} else {
$modx->log(modX::LOG_LEVEL_ERROR, 'Ошибка: Не удалось удалить ресурс с ID ' . $resourceId);
return $modx->error->failure('Не удалось удалить ресурс.');
}
}
Ссылка на удалениеa href="[[~[[*id]]]]?action=delete&resourceId=[[+id]]" onclick="return confirm('Вы уверены, что хотите удалить этот ресурс?');">Удалить ресурс</a>
Может кто в курсе какие права доступа вставлять или может я вообще неправильно все делаю. Как импортировать msProductOptions данные через miniShop2 утилиту Импорт?
Как импортировать msProductOptions данные через miniShop2 утилиту Импорт? Будет ли работать это решение?
modx.pro/solutions/12280
Если да, что нужно добавить в файлы csv.php и importCSV.php, чтобы работало через утилиту?
Спасибо
modx.pro/solutions/12280
Если да, что нужно добавить в файлы csv.php и importCSV.php, чтобы работало через утилиту?
Спасибо
Вывод полей в таблице заказов minishop2
Приветствую!
Столкнулся с задачей изменить таблицу заказов minishop2.
Но на просторах интернета, так и не нашел подобного решения.
Существуют внятные и понятные (даже для моего уровня программирования) статьи о том как добавить новое поле, к примеру в закладку адрес, но вот по работе с самой таблицей, информации очень мало.
Если более детально описать, то требуется в таблицу с заказами вывести любое поле из таблицы ms2_order_addresses.
У меня получилось добавить новые колонки в таблице, но они пусты. На сколько я понимаю, в момент генерации таблицы нет запроса к ms2_order_addresses, сама таблица работает с ms2_orders.

На скрине колонка «Адрес получателя» живет аккурат в таблице ms2_order_addresses и пуста.
Буду благодарен помощи!
Столкнулся с задачей изменить таблицу заказов minishop2.
Но на просторах интернета, так и не нашел подобного решения.
Существуют внятные и понятные (даже для моего уровня программирования) статьи о том как добавить новое поле, к примеру в закладку адрес, но вот по работе с самой таблицей, информации очень мало.
Если более детально описать, то требуется в таблицу с заказами вывести любое поле из таблицы ms2_order_addresses.
У меня получилось добавить новые колонки в таблице, но они пусты. На сколько я понимаю, в момент генерации таблицы нет запроса к ms2_order_addresses, сама таблица работает с ms2_orders.

На скрине колонка «Адрес получателя» живет аккурат в таблице ms2_order_addresses и пуста.
Буду благодарен помощи!
MODX RSC | Telegram Karma Bot
Не выводятся данные пользователя в профиле
Всем привет!
Сделал регистрацию и авторизацию с Login, затем сделал личный кабинет и все это работает. Захотел сделать страницу профиль пользователя, чтобы другие могли посмотреть.
Сделал регистрацию и авторизацию с Login, затем сделал личный кабинет и все это работает. Захотел сделать страницу профиль пользователя, чтобы другие могли посмотреть.
Получить ALT изображения в сниппете ms2GalleryResources на fenom
Не могу на fenom получить alt или name изображения ms2Gallery в сниппете ms2GalleryResources.
{$file['name']} даёт пустое значение. Без fenom работает [[+small.alt]], по аналогии {$small['alt']} — даёт / (слэш)
Прикреплю код сниппета. Если тыкнете в строчку, где подсказка, буду рад. Сам нашел $thumb.alt на 69 строке, но ребус разгадать все-равно не могу.
{$file['name']} даёт пустое значение. Без fenom работает [[+small.alt]], по аналогии {$small['alt']} — даёт / (слэш)
Прикреплю код сниппета. Если тыкнете в строчку, где подсказка, буду рад. Сам нашел $thumb.alt на 69 строке, но ребус разгадать все-равно не могу.
MIGx. Listbox. Fenom. Вставка label вместо value.
Имеется список listbox с данными:
Библиотека №3 == library_3 || Библиотека №15 == library_15.
В одном месте в чанке нужно вставить label, то есть название, например «Библиотека №3»:
Библиотека №3 == library_3 || Библиотека №15 == library_15.
В одном месте в чанке нужно вставить label, то есть название, например «Библиотека №3»:
{$row.calendarEventsPlace}
А вдругом месте вставить соответствующее label value, library_3:data-lib="{$row.calendarEventsPlace}"
Value вставляется по-умолчанию, а как вставить название в код, чтобы не создавть дополнительное поле в конфигурации? Обновление Impex и Impex3
Всем привет.
Вышли версии 1.0.4 обоих пакетов с новыми полезными функциями.
Вышли версии 1.0.4 обоих пакетов с новыми полезными функциями.
- Добавлена возможность копирования существующей конфигурации.
- Добавлена возможность удаления файлов по отдельности (конфигураций, файлов импорта/экспорта, бэкапов).
- Добавлено системное событие OnImpexBeforeSetParentProduct, вызываемое перед обработкой родительской категории.
- Добавлено системное событие OnImpexBeforeFieldImport, вызываемое перед импортом конкретного поля.
- Во все события плагинов добавлена переменная $config_name — имя файла конфигурации.
- Добавлен плагин Impex с примерами.
- В конфигурации добавлен параметр category_id_field для указания поля категории, содержащее её уникальный идентификатор.
- В конфигурации добавлен параметр skip_new, для пропуска при импорте отсутствующих на сайте позиций (только обновление существующих).
- В плагине на событие OnImpexAfterResourceImport (после импорта ресурса) теперь доступен массив $data со всеми загруженными данными.
- Исправлены небольшие ошибки + добавилась проверка версии PHP и MODX при установке.
mFilter2 фильтрация из своей таблицы
Есть таблица modx_estate, создана модель и в принципе все поля из таблицы подтягиваются и tpl-ку выводятся
, но не могу фильтровать по полям своей таблицы. Подскажите как добавить в &filters например estate|totalArea (само собой totalArea имеется)) )
, но не могу фильтровать по полям своей таблицы. Подскажите как добавить в &filters например estate|totalArea (само собой totalArea имеется)) )
[[!mFilter2?
.......
&loadModels=`estate`
&leftJoin=`{
"Estate": {
"class": "Estate",
"alias": "Estate",
"on": "Estate.idHouse = CAST(modResource.link_attributes AS UNSIGNED)"
}
}`
&select=`{
"modResource": "*",
"Estate": "*"
}`
&filters=`
estate|totalArea`
&showLog=`1`
]]
Доработка Fancybox для вывода видео с Rutube
Добрый день, помогите с выводом видео с рутуб вместо ютуб. На сайте раздел с видео, видео настроено на доп полях, в доп поле просто вставлялась с ссылка с ютуб и в другом доп поле картинка превью. При нажатии на картинку открывается модальное окно Fancybox с видео, ссылка с рутуб не работает, как понимаю надо подружить рутуб с Fancybox? как это можно реализовать? Готов к помощи за вознаграждение.