Beispiel #1
0
 /**
  * Get list item class.
  *
  * @param AbstractPage $page
  *
  * @return string
  */
 public function getLiClass(AbstractPage $page)
 {
     /* @var $escaper \Zend\View\Helper\EscapeHtmlAttr */
     $escaper = $this->getView()->plugin('escapeHtmlAttr');
     $liClasses = array($this->liClass);
     if ($this->getAddClassToListItem()) {
         $liClasses[] = $page->getClass();
     }
     if ($page->hasPages()) {
         $liClasses[] = $this->getLiHasMenuClass();
     }
     if ($page->isActive(true)) {
         $liClasses[] = $this->getLiActiveClass();
     }
     return $escaper(implode(' ', $liClasses));
 }
Beispiel #2
0
 /**
  * Searches the root container for forward 'subsection' relations of the
  * given $page
  *
  * From {@link http://www.w3.org/TR/html4/types.html#type-links}:
  * Refers to a document serving as a subsection in a collection of
  * documents.
  *
  * @param  AbstractPage $page
  * @return AbstractPage|array|null
  */
 public function searchRelSubsection(AbstractPage $page)
 {
     $found = array();
     if ($page->hasPages()) {
         // given page has child pages, loop chapters
         foreach ($this->findRoot($page) as $chapter) {
             // is page a section?
             if ($chapter->hasPage($page)) {
                 foreach ($page as $subsection) {
                     if ($this->accept($subsection)) {
                         $found[] = $subsection;
                     }
                 }
             }
         }
     }
     switch (count($found)) {
         case 0:
             return null;
         case 1:
             return $found[0];
         default:
             return $found;
     }
 }