コード例 #1
0
ファイル: IconMenu.php プロジェクト: knatorski/SMS
 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, 'class' => $page->getClass());
     // does page have a href?
     if ($href = $page->getHref()) {
         $element = 'a';
         $attribs['href'] = $href;
         $attribs['target'] = $page->getTarget();
     } else {
         $element = 'span';
     }
     // dodanie ikonki
     if (null !== $page->icon) {
         $icon = '<img src="' . $this->view->baseUrl() . $this->_iconPath . '/' . $page->icon . '" alt="" /> ';
     } else {
         $icon = '';
     }
     return '<' . $element . $this->_htmlAttribs($attribs) . '>' . $icon . $this->view->escape($label) . '</' . $element . '>';
 }
コード例 #2
0
ファイル: Menu.php プロジェクト: netconstructor/Centurion
 /**
  * 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 Zend_View_Helper_Navigation_Abstract::htmlify()}.
  *
  * @param  Zend_Navigation_Page $page  page to generate HTML for
  * @return string                      HTML string for the given page
  */
 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, 'class' => $page->getClass());
     // does page have a href?
     if ($href = $page->getHref()) {
         $element = 'a';
         $attribs['href'] = $href;
         $attribs['target'] = $page->getTarget();
     } else {
         $element = 'span';
     }
     return '<' . $element . $this->_htmlAttribs($attribs) . '>' . $label . '</' . $element . '>';
 }
コード例 #3
0
ファイル: MobileMenu.php プロジェクト: hausdesign/zf-library
 /**
  * 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 Zend_View_Helper_Navigation_Abstract::htmlify()}.
  *
  * @param  Zend_Navigation_Page $page  page to generate HTML for
  * @return string                      HTML string for the given page
  */
 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_merge($page->getCustomProperties(), array('id' => $page->getId(), 'title' => $title, 'class' => $page->getClass()));
     // does page have a href?
     if ($href = $page->getHref()) {
         if ($page->isActive()) {
             if ($attribs['class'] != '') {
                 $attribs['class'] .= ' ';
             }
             $attribs['class'] .= 'ui-btn-active';
         }
         $element = 'a';
         $attribs['href'] = $href;
         $attribs['target'] = $page->getTarget();
         $attribs['accesskey'] = $page->getAccessKey();
     } else {
         $element = 'span';
     }
     return '<' . $element . $this->_htmlAttribs($attribs) . '>' . $this->view->escape($label) . '</' . $element . '>';
 }
コード例 #4
0
ファイル: Fbmenu.php プロジェクト: bokultis/kardiomedika
 /**
  * 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 Zend_View_Helper_Navigation_Abstract::htmlify()}.
  *
  * @param  Zend_Navigation_Page $page  page to generate HTML for
  * @return string                      HTML string for the given page
  */
 public function htmlify(Zend_Navigation_Page $page)
 {
     if (isset($page->custom_html)) {
         return $page->custom_html;
     }
     // 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, 'class' => $page->getClass());
     // does page have a href?
     if ($href = $page->getHref()) {
         $element = 'a';
         $attribs['href'] = $href;
         $attribs['target'] = $page->getTarget();
     } else {
         $element = 'span';
     }
     if (isset($page->attribs)) {
         $attribs = array_merge($attribs, $page->attribs);
     }
     if (isset($page->iconClass)) {
         $icoHtml = '<span class="' . $page->iconClass . '"></span>';
     } else {
         $icoHtml = '';
     }
     return '<' . $element . $this->_htmlAttribs($attribs) . '>' . $icoHtml . $this->view->escape($label) . '</' . $element . '>';
 }
