Для получения ID соседнего ресурса в MODX Revolution (MODX Revo) можно использовать специальный вызов API, который предоставляется этой CMS. Есть несколько способов достичь этой цели, но я расскажу о двух наиболее распространенных методах.
1. Использование $modx->getParent и $modx->getChild методов:
В MODX существует функционал, который позволяет нам получать ресурс с определенным ID и затем использовать его для получения информации о его родительских и дочерних ресурсах. Вот пример кода, который может быть использован для получения ID соседнего ресурса:
$currentResource = $modx->resource; // получение текущего ресурса $parentResource = $modx->getParent($currentResource); // получение родительского ресурса $childrenResources = $modx->getChildIds($parentResource); // получение всех дочерних ресурсов // Используйте цикл для перебора всех дочерних ресурсов и проверьте их ID, чтобы найти соседний ресурс foreach ($childrenResources as $childResource) { if ($childResource != $currentResource->get('id')) { $neighbourResource = $modx->getObject('modResource', $childResource); $neighbourResourceId = $neighbourResource->get('id'); break; } } echo $neighbourResourceId; // вывод ID соседнего ресурса
2. Использование фильтра .next и .prev:
В MODX существует возможность использовать фильтры .next и .prev для получения соседних ресурсов относительно текущего. Эти фильтры возвращают следующий и предыдущий ресурсы соответственно. Вот пример кода:
$currentResource = $modx->resource; // получение текущего ресурса // Получение следующего ресурса $nextResource = $currentResource->getOne('next'); $nextResourceId = $nextResource->get('id'); echo $nextResourceId; // вывод ID следующего ресурса // Получение предыдущего ресурса $prevResource = $currentResource->getOne('prev'); $prevResourceId = $prevResource->get('id'); echo $prevResourceId; // вывод ID предыдущего ресурса
Оба метода позволяют получить ID соседнего ресурса в MODX Revo. Вы можете выбрать подход, который наиболее удобен для вашего проекта и использовать его для достижения необходимой функциональности.