0

我正在使用 concrete5 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的新手,所以任何帮助将不胜感激。

4

1 回答 1

0

终于找到了有效的代码

$curriculum = Page::getByID($curriculums[$x]);
$curp = new Permissions($curriculum);
if($curp->canViewPage()) {}
于 2017-08-28T12:25:19.087 回答