[FAQ] Как убрать ссылку на Главную в меню?

  • 65 Ответов
  • 25023 Просмотров

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

*

Morh

  • Осваиваюсь на форуме
  • ***
  • 117
  • 11
Как Убрать пункт меню "главная"? Чтобы переход на главную страницу остался только по нажатию логотипа сайта? Удалить или снять с публикации не получается. Пишет, что "хотя бы один пункт меню должен указывать на главную страницу".
« Последнее редактирование: 21.11.2012, 16:42:33 от b2z »

*

SK

  • Практически профи
  • *******
  • 2141
  • 161
Можно, например, таким образом сделать.
Оставьте в модуле меню только один пункт меню "Главная", который будет иметь тип "По умолчанию".
И этот модуль меню не публикуйте на сайте ни в какой позиции.

*

Fedor Vlasenko

  • Профи
  • ********
  • 3800
  • 698
  • Все начинается с Value
файл default_component.php
сделай так
Код: php-brief
switch ($item->browserNav) :
default:
case 0:
if (in_array($item->id, $path)){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
case 1:

*

Morh

  • Осваиваюсь на форуме
  • ***
  • 117
  • 11
Спасибо. Заработало по методу SK. При использовании метода Poznakomlus, пункт меню остался на своём месте. Снять с публикации или удалить его не получилось все-равно. (с него просто слетели стили оформления).

*

b2z

  • Support Team
  • *****
  • 7452
  • 741
  • Разраблю понемногу
Метод SK самый надежный. Внес в FAQ, по моему насущный вопрос  ::)

*

Fedor Vlasenko

  • Профи
  • ********
  • 3800
  • 698
  • Все начинается с Value
Метод SK самый надежный.
Я предложил решение убирать ссылку <a> с активного пункта меню всех  пунктов. Это решение совсем иное. Позволяет не дублировать ссылки на себя
для 1,5      Чтобы страница не могла ссылаться сама на себя?

*

b2z

  • Support Team
  • *****
  • 7452
  • 741
  • Разраблю понемногу
Я предложил решение убирать ссылку <a> с активного пункта меню всех  пунктов. Это решение совсем иное. Позволяет не дублировать ссылки на себя
Не спорю. Правда у ТС что-то не получилось. Давайте разберемся, почему не сработало.

P.S.
Способ необходимо дополнить, чтобы новички не пытались модуль меню править напрямую.

*

ukrsem

  • Захожу иногда
  • **
  • 20
  • 0
