В MODX с помощью плагина Babel вы можете получить id связанной страницы следующим образом:
- Установите и активируйте плагин Babel на вашем сайте MODX.
- Создайте параметр "Связанная страница" для вашей страницы. Параметр "Связанная страница" должен быть типа "checkbox" или "dropdown". Этот параметр будет содержать id страниц, которые вы хотите связать с текущей страницей.
- В вашем шаблоне или сниппете вы можете использовать следующий код для получения id связанной страницы:
// Получение id текущей страницы $currentResourceId = $modx->resource->get('id'); // Получение значения параметра "Связанная страница" $linkedResourceIds = $modx->getOption('linkedResource', null, '', true); // Преобразование значения параметра в массив $linkedResourceIdsArray = explode(',', $linkedResourceIds); // Если массив не пустой if (!empty($linkedResourceIdsArray)) { // Проверка, есть ли текущий ресурс в массиве связанных ресурсов if (in_array($currentResourceId, $linkedResourceIdsArray)) { // Получение id связанной страницы $linkedResourceId = array_search($currentResourceId, $linkedResourceIdsArray); // Вывод id связанной страницы echo $linkedResourceId; } }
Примеры использования:
Если у вас есть только одна связанная страница, вы можете использовать следующий код:
$linkedResourceId = trim($modx->getOption('linkedResource')); // Вывод id связанной страницы echo $linkedResourceId;
Если у вас есть несколько связанных страниц, вы можете использовать следующий код:
$linkedResourceIds = $modx->getOption('linkedResource', null, '', true); if (!empty($linkedResourceIds)) { $linkedResourceIdsArray = explode(',', $linkedResourceIds); foreach ($linkedResourceIdsArray as $linkedResourceId) { // Вывод id связанной страницы echo $linkedResourceId; } }
Обратите внимание, что вы должны заменить 'linkedResource' на имя своего параметра "Связанная страница".