本文整理匯總了PHP中Zend\Navigation\Page\AbstractPage::get方法的典型用法代碼示例。如果您正苦於以下問題:PHP AbstractPage::get方法的具體用法?PHP AbstractPage::get怎麽用?PHP AbstractPage::get使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Zend\Navigation\Page\AbstractPage
的用法示例。
在下文中一共展示了AbstractPage::get方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: isActive
protected function isActive(AbstractPage $page, $recursive = true)
{
if ($page->get('identifier') != $this->identifier && $recursive) {
foreach ($page->getPages() as $subPage) {
if ($this->isActive($subPage, $recursive)) {
return true;
}
}
return false;
}
return $page->get('identifier') == $this->identifier;
}
示例2: 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;
}
示例3: htmlify
/**
* Copy from Zend helper menu
* @see \Zend\View\Helper\Navigation\Menu::htmlify()
*/
public function htmlify(AbstractPage $page, $escapeLabel = false, $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
$attribs = array('id' => $page->getId(), 'title' => $title);
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();
if (true == ($aClass = $page->get('aClass'))) {
$addClass = isset($attribs['class']) ? ' ' . $attribs['class'] : '';
$attribs['class'] = $aClass . $addClass;
$addClass = '';
}
if (true == ($subIdent = $page->get('listSubIdent'))) {
$addClass = isset($attribs['class']) ? ' ' . $attribs['class'] : '';
$attribs['class'] = isset($this->attr['linkClassDropdown']) ? $this->attr['linkClassDropdown'] . $addClass : $addClass;
$attribs['data-ident'] = 'subIdent' . $subIdent;
} elseif (0 == $this->depth) {
$addClass = isset($attribs['class']) ? ' ' . $attribs['class'] : '';
$attribs['class'] = isset($this->attr['linkClassDefault']) ? $this->attr['linkClassDefault'] . $addClass : $addClass;
}
if (true == ($aAttribute = $page->get('aAttribute'))) {
$attribs = array_merge($attribs, $aAttribute);
}
} else {
$element = 'span';
}
$aData = '';
if (true == ($aData = $page->get('aData'))) {
$aData = ' ' . $aData;
}
$html = '<' . $element . $this->htmlAttribs($attribs) . $aData . '>';
if ($escapeLabel === true) {
$escaper = $this->view->plugin('escapeHtml');
//$html .= $escaper($label);
$html .= $label;
} else {
$html .= $label;
}
if (true == ($aLabelExt = $page->get('aLabelExt'))) {
$html .= $aLabelExt;
}
$html .= '</' . $element . '>';
return $html;
}
示例4: 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;
}
示例5: 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;
}
示例6: htmlify
public function htmlify(AbstractPage $oPage, $bEscapeLabel = true, $bAddClassToItemList = false)
{
//get label and title for translating
$sLabel = $oPage->getLabel();
$sTitle = $oPage->getTitle();
//translate label and title?
if (null !== ($oTranslator = $this->getTranslator())) {
$sTextDomain = $this->getTranslatorTextDomain();
if (is_string($sLabel) && !empty($sLabel)) {
$sLabel = $oTranslator->translate($sLabel, $sTextDomain);
}
if (is_string($sTitle) && !empty($sTitle)) {
$sTitle = $oTranslator->translate($sTitle, $sTextDomain);
}
}
//get attribs for element
$aAttribs = array('id' => $oPage->getId(), 'title' => $sTitle);
$aAttr = $oPage->get('attribs');
if (is_array($aAttr)) {
$aAttribs = $aAttribs + $aAttr;
}
//does page have a href?
$sHref = $oPage->getHref();
if ($sHref) {
$sElement = 'a';
$aAttribs['href'] = $sHref;
$aAttribs['target'] = $oPage->getTarget();
} else {
$sElement = 'span';
}
$sHtml = '<' . $sElement . $this->htmlAttribs($aAttribs) . '>';
if ($bEscapeLabel === true) {
$escaper = $this->view->plugin('escapeHtml');
$sHtml .= $escaper($sLabel);
} else {
$sHtml .= $sLabel;
}
$sHtml .= '</' . $sElement . '>';
return $sHtml;
}
示例7: 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;
}