Как я могу создать текущий элемент меню Joomla при использовании псевдонима элемента меню в качестве типа элемента меню в Joomla 2.5?

ПРЕДПОСЫЛКИ

Я не могу настроить текущий активный пункт меню в Joomla 2.5. После многих исследований и начинки вокруг этого выясняется, что моя проблема связана с тем, что я использую тип элемента меню «menu item alias" ,

Пример ниже иллюстрирует мою проблему.

Скажем, у меня есть пункт меню, называемый «учебники», когда я нажимаю на него и перехожу на эту страницу, я хочу, чтобы tutorials menu item чтобы отличаться по-разному, чтобы пользователь знал, что они находятся на странице учебников. К сожалению, в меню нет «текущего» класса, поэтому это затрудняет (невозможно?) Стиль элемента меню, который соответствует текущей странице.

ВОПРОСЫ

  1. Как стилизовать текущий пункт меню Joomla при использовании псевдонима элемента меню в качестве типа элемента меню в Joomla 2.5?
  2. Если я не могу его стилизовать, есть ли обходной путь? Либо хак, либо альтернатива псевдониму меню? Имейте в виду, что я не хочу создавать дублированный контент.

Update1

В текущее меню добавляется класс active. Вот пример того, что я вижу, когда я нажимаю на самый верхний пункт меню.

CSS-классы для самого верхнего пункта меню, который является текущей страницей

Проблема заключается в том, что все элементы подменю также стилизованы. Как вы это предотвращаете? Вот CSS подменю, являющегося дочерним элементом текущего пункта меню (обратите внимание, что текущая страница предназначена для самого верхнего элемента меню).

CSS для элемента подменю, который является дочерним элементом самого верхнего текущего пункта меню

UPDATE2

Я взял ответы на борт и немного поиграл с CSS. Оказывается, я ошибочно применяю стиль CSS. Я должен был бы использовать li.active, чтобы создать элемент меню, соответствующий текущей странице.

1 голос | спросил TryHarder 16 Maypm14 2014, 19:35:54

2 ответа


1

Ответ 1: Есть ли активный статус в ссылке на псевдоним? Должно быть - потому что вы можете использовать это вместо тока для этого конкретного случая. На самом деле я обычно добавляю .active для всех моих .current-стилей, чтобы поймать эти типы ссылок.

Ответ 2: Что касается взлома, вот опция:

Добавьте идентификатор тела для своей страницы.

Это выше doctype:

<?php
  $app = JFactory::getApplication();
  $menu = $app->getMenu()->getActive();
  $pageclass = '';

  if (is_object($menu))
    $pageclass = $menu->params->get('pageclass_sfx');
?>

И это заменяет

<body id="<?php echo $pageclass ? htmlspecialchars($pageclass) : 'default'; ?>">

Затем в вашем текущем пункте меню «Учебник» (не-псевдоним) - добавьте класс страницы. Теперь, когда вы перейдете на страницу учебника, на вашей странице появится идентификатор тела. Теперь возьмите класс элемента alias li и создайте его внешний вид, чтобы он соответствовал текущему стилю, когда внутри этого идентификатора тела.

ответил Faye 16 Maypm14 2014, 21:56:41
2

Модуль меню по умолчанию в Joomla 2.5 присоединяет активный класс к активным пунктам меню, событие к типу меню псевдонима.

Возможно, ваш шаблон содержит уже переопределение шаблона для модуля меню, что дает вашему модулю другое поведение.

В любом случае очень легко изменить вывод модуля меню с помощью переопределения и добавить классы, которые вы хотите ему.

ответил FFrewin 16 Maypm14 2014, 22:38:38

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132