0 Пользователей и 1 Гость просматривают эту тему.
  • 14 Ответов
  • 6076 Просмотров
*

PypS

  • Новичок
  • 5
  • 0 / 0
Подскажите как сделать чтобы активный пункт меню не являлся ссылкой. Есть ли возможность кастомизировать mod_mainmenu под эту задачу и как это сделать ?
*

Darkick

  • Завсегдатай
  • 1142
  • 239 / 1
Ну наверно копать в сторону шаблонизации.
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
Ну наверно копать в сторону шаблонизации.
Шаблонизация здесь не поможет. Нужно прописывать условие в самом модуле.

Файл modules\mod_mainmenu\helper.php

Меняем
Код: php
switch ($tmp->browserNav)
{
default:
case 0:
// _top
$data = '<a href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';
       break;

На

Код: php
$menu	= &JSite::getMenu();
switch ($tmp->browserNav)
{
default:
case 0:
// _top
if ($menu->getActive() == $menu->getItem($item->id)){
$data = $tmp->url.$image.$tmp->name;
} else {
$data = '<a href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';
}
break;
« Последнее редактирование: 17.07.2009, 14:07:28 от SmokerMan »
*

PypS

  • Новичок
  • 5
  • 0 / 0
Что то не работает это.
В любом случае в data которое формирует меню занесется все меню без ссылок,  а необходимо чтобы ссылка убиралась только у активного пункта..
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
Что то не работает это.
В любом случае в data которое формирует меню занесется все меню без ссылок,  а необходимо чтобы ссылка убиралась только у активного пункта..
Проверял лично все работает!
*

Darkick

  • Завсегдатай
  • 1142
  • 239 / 1
А шаблонизатор разве подхватит helper.php из свой папки? По инструкции ведь цепляются только layout'ы которые в tmpl.
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
А шаблонизатор разве подхватит helper.php из свой папки? По инструкции ведь цепляются только layout'ы которые в tmpl.
Да точно тупанул :) тогда оставляем там же где был.
Исправил. Спасибо.

Подскажите финальное решение?
*

64j

  • Новичок
  • 3
  • 0 / 0
всё оказалось на поверхности...
в файле modules\mod_mainmenu\legacy.php находим
Код
		default : // formerly case 2
// open in parent window
$txt = '<a href="' . $mitem->url . '" class="' . $menuclass . '" ' . $id . '>' . $mitem->name . '</a>';
break;
}
и меняем на
Код
		default : // formerly case 2
// open in parent window
$menu = &JSite::getMenu();
if ($menu->getActive() == $menu->getItem($mitem->id)){
$txt = '<span class="' . $menuclass . '" ' . $id . '>' . $mitem->name . ' </span> ';
} else {
$txt = '<a href= "' . $mitem->url . '" class="' . $menuclass . '" ' . $id . '>' . $mitem->name . ' </a> ';}
break;
}
проверено в позиции left - вертикальный список
« Последнее редактирование: 15.02.2010, 02:42:09 от 64j »
*

givemesomedrugs

  • Новичок
  • 3
  • 0 / 0
Здравствуйте.
Скажите пожалуйста, что делать если на изменения в legacy.php реакции нет, а в helper.php есть, но нужно обрабатывать 2 варианта вывода ссылки - она может быть как основным пунктом, так и вложенным подпунктом и для этих вариантов меняются стили, а в предложенном варианте в helper.php можно прописать стиль только для одного пункта меню.
*

baloon

  • Захожу иногда
  • 369
  • 13 / 0
А подскажите как сделать, если код уже переделан, вот так
Код
        default : // formerly case 2
            // open in parent window
            if ($mitem->linktitle != null)
{
$txt = '<a title="' . $mitem->linktitle . '" href="' . $mitem->url . '" class="' . $menuclass . '" ' . $id . '>' . $mitem->name . '</a>';
} else {
$txt = '<a title="' . $mitem->name . '" href="' . $mitem->url . '" class="' . $menuclass . '" ' . $id . '>' . $mitem->name . '</a>';
}
            break;
*

baloon

  • Захожу иногда
  • 369
  • 13 / 0
up
Очень надо, подскажите, пожалуйста, как правильно написать учитывая код в предыдущем посте?
*

icom

  • Давно я тут
  • 830
  • 202 / 4
default : // formerly case 2
            // open in parent window
$menu = &JSite::getMenu();
         if ($menu->getActive() == $menu->getItem($mitem->id)) {
            $txt = '<span class="' . $menuclass . '" ' . $id . '>' . $mitem->name . ' </span> ';
         } else {
            if ($mitem->linktitle != null) {
               $txt = '<a title="' . $mitem->linktitle . '" href="' . $mitem->url . '" class="' . $menuclass . '" ' . $id . '>' . $mitem->name . '</a>';
            } else {
               $txt = '<a title="' . $mitem->name . '" href="' . $mitem->url . '" class="' . $menuclass . '" ' . $id . '>' . $mitem->name . '</a>';
            }
         }
 break;
*

breez83

  • Новичок
  • 2
  • 0 / 0
Шаблонизация здесь не поможет. Нужно прописывать условие в самом модуле.

Файл modules\mod_mainmenu\helper.php

Меняем
Код: php
switch ($tmp->browserNav)
{
default:
case 0:
// _top
$data = '<a href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';
        break;

На

Код: php
$menu	= &JSite::getMenu();
switch ($tmp->browserNav)
{
default:
case 0:
// _top
if ($menu->getActive() == $menu->getItem($item->id)){
$data = $tmp->url.$image.$tmp->name;
} else {
$data = '<a href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';
}
break;



Помогите, пожалуйста!

Прописал в коде все вышеуказанное, не помогает.
В чем может быть проблема?
*

breez83

  • Новичок
  • 2
  • 0 / 0
Да точно тупанул :) тогда оставляем там же где был.
Исправил. Спасибо.

SmokerMan - на тебя все надежды!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

убрать из меню заголовки h3

Автор nexter

Ответов: 19
Просмотров: 6397
Последний ответ 03.02.2020, 18:49:47
от durte
При добавлении нового пункта меню не отображается содержимое

Автор Denko

Ответов: 2
Просмотров: 2074
Последний ответ 16.01.2020, 18:40:55
от Denko
Не нажимается пункт меню на мобильной версии

Автор Sensession

Ответов: 7
Просмотров: 3002
Последний ответ 04.01.2020, 16:45:27
от xpank
Не отображаются пункты в меню

Автор physic

Ответов: 20
Просмотров: 21288
Последний ответ 20.09.2019, 16:54:01
от beliyadm
Как в ARI Ext Menu добиться работы параметра "Показать в меню"?

Автор vasmed

Ответов: 1
Просмотров: 2289
Последний ответ 01.03.2019, 11:12:18
от vasmed