edwardproff

edwardproff

Был в сети 28 февраля 2023, 13:28
Заказы не принимаю
Вдруг кто-то будет искать. Можно не расширять класс. Вот простой плагин на событие msOnGetStatusCart

if ($modx->context->key == 'mgr') {return;}

if ($modx->event->name = 'msOnGetStatusCart') {

	$values = & $modx->event->returnedValues;
	$values['status'] = $status;
	$values['status']['id'] = $cart->get()[ $status['key'] ]['id'];

}
Здравствуйте, Сергей! Разработка на MODX Revo моя главная специальность. К работе подхожу ответственно и использую самые последние инструменты для разработки. Напишите мне в Telegram(edwardproff) или vk(edwardproff). Все обговорим. Расскажу, что умею и какие технологии использую. Покажу свои проекты.
Здравствуйте, Иван! Я чуть переосмыслил свое решение данной задачи и хотел бы от Вас как от опытного разработчика увидеть комментарий.

1) Создаем для дочерних ресурсов tv-поле с множественным выбором ресурсов (родителей)
Получается у ресурса будет главный родитель и второстепенные родители.

2) Создаем плагин на событие OnDocFormSave, в котором проверяем наличие второстепенных родителей. Если такие имеются, то создаем в них ресурсы с таким же pagetitle и типом Ссылка.

3) Создаем плагин на событие OnDocFormDelete, в котором будем отслеживать:
1 — удаление дублированных ресурсов с типом Ссылка, чтобы убирать родителя у основного ресурса.
2 — удаление основного ресурса, чтобы удалить дублированные ресурса

Соответственно, эти три пункта создадут удобную структуру в дереве ресурсов и избавят нас от проблем с выводом через pdoResources, но проблема с хлебными крошками, выводом соседних ресурсов и выводом ресурсов из этой же категории остается.

4) Создаем плагин на событие OnLoadWebDocument, в котором смотрим откуда перешел пользователь, если его переход никак не связан с второстепенным родителем, то выводим как обычно. Иначе через куки можно отслеживать откуда перешел пользователь и подставлять в сниппеты для вывода соседних ресурсов и ресурсов из родительской категории второстепенного родителя.

Я написал очень криво, но надеюсь Вы поняли мысль. В данном решении не будет проблем с дублированием контента и страница исходного ресурса получится динамично. По сути мы подставляем разных родителей в зависимости от того, откуда перешел пользователь. Единственное не придумал, как поступить с хлебными крошками. Но я думаю если сесть делать, то эта проблема разрешится быстро.
Здравствуйте, могу предложить добавить к ресурсам tv поле, в котором вы будете выбирать родителей и через плагин создавать дубли в других категориях. Соответственно при обновлении ресурса, остальные тоже должны обновляться. Стучитесь в скайп(edwardproff) или telegram(edwardproff), обсудим.