Главная » Полезные статьи » Язык PHP » Класс для создания меню навигации на сайте
Распечатать статью

Класс для создания меню навигации на сайте

Навигация – это можно сказать главный элемент каждой веб-страницы. Без правильно оформленной навигации, понятной каждому пользователю, хорошего сайта получиться не может в принципе, потому что большинство посетителей сайта попадают на него из поисковые системы. Как следствие, посетители, пришедшие из вне, не видели предыдущих страниц сайта, и если они вовремя не поймут, где они находятся, то они попросту уйдут, получив или не получив нужное. Ведь большинство пользователей рунета очень дорожат временем и трафиком, и они не станут разбираться, где и что на вашем сайте.

 

Когда я столкнулся с этой проблемой, я сразу решил сделать единый вид меню для всего сайта, и использовать его на всех страницах. Перечитав несколько статей по оптимизации сайтов, я сделал вывод, что текст из меню должен встречаться как в заголовке страницы, так и в ее тексте, причем в «разных направлениях». В заголовке начинаться с названия страницы и заканчиваться названием сайта, а в меню все на оборот.
В заголовке:
Название (статьи, книги, etc) < Раздел сайта < Название сайта
В меню:
Название сайта > Раздел сайта > Название (статьи, книги, etc)

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

class Url_nav /* класс для создания навигации */ { var $link_and_text_list; /* массив ссылок */ var $delitmer; /* разделитель ссылок */ /* добавление элемента */ function add_item($title, $s_url) { } /* создание навигации и заголовка из спец. массива: array ( [0][url] = ?module=art.... [0][title] = название ) */ function nav_create() { } /* создание заголовка */ function title_create() { } }

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

<?php class Url_nav /* класс для создания навигации */ { var $link_and_text_list; /* массив ссылок */ var $delitmer; /* разделитель ссылок */ /* добавление элемента */ function add_item($title, $s_url) { $n=sizeof($this->link_and_text_list); $this->link_and_text_list[$n]['title']=trim($title); $this->link_and_text_list[$n]['url']=trim($s_url); } /* создание навигации из спец. массива */ function nav_create() { $links_arr=$this->link_and_text_list; $str = ""; $c=sizeof($links_arr); for ($i=0; $i<$c; $i++) { if (!$links_arr[$i]['url']) { $str .= $links_arr[$i]['title']; } else { $str .= "<a href="".$links_arr[$i]['url']."" target="_self">".$links_arr[$i]['title']."</a>"; } if ($i<$c-1) { $str .= $this->delitmer; } } return $str; } /* создание заголовка */ function title_create() { $links_arr = array_reverse($this->link_and_text_list); $str = ""; $c = sizeof($links_arr); for ($i=0; $i<$c; $i++) { $str .= $links_arr[$i]['title']; if ($i<$c-1) { $str .= $this->delitmer; } } return "<title>".$str."</title>"; } } /* Пример использования */ $nav = new Url_nav(); // создание нового экземпляра класса $nav -> delitmer = " < "; // установка разделителя $nav -> add_item("items 1", "?b=1"); // добавление элементов $nav -> add_item("items 2", "?b=2"); $nav -> add_item("items 3", "?b=3"); $nav -> add_item("items 4", "?b=4"); $nav -> add_item("items 5", ""); echo $nav-> title_create(); // создание и вывод заголовка $nav -> delitmer = " > "; // изменение разделителя echo $nav -> nav_create(); // создание и вывод панели навигации со ссылками ?>

Как пользоваться данным классом я надеюсь, вы поймете из примера указанного выше. На мой взгляд, класс для создания навигации на сайте получился довольно-таки удобный и его можно легко дополнить всяческими специфическими функциями, без ущерба для основного кода. В этой статье я постарался донести до вас, ту простоту и удобство которой обладает объектно-ориентированное программирование в PHP. Получилось это или нет судить уже вам.

Источник: internet-technologies.ru

Вы можете оставить комментарий, или обратную ссылку на Ваш сайт.

Оставить комментарий

Похожие статьи