コード例 #5
0
ファイル: Menu.php プロジェクト: baisoo/axiscommerce
 /**
  * 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 Zend_View_Helper_Navigation_Abstract::htmlify()}.
  *
  * @param  Zend_Navigation_Page $page  page to generate HTML for
  * @return string                      HTML string for the given page
  */
 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()) {
         $_page = $page;
         $pageTranslator = null;
         while ($_page instanceof Zend_Navigation_Page && !($pageTranslator = $_page->get('translator'))) {
             $_page = $_page->getParent();
         }
         if ($pageTranslator) {
             $t = Axis::translate($pageTranslator);
             if (is_string($label) && !empty($label)) {
                 // $label = $t->translate($label);
                 $label = $t->__($label);
             }
             if (is_string($title) && !empty($title)) {
                 // $title = $t->translate($title);
                 $title = $t->__($title);
             }
         }
     }
     // get attribs for element
     $attribs = array('id' => $page->getId(), 'title' => $title);
     // does page have a href?
     if ($href = $page->getHref()) {
         $element = 'a';
         $attribs['href'] = $href;
         $attribs['target'] = $page->getTarget();
     } else {
         $element = 'span';
     }
     return '<' . $element . $this->_htmlAttribs($attribs) . '>' . '<span>' . $this->view->escape($label) . '</span>' . '</' . $element . '>';
 }
コード例 #6
0
 /**
  * Returns an HTML string containing an 'a' element for the given page
  *
  * @param  Zend_Navigation_Page $page  page to generate HTML for
  * @return string                      HTML string for the given page
  */
 public function htmlify(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>';
 }
コード例 #7
0
ファイル: Sitemap.php プロジェクト: nhp/shopware-4
    /**
     * Returns an escaped absolute URL for the given page
     *
     * @param  Zend_Navigation_Page $page  page to get URL from
     * @return string
     */
    public function url(Zend_Navigation_Page $page)
    {
        $href = $page->getHref();

        if (!isset($href{0})) {
            // no href
            return '';
        } elseif ($href{0} == '/') {
            // href is relative to root; use serverUrl helper
            $url = $this->getServerUrl() . $href;
        } elseif (preg_match('/^[a-z]+:/im', (string) $href)) {
            // scheme is given in href; assume absolute URL already
            $url = (string) $href;
        } else {
            // href is relative to current document; use url helpers
            $url = $this->getServerUrl()
                 . rtrim($this->view->url(), '/') . '/'
                 . $href;
        }

        return $this->_xmlEscape($url);
    }
コード例 #8
0
ファイル: Links.php プロジェクト: nhp/shopware-4
    /**
     * Renders the given $page as a link element, with $attrib = $relation
     *
     * @param  Zend_Navigation_Page $page      the page to render the link for
     * @param  string               $attrib    the attribute to use for $type,
     *                                         either 'rel' or 'rev'
     * @param  string               $relation  relation type, muse be one of;
     *                                         alternate, appendix, bookmark,
     *                                         chapter, contents, copyright,
     *                                         glossary, help, home, index, next,
     *                                         prev, section, start, stylesheet,
     *                                         subsection
     * @return string                          rendered link element
     * @throws Zend_View_Exception             if $attrib is invalid
     */
    public function renderLink(Zend_Navigation_Page $page, $attrib, $relation)
    {
        if (!in_array($attrib, array('rel', 'rev'))) {
            require_once 'Zend/View/Exception.php';
            $e = new Zend_View_Exception(sprintf(
                    'Invalid relation attribute "%s", must be "rel" or "rev"',
                    $attrib));
            $e->setView($this->view);
            throw $e;
        }

        if (!$href = $page->getHref()) {
            return '';
        }

        // TODO: add more attribs
        // http://www.w3.org/TR/html401/struct/links.html#h-12.2
        $attribs = array(
            $attrib  => $relation,
            'href'   => $href,
            'title'  => $page->getLabel()
        );

        return '<link' .
               $this->_htmlAttribs($attribs) .
               $this->getClosingBracket();
    }
