2017-08-28 61 views
0

我使用$page->getCollectionChildrenArray(true)从其子页面填充混凝土5中的内容8.2.1,但问题是它会输出用户无权查看的页面。如果登录用户没有查看该页面的权限,我想添加一个检查来停止输出内容。我在Checking Permissions Against Other Users or Groups上找到了以下文档,但似乎无法解决如何让它适用于我的案例。我有例如代码中的pageID,所以如果我可以使用它将会有所帮助。使用PageID检查用户页面权限Concrete5

示例代码

<?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()) {} 
代码