Example #1
0
File: Menu.php Project: dafik/dfi
 public function htmlify(Zend_Navigation_Page $page)
 {
     // get label and title for translating
     $label = $page->getLabel();
     $title = $page->getTitle();
     // translate label and title?
     if ($this->getUseTranslator() && ($t = $this->getTranslator())) {
         if (is_string($label) && !empty($label)) {
             $label = $t->translate($label);
         }
         if (is_string($title) && !empty($title)) {
             $title = $t->translate($title);
         }
     }
     // get attribs for element
     $attribs = array('id' => $page->getId(), 'title' => $title);
     if (false === $this->getAddPageClassToLi()) {
         $attribs['class'] = $page->getClass();
     }
     // does page have a href?
     if ($href = $page->getHref()) {
         $element = 'a';
         $attribs['href'] = $href;
         $attribs['target'] = $page->getTarget();
         $attribs['accesskey'] = $page->getAccesskey();
     } else {
         $element = 'span';
     }
     // Add custom HTML attributes
     $attribs = array_merge($attribs, $page->getCustomHtmlAttribs());
     if ($page->get('icon') != null) {
         return '<' . $element . $this->_htmlAttribs($attribs) . '>' . '<i class="fa ' . $page->get('icon') . '"> ' . '</i>' . $this->view->escape($label) . '</' . $element . '>';
     } else {
         return '<' . $element . $this->_htmlAttribs($attribs) . '>' . $this->view->escape($label) . '</' . $element . '>';
     }
 }