Example #1
0
 /**
  * Return this Page's sibling pages, optionally filtered by a selector. 
  *
  * Note that the siblings include the current page. To exclude the current page, specify "id!=$page". 
  *
  * @param Page $page
  * @param string $selector Optional selector to filter siblings by.
  * @return PageArray
  *
  */
 public function siblings(Page $page, $selector = '')
 {
     if ($selector) {
         $selector .= ", ";
     }
     $selector = "parent_id={$page->parent_id}, {$selector}";
     if (strpos($selector, 'sort=') === false) {
         $parent = $page->parent();
         $selector .= "sort=" . ($parent ? $parent->sortfield : 'sort');
     }
     $options = array('caller' => 'page.siblings');
     return $page->wire('pages')->find(trim($selector, ", "), $options);
 }