/**
  * Return array for breadcrumbs generation
  * array(
  *     array(title, link, [active], [siblings]),
  * )
  *
  * @param Page $page
  * @param Router $router
  * @param bool $with_siblings
  * @return array
  */
 public function getBreadcrumbs(Page $page, Router $router, $with_siblings = false)
 {
     /** @var \PropelObjectCollection $ancestors */
     $ancestors = $page->getAncestors();
     if (!$ancestors) {
         return array();
     }
     $path = array();
     $ancestors->append($page);
     /** @var Page $ancestor */
     foreach ($ancestors as $ancestor) {
         $ancestor->setLocale($page->getLocale());
         $item = array('page' => $ancestor, 'title' => $ancestor->getTitle(), 'link' => $this->generatePageLink($ancestor, $router), 'active' => $this->isPageActive($ancestor));
         // Siblings
         if ($with_siblings) {
             $siblings = $ancestor->getSiblings(true);
             /** @var Page $sibling */
             foreach ($siblings as $sibling) {
                 $sibling->setLocale($page->getLocale());
                 if (!isset($item['siblings'])) {
                     $item['siblings'] = array();
                 }
                 $subitem = array('page' => $sibling, 'title' => $sibling->getTitle(), 'link' => $this->generatePageLink($sibling, $router), 'active' => $this->isPageActive($sibling));
                 $item['siblings'][] = $subitem;
             }
         }
         $path[] = $item;
     }
     return $path;
 }