我正在使用$page->getCollectionChildrenArray(true)
从其子页面的具体5 8.2.1页面填充内容,但问题是它输出的用户没有权限查看的页面。如果登录用户没有查看该页面的权限,我想添加一个检查来阻止它输出内容。我在Checking Permissions Against Other Users or Groups上找到了以下文档,但我似乎无法弄清楚如何让它适用于我的案例。我有例如代码中的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()." <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 :(得分:0)
终于找到了有效的代码
$curriculum = Page::getByID($curriculums[$x]);
$curp = new Permissions($curriculum);
if($curp->canViewPage()) {}