コード例 #9
0
ファイル: Menu.php プロジェクト: BGCX262/zweer-gdr-svn-to-git
 /**
  * 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 Zend_View_Helper_Navigation_Abstract::htmlify()}.
  *
  * @param  Zend_Navigation_Page $page  page to generate HTML for
  * @return string                      HTML string for the given page
  */
 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());
     return '<' . $element . $this->_htmlAttribs($attribs) . '>' . $this->view->escape($label) . '</' . $element . '>';
 }
コード例 #10
0
 /**
  * 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 Zend_View_Helper_Navigation_Abstract::htmlify()}.
  *
  * @param  Zend_Navigation_Page $page  page to generate HTML for
  * @return string                      HTML string for the given page
  */
 public function htmlify(Zend_Navigation_Page $page, $endOfTree = false)
 {
     // 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);
         }
     }
     $hasChilds = false;
     if (!$endOfTree) {
         foreach ($page->getPages() as $child) {
             if ($child->isVisible()) {
                 $hasChilds = true;
                 break;
             }
         }
     }
     $class = $page->getClass();
     $dataToggle = '';
     $dropdown = false;
     if ($hasChilds) {
         if ($class != '') {
             $class .= ' ';
         }
         $class .= 'dropdown-toggle';
         $dataToggle = ' data-toggle="dropdown"';
         $dropdown = true;
     }
     // get attribs for element
     $attribs = array('id' => $page->getId(), 'title' => $title, 'class' => $class);
     // 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';
     }
     return '<' . $element . $this->_htmlAttribs($attribs) . '' . $dataToggle . '>' . $this->view->escape($label) . ($dropdown ? ' <b class="caret"></b>' : '') . '</' . $element . '>';
 }
コード例 #11
0
ファイル: Extjs.php プロジェクト: roed/zend-mvc-extend
 public function toXtype(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(), 'text' => $label, 'iconCls' => $page->get('iconClass'), 'cls' => $page->getClass());
     // does page have a href?
     if ($href = $page->getHref()) {
         $attribs['href'] = $href;
         $attribs['hrefTarget'] = $page->getTarget();
     }
     foreach ($attribs as $key => &$attr) {
         if (empty($attr)) {
             unset($attribs[$key]);
         }
     }
     return $attribs;
 }
コード例 #12
0
ファイル: Navigation.php プロジェクト: lchen01/STEdwards
 /**
  * Returns JSON with the hidden info for a navigation page link. 
  *
  * @param Zend_Navigation_Page $page The navigation page
  * @return String JSON with the hidden info for a navigation page link. 
  */
 protected function _getPageHiddenInfo(Zend_Navigation_Page $page)
 {
     $hiddenInfo = array('can_delete' => (bool) $page->can_delete, 'uri' => $page->getHref(), 'label' => $page->getLabel(), 'visible' => $page->isVisible());
     return json_encode($hiddenInfo);
 }
コード例 #13
0
 /**
  * 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 Zend_View_Helper_Navigation_Abstract::htmlify()}.
  *
  * @param  Zend_Navigation_Page $page  page to generate HTML for
  * @return string                      HTML string for the given page
  */
 public function htmlify(Zend_Navigation_Page $page, $endOfTree = false)
 {
     // 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);
         }
     }
     $hasChilds = false;
     if (!$endOfTree) {
         foreach ($page->getPages() as $child) {
             if ($child->isVisible()) {
                 $hasChilds = true;
                 break;
             }
         }
     }
     $class = $page->getClass();
     // get attribs for element
     $attribs = array('id' => $page->getId(), 'title' => $title, 'class' => $class);
     // 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';
     }
     if ($page->icon !== null) {
         if ($page->isActive()) {
             $page->icon = 'icon-white ' . $page->icon;
         }
     }
     return '<' . $element . $this->_htmlAttribs($attribs) . '>' . ($page->icon !== null ? '<i class="' . $page->icon . '"></i> ' : '') . $this->view->escape($label) . '</' . $element . '>';
 }