файл default_component.php
сделай так
Код: php-brief
switch ($item->browserNav) :
default:
case 0:
if (in_array($item->id, $path)){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
case 1:

мне тоже не помогло, "Главная" на месте

*

Fedor Vlasenko

  • Профи
  • ********
  • 3800
  • 698
  • Все начинается с Value
1. Копируем все файлы из modules/mod_menu/tmpl в ваш_шаблон/html/mod_menu/
2. Правим файлы default_url.php и default_component.php
3. Вставляем нижеследующий код.(Добавил обработку псевдонимов)
Код: php-brief
switch ($item->browserNav) :
default:
case 0:
if (in_array($item->id, $path) || in_array($aliasToId , $path)){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
case 1:
Главная и будет на месте, но без ссылки уже, обернутая в span

*

Efanych

  • Группа развития
  • *****
  • 4317
  • 605
Так это же не то условие. Надо
if ($item->id == $active_id) {
или даже так
if ($item->flink == $_SERVER['REQUEST_URI']){
« Последнее редактирование: 22.04.2013, 21:34:03 от Efanych »
Создание сайтов, шаблонов, помощь в решении проблем.

*

Fedor Vlasenko

  • Профи
  • ********
  • 3800
  • 698
  • Все начинается с Value
Так это же не то условие. Надо
Проверял, перед тем как писать?

*

Efanych

  • Группа развития
  • *****
  • 4317
  • 605
Нет, не проверял. Бросилась в глаза проверка на активные дочерние пункты. Проверил, так и есть. При активном дочернем пункте родительский не является ссылкой.
Создание сайтов, шаблонов, помощь в решении проблем.

*

jurassik

  • Завсегдатай
  • *****
  • 666
  • 49
1. Копируем все файлы из modules/mod_menu/tmpl в ваш_шаблон/html/mod_menu/
2. Правим файлы default_url.php и default_component.php
3. Вставляем нижеследующий код.(Добавил обработку псевдонимов)
Код: php-brief
switch ($item->browserNav) :
default:
case 0:
if (in_array($item->id, $path) || in_array($aliasToId , $path)){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
case 1:
Главная и будет на месте, но без ссылки уже, обернутая в span
на его основе удалить ссылку можно
default.php
в начале цикла вывода li
if (in_array($item->id, $path)==101) continue; \\ главная почти всегда 101
сам шучу - сам смеюсь

*

Fedor Vlasenko

  • Профи
  • ********
  • 3800
  • 698
  • Все начинается с Value
jurassik in_array($item->id, $path) проверит есть ли значение $item->id в $path. Вы же этот результат сравниваете с 101. Тогда если нужно убрать определенный пункт меню по Id можно такое условие:
Код: php-brief
if ($item->id==101) continue;
Еще раз, вы не внимательно прочитали, в моем решении убирается ссылка (<a>) не только с главной, а со всех активных пунктов меню и их псевдонимов. При этом сам пункт (название меню) выводится обрамленное в <span>

*

wbmsk

  • Захожу иногда
  • **
  • 21
  • 3
1. Копируем все файлы из modules/mod_menu/tmpl в ваш_шаблон/html/mod_menu/
2. Правим файлы default_url.php и default_component.php
3. Вставляем нижеследующий код.(Добавил обработку псевдонимов)
Код: php-brief

switch ($item->browserNav) :
default:
case 0:
if (in_array($item->id, $path) || in_array($aliasToId , $path)){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
case 1:
Главная и будет на месте, но без ссылки уже, обернутая в span

Здравствуйте!
Этот способ работает на 2,5?
У меня стоит не дефолтный шаблон (cerulean) и такой папки нет ваш_шаблон/html/mod_menu/, есть ваш_шаблон/html/mod_roknavmenu/
Я пробовал вносить правки (то есть изменять код на Ваш), но ничего не вышло(((
Или нужно не заменять, а добавлять?
Также не подскажете как убрать ссылку с логотипа на главной странице?
Спасибо.

*

wbmsk

  • Захожу иногда
  • **
  • 21
  • 3
Никто не подскажет?

*

Roinmana

  • Осваиваюсь на форуме
  • ***
  • 87
  • 1
1. Копируем все файлы из modules/mod_menu/tmpl в ваш_шаблон/html/mod_menu/
2. Правим файлы default_url.php и default_component.php
3. Вставляем нижеследующий код.(Добавил обработку псевдонимов)
Код: php-brief
switch ($item->browserNav) :
default:
case 0:
if (in_array($item->id, $path) || in_array($aliasToId , $path)){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
case 1:
Главная и будет на месте, но без ссылки уже, обернутая в span

Не получается реализовать эту полезную доработку. Делаю как описано, но вместо сайта становится белый экран с исходным кодом:
Код
<ul class="nav menu">
<li class="item-101 current active">
Может я что-то не так делаю. В какую часть исходного кода вставлять этот код? И файлы копировать в ваш_шаблон/html/mod_menu/ или ваш_шаблон/html/mod_menu/tmpl

*

Fedor Vlasenko

  • Профи
  • ********
  • 3800
  • 698
  • Все начинается с Value
в ваш_шаблон/html/mod_menu/
откройте оригинальный файл и замените часть его кода на приведенный выше там же не 100л строк, чтобы запутатся
если ошибка включайте в общих настройках сайта показывать ошибки для рпзработчиков
код рабочй

*

Roinmana

  • Осваиваюсь на форуме
  • ***
  • 87
  • 1
замените часть его кода на приведенный выше
Спасибо! Все работает, просто я поначалу добавлял вместо замены...

*

gillmor

  • Осваиваюсь на форуме
  • ***
  • 43
  • 1
1. Копируем все файлы из modules/mod_menu/tmpl в ваш_шаблон/html/mod_menu/
2. Правим файлы default_url.php и default_component.php
3. Вставляем нижеследующий код.(Добавил обработку псевдонимов)
Код: php-brief
switch ($item->browserNav) :
default:
case 0:
if (in_array($item->id, $path) || in_array($aliasToId , $path)){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
case 1:
Главная и будет на месте, но без ссылки уже, обернутая в span
Fedor Vlasenko
Спасибо тебе огромное за этот код. Я уже давно хотел решить проблему с меню, но все руки не доходили, да и разбираться было некогда. А теперь все работает.

*

raftol

  • Захожу иногда
  • **
  • 19
  • 0
1. Копируем все файлы из modules/mod_menu/tmpl в ваш_шаблон/html/mod_menu/
2. Правим файлы default_url.php и default_component.php
3. Вставляем нижеследующий код.(Добавил обработку псевдонимов)
Код: php-brief
switch ($item->browserNav) :
default:
case 0:
if (in_array($item->id, $path) || in_array($aliasToId , $path)){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
case 1:
Это решение работает только для стандартных материалов и категорий Joomla.
А можно как-то модифицировать Ваше решение для связки Joomla 3.2 + JoomShopping 4.4.0?

*

sega

  • Давно я тут
  • ****
  • 257
  • 4
все отлично но если у пункта есть подпункты то почему родительский так и остается без ссылки?

*

orel115

  • Новичок
  • *
  • 2
  • 0
1. Копируем все файлы из modules/mod_menu/tmpl в ваш_шаблон/html/mod_menu/
2. Правим файлы default_url.php и default_component.php
3. Вставляем нижеследующий код.(Добавил обработку псевдонимов)
Код: php-brief
switch ($item->browserNav) :
default:
case 0:
if (in_array($item->id, $path) || in_array($aliasToId , $path)){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
case 1:
Главная и будет на месте, но без ссылки уже, обернутая в span
Почему при этом методе слетает стиль главного меню?

*

grevzi

  • Новичок
  • *
  • 8
  • 0
Подскажите, пожалуйста, как сделать тоже самое для Joomla 3.2? Как нужно изменить код?
Спасибо!

*

too_good

  • Захожу иногда
  • **
  • 12
  • 0
Помогите, пожалуйста, разобраться, сделала по методу SK, теперь один модуль меню с "главной" никуда не выводится, вроде бы все в порядке. Но материал, который был к этому пункту привязан, продолжает выводиться на главной. Если его удалить или снять с публикации, то главная страница просто не грузится. Как с этим справиться?

*

sega

  • Давно я тут
  • ****
  • 257
  • 4
Помогите, пожалуйста, разобраться, сделала по методу SK, теперь один модуль меню с "главной" никуда не выводится, вроде бы все в порядке. Но материал, который был к этому пункту привязан, продолжает выводиться на главной. Если его удалить или снять с публикации, то главная страница просто не грузится. Как с этим справиться?
логично, этот материал привязан к главной и он будет выводиться на главной, а вы что хотите сделать?

*

too_good

  • Захожу иногда
  • **
  • 12
  • 0
логично, этот материал привязан к главной и он будет выводиться на главной, а вы что хотите сделать?
Убрать его вообще, снять с публикации, чтоб его не видно было. Помогите, пожалуйста, а?

*

sega

  • Давно я тут
  • ****
  • 257
  • 4
скиньте доступы в админку в личку, помогу чем смогу

*

ma-mix-1

  • Новичок
  • *
  • 9
  • 0
Удаляется через базу данных легко, в яндексе просто забей удалить ссылку на главную страницу, 3 й результат. А вот вопрос, как чтобы этого алиаса потом в сроке ссылки не было, кто знает? Чтобы было не site.ru/home/about, а без алиаса главной site.ru/about ?

*

asdg

  • Новичок
  • *
  • 2
  • 0
Fedor Vlasenko, подскажите пожалуйста, какие правки внести чтобы ваш код заработал на J3.3?