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

PypS

  • Новичок
  • 5
  • 0 / 0
Подскажите как сделать чтобы активный пункт меню не являлся ссылкой. Есть ли возможность кастомизировать mod_mainmenu под эту задачу и как это сделать ?
Разработка сайтов.
Портфолио - http://www.weblancer.net/users/artOfHuman/
*

Darkick

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

SmokerMan

  • Гуру
  • 5293
  • 719 / 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 которое формирует меню занесется все меню без ссылок,  а необходимо чтобы ссылка убиралась только у активного пункта..
Разработка сайтов.
Портфолио - http://www.weblancer.net/users/artOfHuman/
*

SmokerMan

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

Darkick

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

SmokerMan

  • Гуру
  • 5293
  • 719 / 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

  • Давно я тут
  • 808
  • 193 / 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 - на тебя все надежды!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Пункт меню

Автор s120367

Ответов: 0
Просмотров: 245
Последний ответ 03.06.2018, 13:02:55
от s120367
Большое меню Joomla

Автор Amakeeva

Ответов: 1
Просмотров: 411
Последний ответ 22.01.2018, 13:17:45
от effrit
Как можно отображать имя пользователя в название меню?

Автор selimoff

Ответов: 27
Просмотров: 3572
Последний ответ 02.01.2018, 15:24:44
от logan-19
как сделать пункт меню не кликабельным?

Автор qweqweqwe

Ответов: 13
Просмотров: 6415
Последний ответ 07.09.2017, 01:45:49
от forzi
Сдвинуть пункты меню в левое положение

Автор wectra

Ответов: 6
Просмотров: 676
Последний ответ 12.07.2017, 21:09:01
от wectra