Как убрать главную или home из пункта меню Joomla

Joomla — хорошая бесплатная CMS. Но, не стоит забывать, что у всего бесплатного бывают свои «приколы». Один из таких «приколов» состоит в том, что в меню Joomla обязательно должен быть включен какой-то пункт меню по умолчанию. По умолчанию таким пунктом меню идет «Главная».

Давайте представим ситуацию. У нас есть «Главная» в меню на странице и мы хотим ее отключить. Отключаем…а нам отвечает «Вы не можете снять с публикации меню по умолчанию». И тут возникает проблема на ровном месте.

Как убрать пункт меню по умолчанию home из Joomla?

Способ 1. Самый легкий

Самый легкий способ — это создать еще одно меню, в нем пункт меню по умолчанию и не выводить его на страницу. То есть, у вас должно быть просто создано еще одно меню, которое вы нигде не публикуете, ни в какой из модульных позиций.

Способ 2. Самый правильный

Находим в папке шаблона ваш_сайт/templates/ваш_шаблон/default_component.php. В нем прописываем

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:

Таким образом мы убираем ссылку <a> с активного пункта меню с любого меню

автор: Роман Довгаль

С 2010 года я занимаюсь интернет маркетингом. Сюда входит и SEO, и SMM, и SMO, и, собственно маркетинговое продвижение не только сайтов, а проектов в комплексе :)
Для меня каждый проект – это отдельная жизнь. Своя целевая аудитория, свои методы продвижения, свои показатели результативности :)

10 комментария

  1. Как сделать так, что бы пункт Home не отображался в меню, и при этом страница Home работала как страница по умолчанию и на нее можно было бы попасть нажав на иконку сайта?

    1. Для этого нужно перенаправить пункт Home на другое меню и не публиковать это меню

  2. Добрый день
    Подскажите пожалуйста: joomla
    На сайте от компонента K2 и Zoo очень много дублей, которые уже проиндексированы. Также есть страницы с тегами они тоже проиндексированы и яндекс пишет, что они некачественные.
    Что лучше сделать?
    Как их можно запретить в файле robots? И правильно ли это будет?

    1. Добрый день, Максим. Не, это будет неправильно и все дубли вы таким образом не отловите. Правильно — это сделать склейки страниц (редиректы) через файл .htaccess

    1. В зависимости от шаблона, у вас порядок файлов может быть другой. Не видя вашего сайта и файловой структуры, невозможно сказать, где именно у вас этот файл, или он заменяется другим

  3. Зачем городить огород, или изобретать велосипед.
    1. В настройках пункта меню убрать — Показывать ссылки — Показывать в меню.
    2. Пункту меню добавить свой класс и ему прописать стиль display:none. Возможно придётся добавить !important
    Элементарно.

    1. Удалите коммент и не позорьтесь. То, что вы предлагает — непрофессиональный костыль. Display: none на html ссылку. НИКОГДА так не делайте если хотите, чтобы код был качественный. Вывод должен пресекаться на уровне html

    2. Это называется городить костыли. Учите матчасть. Вывод такого должен на уровне кода, а не стилей убирать. То, что вы написали — неправильное решение. Оно будет работать, но это уже плохой код

  4. Вопрос по теме статьи. Делаю внутреннюю ссылку в разделе контакты, который всегда на главной, но материал не выводится для показа. С какой бы страницы не нажимал эту ссылку показывается материал, который отмечен по умолчанию с главного меню сайта. Файл default_component.php найти не удалось. Похоже нужна не консультация, а помощь.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *