Как сделать меню подобно в различных CMS?

В различных CMS за главное меню отвечают различные модули, например, в Wordpress функция wp_nav_menu( $args );
Для простого сайта-визитки разворачивать CMS затратно.
Вопрос: как методами php сделать меню так чтобы оно подключалось к страницам и на соответствующей странице пункт меню был автомачиски выделен?
  • Вопрос задан
  • 2550 просмотров
Пригласить эксперта
Ответы на вопрос 5
mlnkv
@mlnkv
JavaScript Developer
писать свои классы, в которых составляется html вашего меню
Ответ написан
Комментировать
ruseller.com/lessons.php?rub=2&id=1996
ruseller.com/lessons.php?rub=2&id=1900

Довольно не плохой сайт, советую прогуляться, много интересного для себя найдёте.
Ответ написан
Комментировать
PafNutY
@PafNutY
Люблю кодить в своё удовольствие
Самый просто и топорный способ:

function slug($slug){
	if(!isset($_SERVER['REQUEST_URI'])) {
		$suri = $_SERVER['PHP_SELF'];
	}
	else {
		$suri = $_SERVER['REQUEST_URI'];
	}

	return strpos($suri, $slug);
}

<li<?if(slug('groups')) {echo' class="active"';}?>><a href="/groups/">Группы</a></li>
<li<?if(slug('groups1')) {echo' class="active"';}?>><a href="/groups1/">Группы 1</a></li>

как альтернатива - метод на jquery
Ответ написан
Комментировать
@FOGstudio
По моему проще развернуть CMS чем писать код меню. а помимо меню по хорошему еще нужно сделать шаблон общий для всех страниц, без формы обратной связи тоже как то не очень, а это уже затратнее по времени чем просто установить CMS.
Ответ написан
Комментировать
FacedSID
@FacedSID
Я сделал так:

1. Есть набор страниц в системе.
2. Есть модуль меню.

Модуль меню позволяет создавать разные меню. Например "Главное меню", "Меню на странице услуги" и пр., т.е. те меню, которые впринципе меняются раз в год )

В каждом меню есть возможность создавать пункты меню. Их два типа: внутренняя ссылка и внешняя ссылка. С таким подходом вы никак не привязаны к структуре сайта, можете создавать хоть по 10 разных менюшек на каждую страницу.

При формировании кода меню мы имеет запрошенный URL адрес и для каждой внутренней ссылки у нас тоже есть адрес. Сопоставляем их и бинго! Находим активный пункт, ну а там уже как хотите...можно подсвечивать активных родителей, можно подсвечивать только один активный пункт.

А вообще я бы рекомендовал не пользоваться WordPress. Как же я не люблю его, особенно после того как обращается клиент с интернет-магазином на WordPress.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
25 апр. 2024, в 15:31
70000 руб./за проект
25 апр. 2024, в 15:26
15000 руб./за проект
25 апр. 2024, в 15:13
3000 руб./за проект