/** * Returns an HTML string containing an 'a' element for the given page if * the page's href is not empty, and a 'span' element if it is empty * * Overrides {@link IfwPsn_Vendor_Zend_View_Helper_Navigation_Abstract::htmlify()}. * * @param IfwPsn_Vendor_Zend_Navigation_Page $page page to generate HTML for * @return string HTML string for the given page */ public function htmlify(IfwPsn_Vendor_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()); return '<' . $element . $this->_htmlAttribs($attribs) . '>' . $this->view->escape($label) . '</' . $element . '>'; }
/** * Returns an HTML string containing an 'a' element for the given page * * @param IfwPsn_Vendor_Zend_Navigation_Page $page page to generate HTML for * @return string HTML string for the given page */ public function htmlify(IfwPsn_Vendor_Zend_Navigation_Page $page) { // get label and title for translating $label = $page->getLabel(); $title = $page->getTitle(); 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 anchor element $attribs = array_merge(array('id' => $page->getId(), 'title' => $title, 'class' => $page->getClass(), 'href' => $page->getHref(), 'target' => $page->getTarget()), $page->getCustomHtmlAttribs()); return '<a' . $this->_htmlAttribs($attribs) . '>' . $this->view->escape($label) . '</a>'; }