本文整理汇总了PHP中Zend\Navigation\Page\AbstractPage::set方法的典型用法代码示例。如果您正苦于以下问题:PHP AbstractPage::set方法的具体用法?PHP AbstractPage::set怎么用?PHP AbstractPage::set使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend\Navigation\Page\AbstractPage
的用法示例。
在下文中一共展示了AbstractPage::set方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: 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;
}