Проверьте разрешение страницы пользователя с PageID Concrete5

Я заполняю контент на конкретной странице5 8.2.1 с ее дочерних страниц, используя $page->getCollectionChildrenArray(true)Но проблема в том, что он выводит страницы, на которые у пользователя нет прав доступа. Я хочу добавить проверку, чтобы остановить вывод контента, если вошедший в систему пользователь не имеет разрешения на просмотр этой страницы. Я нашел следующую документацию по Проверка разрешений в отношении других пользователей или групп но я не могу понять, как заставить это работать для моего случая. У меня есть pageID, как в примере кода, поэтому, если я могу использовать, это будет полезно.

Пример кода

<?php $curriculums = $page->getCollectionChildrenArray(true);
if(count($curriculums) > 0 ) { ?>
<section class="display-box">
<?php for ($x = 0; count($curriculums) > $x; $x++) {
$curriculum = Page::getByID($curriculums[$x]); ?>
<?php echo "<article><header><h2>".$curriculum->getCollectionName()."</h2></header>";
$desc = $curriculum->getCollectionDescription();
if ($desc){ ?>
<main><?=$desc;?></main>
<?php } echo "<a class='box-link' href='".$curriculum->getCollectionPath()."'>View ".$curriculum->getCollectionName()."&nbsp;&nbsp;<i class='fa fa-arrow-circle-right' aria-hidden='true'></i></a>";
echo "</article>";
} ?>
</section>
<?php } else {echo '<p class="no-message">There are no modules available for this curriculum at this time.</p>';} ?>

Я новичок в concrete5, поэтому любая помощь будет принята с благодарностью.

0

Решение

Наконец-то нашел код, который работал

$curriculum = Page::getByID($curriculums[$x]);
$curp = new Permissions($curriculum);
if($curp->canViewPage()) {}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector