本文整理汇总了PHP中Zend\Navigation\Page\AbstractPage::getHref方法的典型用法代码示例。如果您正苦于以下问题:PHP AbstractPage::getHref方法的具体用法?PHP AbstractPage::getHref怎么用?PHP AbstractPage::getHref使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend\Navigation\Page\AbstractPage
的用法示例。
在下文中一共展示了AbstractPage::getHref方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: htmlify
/**
* Returns an HTML string containing an 'a' element for the given page
*
* @param AbstractPage $page page to generate HTML for
* @param boolean $hasParent if the breadcrumb has a parent
* @return string
*/
public function htmlify(AbstractPage $page, $hasParent = false)
{
$html = '<li';
if (!$hasParent) {
$html .= ' class="active"';
}
$html .= '>';
$label = $page->getLabel();
if (null !== ($translator = $this->getTranslator())) {
$label = $translator->translate($label, $this->getTranslatorTextDomain());
}
$escaper = $this->view->plugin('escapeHtml');
$label = $escaper($label);
if ($page->getHref() && ($hasParent || !$hasParent && $this->getLinkLast())) {
$anchorAttribs = $this->htmlAttribs(array('href' => $page->getHref()));
$html .= '<a' . $anchorAttribs . '>' . $label . '</a>';
} else {
$html .= $label;
}
if ($hasParent) {
$html .= '<span class="divider">' . $this->getSeparator() . '</span>';
}
$html .= '</li>';
return $html;
}
示例2: htmlify
/**
* @inheritdoc
*/
public function htmlify(AbstractPage $page)
{
$title = $this->translate($page->getTitle(), $page->getTextDomain());
// get attribs for anchor element
$attribs = array('id' => $page->getId(), 'title' => $title, 'class' => $page->getClass(), 'href' => $page->getHref(), 'target' => $page->getTarget());
return '<a' . $this->htmlAttribs($attribs) . '>' . $this->htmlifyLabel($page) . '</a>';
}
示例3: htmlify
/**
* 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 AbstractHelper::htmlify()}.
*
* @param AbstractPage $page page to generate HTML for
* @param bool $escapeLabel Whether or not to escape the label
* @param bool $addClassToListItem Whether or not to add the page class to the list item
* @return string
*/
public function htmlify(AbstractPage $page, $escapeLabel = true, $addClassToListItem = false)
{
// get attribs for element
$attribs = array('id' => $page->getId(), 'title' => $page->getTitle());
if ($addClassToListItem === false) {
$attribs['class'] = $page->getClass();
}
// does page have a href?
$href = $page->getHref();
if ('#' !== $href) {
$element = 'a';
$attribs['href'] = $href;
$attribs['target'] = $page->getTarget();
} else {
$element = 'span';
}
$html = '<' . $element . $this->htmlAttribs($attribs) . '>';
$label = $page->getLabel();
//$this->translate(, $page->getTextDomain());
if ($escapeLabel === true) {
/** @var \Zend\View\Helper\EscapeHtml $escaper */
$escaper = $this->view->plugin('escapeHtml');
$html .= $escaper($label);
} else {
$html .= $label;
}
$html .= '</' . $element . '>';
return $html;
}
示例4: htmlify
/**
* @override htmlify from the parent/base/super class
*/
public function htmlify(AbstractPage $page, $escapeLabel = true, $addClassToListItem = false)
{
// !!! This method will be executed in the namespace of the class
// !!! But the methods of the super/base class will be executed in its own namespace
// get label and title for translating
$label = $page->getLabel();
$title = $page->getTitle();
// translate label and title?
if (null !== ($translator = $this->getTranslator())) {
$textDomain = $this->getTranslatorTextDomain();
if (is_string($label) && !empty($label)) {
$label = $translator->translate($label, $textDomain);
}
if (is_string($title) && !empty($title)) {
$title = $translator->translate($title, $textDomain);
}
}
// get attribs for element
$attribs = array('id' => $page->getId(), 'title' => $title);
$attribs['class'] = '';
if ($addClassToListItem === false) {
$attribs['class'] = $page->getClass();
}
// Stoyan
$attribs['class'] .= $attribs['class'] ? ' ' : '';
$attribs['class'] .= $page->getAnchorClass();
// echo 'Menu<pre>';
// echo 'Class: ' . $page->getClass();
// echo 'Anchor Class: ' . $page->getAnchorClass();
// print_r($attribs);
// echo '</pre>';
// does page have a href?
$href = $page->getHref();
if ($href) {
$element = 'a';
$attribs['href'] = $href;
$attribs['target'] = $page->getTarget();
} else {
$element = 'span';
}
$html = '<' . $element . $this->htmlAttribs($attribs) . '>';
if ($escapeLabel === true) {
$escaper = $this->view->plugin('escapeHtml');
$html .= $escaper($label);
} else {
$html .= $label;
}
$html .= '</' . $element . '>';
return $html;
}
示例5: htmlify
/**
* Returns an HTML string containing an 'a' element for the given page
*
* @param AbstractPage $page page to generate HTML for
* @return string
*/
public function htmlify(AbstractPage $page)
{
// get label and title for translating
$label = $page->getLabel();
$title = $page->getTitle();
if (null !== ($translator = $this->getTranslator())) {
$textDomain = $this->getTranslatorTextDomain();
if (is_string($label) && !empty($label)) {
$label = $translator->translate($label, $textDomain);
}
if (is_string($title) && !empty($title)) {
$title = $translator->translate($title, $textDomain);
}
}
// get attribs for anchor element
$attribs = array('id' => $page->getId(), 'title' => $title, 'class' => $page->getClass(), 'href' => $page->getHref(), 'target' => $page->getTarget());
$escaper = $this->view->plugin('escapeHtml');
return '<a' . $this->htmlAttribs($attribs) . '>' . $escaper($label) . '</a>';
}
示例6: htmlify
/**
* @inheritdoc
*/
public function htmlify(AbstractPage $page, $escapeLabel = true, $addClassToListItem = false, $isTreeView = false)
{
// get attribs for element
$attribs = ['id' => $page->getId(), 'title' => $this->translate($page->getTitle(), $page->getTextDomain())];
if ($addClassToListItem === false) {
$attribs['class'] = $page->getClass();
}
// does page have a href?
$href = $page->getHref();
if ($href) {
$element = 'a';
$attribs['href'] = $href;
$attribs['target'] = $page->getTarget();
} else {
$element = 'span';
}
return '<' . $element . $this->htmlAttribs($attribs) . '>' . $this->htmlifyLabel($page, $escapeLabel, $isTreeView) . '</' . $element . '>';
}
示例7: htmlify
/**
* 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 AbstractHelper::htmlify()}.
*
* @param AbstractPage $page page to generate HTML for
* @param bool $escapeLabel Whether or not to escape the label
* @param bool $addClassToListItem Whether or not to add the page class to the list item
* @return string
*/
public function htmlify(AbstractPage $page, $escapeLabel = true, $addClassToListItem = false)
{
// get label and title for translating
$label = $page->getLabel();
$title = $page->getTitle();
// translate label and title?
if (null !== ($translator = $this->getTranslator())) {
$textDomain = $this->getTranslatorTextDomain();
if (is_string($label) && !empty($label)) {
$label = $translator->translate($label, $textDomain);
}
if (is_string($title) && !empty($title)) {
$title = $translator->translate($title, $textDomain);
}
}
// get attribs for element
$element = 'a';
$extended = '';
$attribs = array('id' => $page->getId(), 'title' => $title, 'href' => '#');
$class = array();
if ($addClassToListItem === false) {
$class[] = $page->getClass();
}
if ($page->isDropdown) {
$attribs['data-toggle'] = 'dropdown';
$class[] = 'dropdown-toggle';
$extended = ' <b class="caret"></b>';
}
if (count($class) > 0) {
$attribs['class'] = implode(' ', $class);
}
// does page have a href?
$href = $page->getHref();
if ($href) {
$attribs['href'] = $href;
$attribs['target'] = $page->getTarget();
}
$html = '<' . $element . $this->htmlAttribs($attribs) . '>';
if ($escapeLabel === true) {
$escaper = $this->view->plugin('escapeHtml');
$html .= $escaper($label);
} else {
$html .= $label;
}
$html .= $extended;
$html .= '</' . $element . '>';
return $html;
}
示例8: renderNavbar
public function renderNavbar(\Zend\Navigation\Navigation $container = null, $leftElements = null, $rightElements = null, \Zend\Navigation\Page\AbstractPage $brandLink = null, $brandName = null, $fixed = true, $fixedBottom = false, $responsive = true, $renderIcons = true, $inverse = false)
{
if (null === $container) {
$container = $this->getContainer();
}
if ($leftElements && !is_array($leftElements)) {
$leftElements = array($leftElements);
}
if ($rightElements && !is_array($rightElements)) {
$rightElements = array($rightElements);
}
$html = '';
//Navbar scaffolding
$navbarClass = 'navbar';
if ($fixed) {
if ($fixedBottom) {
$navbarClass .= ' navbar-fixed-bottom';
} else {
$navbarClass .= ' navbar-fixed-top';
}
}
if ($inverse) {
$navbarClass .= ' navbar-inverse';
}
$html .= '<div class="' . $navbarClass . '">';
$html .= "\n" . '<div class="navbar-inner">';
$html .= "\n" . '<div class="container">';
//Responsive (button)
if ($responsive) {
$html .= "\n" . '<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">';
$html .= "\n" . '<span class="icon-bar"></span>';
$html .= "\n" . '<span class="icon-bar"></span>';
$html .= "\n" . '<span class="icon-bar"></span>';
$html .= "\n" . '</a>';
}
//Brand
if ($brandLink) {
$view = $this->getView();
if ($brandName) {
$brandName = $view->escapeHtml($brandName);
} else {
$brandName = $view->escapeHtml($brandLink->getLabel());
}
$html .= "\n" . '<a class="brand" href="' . $brandLink->getHref() . '">' . $brandName . '</a>';
}
//Responsive (div)
if ($responsive) {
$html .= "\n" . '<div class="nav-collapse">';
}
//Primary container
$options = array('align' => null, 'ulClass' => 'nav');
$html .= "\n" . $this->renderContainer($container, $renderIcons, true, $options);
//Left elements
if ($leftElements) {
$html .= "\n" . $this->renderElements($leftElements, 'left', $renderIcons);
}
//Right elements
if ($rightElements) {
$html .= "\n" . $this->renderElements($rightElements, 'right', $renderIcons);
}
//Responsive (close div)
if ($responsive) {
$html .= "\n" . '</div>';
}
//Scaffolding (close divs)
$html .= "\n</div>";
$html .= "\n</div>";
$html .= "\n</div>";
return $html;
}
示例9: htmlify
/**
* {@inheritDoc}
*/
public function htmlify(AbstractPage $page, $escapeLabel = true, $addClassToListItem = false)
{
$renderer = $this->getView();
if ($partial = $page->get('partial')) {
return $renderer->partial($partial, compact('page', 'escapeLabel', 'addClassToListItem'));
}
// get attribs for element
$attribs = ['id' => $page->getId()];
if ($title = $page->getTitle()) {
$attribs['title'] = $this->translate($title, $page->getTextDomain());
}
if ($pageAttribs = $page->get('attribs')) {
$attribs = array_merge($pageAttribs, $attribs);
}
if ($addClassToListItem === false) {
if (!empty($attribs['class'])) {
$attribs['class'] .= " {$page->getClass()}";
} else {
$attribs['class'] = $page->getClass();
}
}
if (($label = $page->get('label_helper')) && ($helper = $this->view->plugin($label))) {
if (method_exists($helper, 'setTranslatorTextDomain')) {
$helper->setTranslatorTextDomain($page->getTextDomain());
}
$label = $helper();
} elseif ($label = $page->getLabel()) {
$label = $this->translate($label, $page->getTextDomain());
}
$html = '';
if ($label) {
if ($escapeLabel === true) {
/* @var $escaper \Zend\View\Helper\EscapeHtml */
$escaper = $this->view->plugin('escapeHtml');
$html .= $escaper($label);
} else {
$html .= $label;
}
}
$params = $replacedParams = $page->get('params');
if ($placeholders = $page->get('link_placeholders')) {
foreach ($placeholders as $name => $value) {
if (!isset($replacedParams[$name])) {
$replacedParams[$name] = $value;
}
}
}
if ($replacedParams && ($placeholders = $this->getLinkPlaceholders())) {
foreach ($replacedParams as $name => $value) {
if (isset($placeholders[$value])) {
$replacedParams[$name] = $placeholders[$value];
}
}
}
$page->set('params', $replacedParams);
// does page have a href
if ($href = $page->getHref()) {
$element = 'a';
$attribs['href'] = $page->get('uri') ?: $href;
$attribs['target'] = $page->getTarget();
} else {
$element = 'span';
}
$page->set('params', $params);
if ($ns = $page->get($this->decoratorNamespace)) {
$html = $renderer->decorator($html, $ns);
}
$html = "<{$element}{$this->htmlAttribs($attribs)}>{$html}</{$element}>";
return $html;
}
示例10: htmlify
/**
* 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 AbstractHelper::htmlify()}.
*
* @param AbstractPage $page page to generate HTML for
* @param bool $escapeLabel Whether or not to escape the label
* @param bool $addClassToListItem Whether or not to add the page class to the list item
* @return string
*/
public function htmlify(AbstractPage $page, $escapeLabel = true, $addClassToListItem = false)
{
// get label and title for translating
$label = $page->getLabel();
$addonLeft = $page->get('addon-left');
$addonRight = $page->get('addon-right');
$title = $page->getTitle();
// translate label and title?
if (null !== ($translator = $this->getTranslator())) {
$textDomain = $this->getTranslatorTextDomain();
if (is_string($label) && !empty($label)) {
$label = $translator->translate($label, $textDomain);
}
if (is_string($title) && !empty($title)) {
$title = $translator->translate($title, $textDomain);
}
}
// get attribs for element
$attribs = ['id' => $page->getId(), 'title' => $title];
// add additional attributes
$attr = $page->get('attribs');
if (is_array($attr)) {
$attribs = $attribs + $attr;
}
//if ($addClassToListItem === false) {
$attribs['class'] = $page->getClass();
//}
// does page have a href?
$href = $page->getHref();
if ($href) {
$element = 'a';
$attribs['href'] = $href;
$attribs['target'] = $page->getTarget();
} else {
$element = 'span';
}
$html = '<' . $element . $this->htmlAttribs($attribs) . '>';
if ($addonLeft) {
$html .= $addonLeft;
}
if ($escapeLabel === true) {
$escaper = $this->view->plugin('escapeHtml');
$html .= $escaper($label);
} else {
$html .= $label;
}
if ($addonRight) {
$html .= $addonRight;
}
$html .= '</' . $element . '>';
return $html;
}
示例11: htmlify
/**
* Returns an HTML string containing an 'a' element for the given page
*
* @param AbstractPage $page page to generate HTML for
* @return string HTML string (<a href="…">Label</a>)
*/
public function htmlify(AbstractPage $page)
{
$label = $this->translate($page->getLabel(), $page->getTextDomain());
$title = $this->translate($page->getTitle(), $page->getTextDomain());
// get attribs for anchor element
$attribs = ['id' => $page->getId(), 'title' => $title, 'class' => $page->getClass(), 'href' => $page->getHref(), 'target' => $page->getTarget()];
/** @var \Zend\View\Helper\EscapeHtml $escaper */
$escaper = $this->view->plugin('escapeHtml');
$label = $escaper($label);
return '<a' . $this->htmlAttribs($attribs) . '>' . $label . '</a>';
}
示例12: htmlify
public function htmlify(AbstractPage $page, $escapeLabel = true, $addClassToListItem = false)
{
if ($page instanceof \Zend\Navigation\Page\Uri && $page->dropdown) {
$dropdown = '<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">';
$dropdown .= $this->translate($page->getLabel(), $page->getTextDomain());
$dropdown .= ' <span class="caret"></span></a>' . PHP_EOL;
return $dropdown;
}
// get attribs for element
$attribs = array('id' => $page->getId(), 'title' => $this->translate($page->getTitle(), $page->getTextDomain()));
if ($addClassToListItem === false) {
$attribs['class'] = $page->getClass();
}
// does page have a href?
$href = $page->getHref();
if ($href) {
$element = 'a';
$attribs['href'] = $href;
$attribs['target'] = $page->getTarget();
} else {
$element = 'span';
}
$html = '<' . $element . $this->htmlAttribs($attribs) . '>';
$label = $this->translate($page->getLabel(), $page->getTextDomain());
if ($escapeLabel === true) {
/** @var \Zend\View\Helper\EscapeHtml $escaper */
$escaper = $this->view->plugin('escapeHtml');
$html .= $escaper($label);
} else {
$html .= $label;
}
$html .= '</' . $element . '>';
return $html;
}
示例13: htmlify
/**
* {@inheritDoc}
*/
public function htmlify(AbstractPage $page, $escapeLabel = true)
{
$renderer = $this->getView();
if ($partial = $page->get('partial')) {
return $renderer->partial($partial, compact('page', 'escapeLabel'));
}
// get attribs for element
$attribs = ['id' => $page->getId()];
if (!$this->getRenderAsList() && ($class = $this->getContainerClass())) {
$attribs['class'] = $class;
}
if ($title = $page->getTitle()) {
$attribs['title'] = $title = $this->translate($title, $page->getTextDomain());
}
$html = '';
if ($label = $page->getLabel()) {
$label = $this->translate($label, $page->getTextDomain());
if ($escapeLabel === true) {
/* @var $escaper \Zend\View\Helper\EscapeHtml */
$escaper = $this->view->plugin('escapeHtml');
$html .= $escaper($title ?: $label);
} else {
$html .= $title ?: $label;
}
}
// does page have a href
if ($href = $page->getHref()) {
$element = 'a';
$attribs['href'] = $page->get('uri') ?: $href;
$attribs['target'] = $page->getTarget();
} else {
$element = 'span';
}
$html = "<{$element}{$this->htmlAttribs($attribs)}>{$html}</{$element}>";
return $html;
}
示例14: htmlify
/**
* Returns an HTML string containing an 'a' element for the given page
*
* @param AbstractPage $page page to generate HTML for
* @return string HTML string for the given page
*/
public function htmlify(AbstractPage $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('id' => $page->getId(), 'title' => $title, 'class' => $page->getClass(), 'href' => $page->getHref(), 'target' => $page->getTarget());
return '<a' . $this->_htmlAttribs($attribs) . '>' . $this->view->vars()->escape($label) . '</a>';
}
示例15: htmlify
/**
* 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 AbstractHelper::htmlify()}.
*
* @param AbstractPage $page page to generate HTML for
* @param bool $escapeLabel Whether or not to escape the label
* @param bool $addClassToListItem Whether or not to add the page class to the list item
* @return string
*/
public function htmlify(AbstractPage $page, $escapeLabel = true, $addClassToListItem = false)
{
// get attribs for element
$attribs = array('id' => $page->getId(), 'title' => $this->translate($page->getTitle(), $page->getTextDomain()));
if ($addClassToListItem === false) {
$attribs['class'] = $page->getClass();
}
// does page have a href?
$href = $page->getHref();
if ($href) {
$element = 'a';
$attribs['href'] = $href;
$attribs['target'] = $page->getTarget();
} else {
$element = 'span';
}
if ($page->isDropdown) {
$attribs['data-toggle'] = 'dropdown';
$class[] = 'dropdown-toggle';
$innerHtml = ' <b class="caret"></b>';
}
$html = '<' . $element . $this->htmlAttribs($attribs) . '>';
// Icon
$icon = $page->get('icon');
if (!empty($icon)) {
$html .= '<i class="' . $icon . '"></i>';
}
$label = $this->translate($page->getLabel(), $page->getTextDomain());
if ($escapeLabel === true) {
/** @var \Zend\View\Helper\EscapeHtml $escaper */
$escaper = $this->view->plugin('escapeHtml');
$html .= $escaper($label);
} else {
$html .= $label;
}
if (isset($innerHtml)) {
$html .= $innerHtml;
}
$html .= '</' . $element . '>';
return $html;
}