Доброго времени суток.
Подскажите, почему прописанный мной класс для тега
<a>
не доходит до вьюхи.
В этой части кода прописывается конфигурация для элементов меню.
'navigation' => [
'Application\Navigation\MainNavigation' => [
'application' => [
/**
* Set options for 'ul'-element.
* For correct set - page must have most lowest order number (e.g. -100).
*/
'ul' => ['class' => 'navbar-nav align-content-between'],
'li' => ['class' => 'nav-item m-auto'],
/** Set attributes for 'a'-element. */
'a' => ['class' => 'nav-link'],
'label' => 'Главная',
/** Set options for element. */
'order' => 10,
'route' => 'home',
'action' => 'index',
'controller' => Controller\IndexController::class,
],
А эта часть кода отвечает за обработку тега
<a>
public function htmlify(AbstractPage $page, $escapeLabel = true, $addClassToListItem = false)
{
// get attribs for element
$attribs = [
'id' => $page->getId(),
'title' => $this->translate($page->getTitle(), $page->getTextDomain()),
];
/**
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Begin fork ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*
* @since 18:37 30.10.2016
*/
// add additional attributes
$attr = $page->get('attr');
if(is_array($attr)){
$attribs = $attribs + $attr;
};
/**
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ End fork ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
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;
}