§2. Як зробити вертикальне меню, що випадає, на php

§2. Як зробити вертикальне меню, що випадає, на php

Якщо вас цікавить відповідь на питання, як створити меню сайту, то ви прийшли за правильною адресою.

Ми розглянемо створення динамічного меню на php, написане спеціально для чайників у програмуванні, а також тих, хто ще в танку.

Меню на php для сайту робимо динамічним - чайникам

Створимо майбутній макет нашого сайту. Для цього намалюємо у фотошопі супер красивий сайт та розріжемо на шматочки. Уявимо, що шапка, логотип, меню та підвал не написані словами, як у даному прикладі, а це вишукано та барвисто оформлені елементи сайту.

Створимо для прикладу три сторінки та назвемо їх Розділ 1, Розділ 2, Розділ 3

Цей текст для різних сторінок буде різним, але ми не будемо на ньому морочитися і залишимо його як є на всіх сторінках.

Приступимо до створення сайту на php.

1. Виділимо блоки header, logo, menu, footer в окремі файли з розширенням php або html

header.html

logo.html

menu.html

footer.html

Додамо файл із цим текстом, щоб бачити його на всіх сторінках. Назвемо його text.html

Примітка. З цього моменту подальші записи вестиму безпосередньо у файлі text.html

2. Створимо шаблон для нашого сайту на PHP.

Для цього зробимо просто - збережемо справжній файл, але вже з розширенням php і зітремо все текстове наповнення. Нехай це не професійно, проте зрозуміло, а ускладнювати все будемо пізніше. Нині головне зрозуміти принцип верстки.

3. Тепер файл template.html нам не потрібний.

Завдяки йому ми маємо уявлення про те, як виглядатиме наш сайт.

4. Нашим шаблоном є файл template.php

У нього ми зараз вставимо за допомогою команди include всі елементи сайту.

5. Створимо три сторінки, як збиралися спочатку.

Розділ 1, назвемо 1.php

Розділ 2, назвемо 2.php

Розділ 3, назвемо 3.php

Для цього можна скористатися найпростішою командою зберегти як...

Для найменших поясню: відкриваємо файл template.phpпотім натискаємо зберегти як...та зберігаємо під назвою 1.php, повторюємо процедуру та послідовно збережемо сторінки сайту 2.php, 3.php

У нас вийшло 3 сторінки з однаковим дизайном. Достатньо вставляти замість файлу text.htmlінший, доповнювати різними картинками або будь-якими HTML кодами, скриптами і вміст кожної сторінки буде унікальним.

Увага!

Якщо не буде створено файл index.phpдля головної сторінки, то в браузері, набравши адресу сайту ми не побачимо сам сайт, а лише структуру директорії (перелік папок).

Можете подивитися у денвері та переконатися. Виправимо ситуацію - створимо файл index.phpі назвемо довго не мудруючи Головна. Заодно створимо файл text-home.htmlта за допомогою команди includeвставимо на щойно створену головну сторінку сайту.

6. Як переглянути сайт на php?

Що вийшло – так просто не побачимо. Це вже не шаблон із розширенням html.

Але й не проблема. Нам потрібен свій, тобто. локального сервера на комп'ютері. Для цього встановимо денвер і результат роботи будемо дивитися в браузері, не виходячи в інтернет.

Ось тепер лад. Набрала адресу сайту та побачила все щойно створене у нормальному вигляді з дизайном.

Тепер візьмемося до php меню сайту.

1. Відкриємо файл menu.html і перетворимо розділ 1, 2 та 3 на посилання по сайту. Посилання у php створюються по-різному.

Наше завдання – навчитися відчувати сайт, створений на php. Тому посилання будемо робити як на звичайному статичному сайті Розділ 1 і т.д.

Мені ця процедура створення посилань шалено подобається в Macromedia Dreamweaver. Встигай тиснути ОКі пити каву.

2. Як зробити посилання в меню неактивним, якщо відвідувач знаходиться на даній сторінці.

Відвідувачу буде зручніше орієнтуватися на сайті знаючи, на якій саме сторінці він знаходиться.

Якщо ви виконали всі кроки по пунктах, то бачите, що у нас всі посилання в меню активні постійно. Як це виправити?

Для початку згадаємо визначення що таке Умовні оператори

– це коли якась дія виконується чи не виконується залежно від умов.

Виконаємо такі дії:

  • Нам знадобляться змінніі один умовний оператор:

if ($master == "Головна")// Це умова. Якщо воно виконується – то в цьому місці меню за допомогою команди echo вставляються звичайні HTML-теги, що виводять напис «Головна».

echo "

Головна

";

else// означає «інакше» - що станеться, якщо умова не виконується. У разі при невиконанні умови напис «Головна» буде посиланням, яка веде головну сторінку.

echo "

Головна

";

  • Умову ми вигадали, але щоб перевірити зміннупотрібно її задати.

Для цього на всіх сторінках розмістимо такі блоки коду:

$master = "Головна";

$master = "Розділ 1";

$master = "Розділ 2";

$master = "Розділ 3";

Як бачимо для кожної сторінки свій код.

Отже, наші практичні кроки зі створення php меню будуть наступні:

1) Відкриваємо файл index.php

та вставляємо код

$master = "Головна";

до місця вставки коду, що виводить саме меню сайту include "menu.html";
?>

2) Відкриваємо файл menu.htmlі вставляємо код із умовою замість простого html посилання на головну сторінку.

Дивимося у браузері та милуємося! Якщо зайдемо на головну сторінку, то посилання перестало бути активним!

3) Повторюємо пункт 1 та 2 зі сторінками 1.php, 2.php, 3.php

Повторення 1:

1) Відкриваємо файл 1.php і вставляємо до коду, що виводить меню блок із заданою змінною

$master = "Розділ 1";

2) Відкриваємо файл menu.html та вставляємо код із умовою замість простого посилання Розділ 1, внісши такі зміни:

if ($master == "Розділ 1")// Це умова. Якщо воно виконується – то в цьому місці меню за допомогою команди echo вставляються звичайні HTML-теги, що виводять напис «Розділ 1».

echo "

Розділ 1

";

else// означає «інакше» - що станеться, якщо умова не виконується. У разі при невиконанні умови напис «Розділ 1» буде посиланням, яка веде головну сторінку.

echo "

Розділ 1

";

Чудо повторилося! Тепер, якщо ми знаходимося на сторінці Розділ 1, посилання в меню не активне.

Повторення – мати навчання! Або для тих, хто у танку! Ще раз

Повторення 2

1) Відкриваємо файл 2.phpта вставляємо код.

$master = "Розділ 2";

2) Знову відкриємо файл menu.html і вставляємо код за умови

if ($master == "Розділ 2")// Це умова. Якщо воно виконується, то в цьому місці меню за допомогою команди echo вставляються звичайні HTML-теги, що виводять напис «Розділ 2».

echo "

Розділ 2

";

else// означає «інакше» - що станеться, якщо умова не виконується. У разі при невиконанні умови напис «Розділ 2» буде посиланням, яка веде головну сторінку.

echo "

Розділ 2

";

Повторення 3

1) Відкриваємо файл 3.phpі задаємо змінну.

$master = "Розділ 3";

2) У файл menu.html вставляємо код із умовою замість посилання Розділ 3, зміни такі:

if ($master == "Розділ 3")// Це умова. Якщо воно виконується – то в цьому місці меню за допомогою команди echo вставляються звичайні HTML-теги, що виводять напис «Розділ 3».

echo "

Розділ 3

";

else// означає «інакше» - що станеться, якщо умова не виконується. У разі при невиконанні умови напис «Розділ 3» буде посиланням, яка веде головну сторінку.

echo "

Розділ 3

";

Підсумок: ми замість посилань у меню такого виду

Головна


Розділ 1

Розділ 2


Розділ 3

Цей урок про php був написаний на численні прохання відвідувачів сайту і є практичним посібником з вивчення створення динамічного меню для сайту на php.

Наступна шпрагалка вебмайстра розповість про те, як зробити на php унікальні заголовки, описи та ключові слова для кожної сторінки.

Ви можете завантажити архів з усіма файлами шаблону сайту та меню php. Початківцям у програмуванні рекомендується.

Якщо ж ви готові до серйозного вивчення php, краще відео курсу від Попова знайти складно. У нього величезний досвід та гарний склад.

]]> ]]>

Меню сайту на php, який керується php скриптами, має свої особливості. Це не просто абсолютні або відносні посилання, хоча це цілком може бути і так, а, як правило, блоки посилань бічних панелей, що динамічно формуються з розділами і підрозділами і блоки посилань з самих внутрішніх сторінок сайту. Меню, що динамічно формується, дуже зручно, тому, як його можна вставляти в будь-яке місце сайту і, що найважливіше в потрібний час. Тобто при переході в різні розділи та підрозділи можна динамічно розгортати різні блоки меню. Причому вони можуть бути різні не лише за змістом, а й за формою та оформленням. У статичному сайті теж можна проробляти такі фінти, але це буде коштувати додаткових файлів шаблону і ще масу всяких хитрощів. Хоча сайт написаний на php нічого цього не вимагає. Шаблон лишиться, як і був. Усім керуватиме один або кілька простих php скриптів.

Для того, щоб переконатися в цьому, достатньо написати php скрипт для динамічного формування меню, наприклад першої рубрики і змусити його розгорнути меню цієї рубрики через вже написаний раніше скрипт . Інші рубрики можна буде сформувати подібним чином. Причому код самого скрипта у своїй мало чим практично зміниться. Змінюватиметься лише текстовий файл, який визначатиме назви посилань і самі посилання. Код такого скрипту наведено нижче за текстом.

// Формувач меню
$menu = @file($rubric1_menu);
$ lines = count ($ menu);
for ($i = 0; $i< $lines; $i++)
{
list($menu_link,$menu_name,$menu_title)=explode("::", $menu[$i]);
if($page == rub1_part1 and $i == 0) ($refcolor = "style="color:#cc0000"";)
elseif($page == rub1_part2 and $i == 1) ($refcolor = "style="color:#cc0000"";)
elseif($page == rub1_part3 and $i == 2) ($refcolor = "style="color:#cc0000"";)
else ($refcolor = "";)
$rubric1.="

  • ".$menu_name."
  • ";
    }
    ?>

    Для того, щоб такий скрипт працював необхідний текстовий файл, в якому зберігатимуться назви посилань меню, самі посилання та їх title. Створити такий файл нескладно, достатньо виконати з головного меню програми Dreamweaver команду File -> New, створити новий html документ, як було описано раніше, перевірити і якщо необхідно змінити кодування нового файлу на UTF-8, а потім зберегти його під ім'ям rubric1.dat у попередньо створеній йому папці data. Повний шлях до цього файлу буде D:/Mysitephp/data/rubric1.dat. Вміст файлу, наведений нижче, це посилання, їх назви та їх title (підказки). Крім того, щоб запустити цей скрипт у роботу, його необхідно підключити за допомогою функції include()у шаблонізаторі main.php.

    Rub1_part1::Розділ 1::Розділ 1 рубрики 1::
    rub1_part2::Розділ 2::Розділ 2 рубрики 1::
    rub1_part3::Розділ 3::Розділ 3 рубрики 1::

    Крім цього необхідно також створити невеликий скрипт з установками, в якому зберігатимуться повна адреса сайту, шляхи до папок сторінок та мета описів сайту, шляхи до файлів меню сайту та підключити його за допомогою функції include()у шаблонізаторі main.php. Для цього необхідно створити новий php файл і зберегти його під ім'ям наприклад setings.php в папці php. Повний шлях до файлу буде D:/Mysitephp/php/setings.php, а його вміст наведено нижче.

    # папка з html документами
    $doctemplates = "templates";
    # повний шлях до директорії скрипту
    $turl="http://mysitephp.ru";
    база з даними
    $rubric1_menu = "data/rubric1.dat";
    ?>

    Як працює php скрипт формування меню? Спочатку змінну $menu за допомогою функції file()міститься вміст текстового файлу rubric1.dat. Потім функція count()підраховує кількість рядків у текстовому файлі та функціями list()і explode()у циклі розгортається саме меню, де методом склеювання рядків (операція точка . ) формуються сторіччя посилань з їх назвами і титлами, яке потім поміщається в змінну $rubric1. Далі скрипт шаблонізатора, куди скрипт меню підключено функцією include(), переміщує вміст змінної $rubric1 у потрібне місце сайту за допомогою вже описаної раніше функції repl ().

    Таке меню поки працювати не буде, оскільки в ньому є тільки самі посилання з усіма необхідними атрибутами, але ні, скрипта, який би забезпечив перехід за цими посиланнями та відкриття сторінок сайту, які відповідатимуть цим посиланням. Цим php скриптом ми займемося далі.

    Далі можна проект оновлений скриптом формування меню. Завантажити оновлений проект можна також на сторінці, яка відкриється після оформлення та активізації безкоштовної передплати на панелі праворуч. Адреса сторінки потрібно зберегти. Саме на цій сторінці надалі з'являтимуться посилання на завантаження оновлень проекту, різноманітних корисних скриптів, програм, уроків та відеоуроків із схемотехніки, програмування та сайтобудування. для новаків.

    Завантажений оновлений новими скриптами проект php сайту тепер можна порівняти з тим, що вийшло в результаті описаних вище дій. Далі, щоб виключити різночитання, корисно буде повністю замінити проект на завантажений, виконати операцію, запустити сервер Denwer, набрати у вікні браузера mysitephp.ru і переглянути, що з цього вийшло. У лівій верхній частині шаблону має розгорнутися меню першого розділу, як показано нижче.

    Перейти та розтанути у своїй улюбленій соціалці

    Жоден сайт не обходиться без навігації або як ще називають "меню сайту". Так ось меню сайту буває однорівневим та багаторівневим у вигляді дерева. Якщо з однорівневим меню особливих складнощів у плані реалізації немає, то при створенні багаторівневого меню потрібно добре подумати.

    Найголовніше у цій задачі це спроектувати базу даних для нашого багаторівневого меню. Створимо таблицю Categories із трьома полями id, title, parentде:

    • ID- ідентифікатор
    • Title- Назва меню
    • Parent- Батько категорії за замовчуванням 0

    За розгалуження меню відповідає поле Parentякщо Parent = 0, то ця категорія є батьківською. Для того щоб додати нащадків до батьківської категорії, потрібно в полі parent вказати IDпотрібного батька. Наприклад:

    Таблиці з категоріями

    Як видно з таблиці, у батьківської категорії Автомобіліє два нащадки - це Маздаі Хондапов'язаних по полю Parent. А у категорії Мотоциклидва нащадки - це Кавасакіі Харлей. При цьому категорія Човна не має нащадків. Сподіваюся, що Ви зрозуміли, як зв'язати категорії.

    Далі переходимо від слів до практики. Створимо таблицю категорії.

    CREATE TABLE IF NOT EXISTS `categories` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `parent` int(10) unsigned NOT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=20; -- -- Дамп даних таблиці `categories` -- INSERT INTO `categories` (`id`, `title`, `parent`) VALUES (1, "Автомобілі", 0), (2, "Мотоцикли", 0) , (3, "Мазда", 1), (4, "Хонда", 1), (5, "Кавасакі", 2), (6, "Харлей", 2), (7, "Мазда 3", 3 ), (8, "Мазда 6", 3), (9, "Седан", 7), (10, "Хечбек", 7), (11, "Човни", 0), (12, "Ліфтбек", 8), (13, "Кросовер", 8), (14, "Білий", 13), (15, "Червоний", 13), (16, "Чорний", 13), (17, "Зелений", 13), (18, "Мазда CX", 3), (19, "Мазда MX", 3);

    Алгоритм роботи складається з наступного:

    Створюємо з'єднання з базою даних

    query("SET NAMES "utf8""); /* * Це "офіційний" об'єктно-орієнтований спосіб зробити це * проте $connect_error не працював аж до версій PHP 5.2.9 та 5.3.0. */ if ($mysqli->connect_error) ( die("Помилка підключення (" . $mysqli->connect_errno . ") " . $mysqli->connect_error); ) /* * Якщо потрібно бути впевненим у сумісності з версіями до 5.2 .9, * краще використовувати такий код */ if (mysqli_connect_error()) ( die("Помилка підключення (" . mysqli_connect_errno() . ") " . mysqli_connect_error()); )

    Пишемо функцію отримання даних із таблиці Categories

    //Отримуємо масив нашого меню з БД у вигляді масиву function getCat($mysqli)( $sql = "SELECT * FROM `categories`"; $res = $mysqli->query($sql); //Створюємо масив де ключ масиву є ID меню $cat = array();

    Отримуємо масив такого виду, де ключ масиву це ID категорії.

    Функція побудови дерева із масиву від Tommy Lacroix

    //Функція побудови дерева з масиву від Tommy Lacroix function getTree($dataset) ( $tree = array(); foreach ($dataset as $id => &$node) ( //Якщо немає вкладень if (!$node[" parent"])( $tree[$id] = &$node; )else( //Якщо є нащадки то перебираємо масив $dataset[$node["parent"]]["childs"][$id] = &$ node;)) return $tree;)

    Отримуємо масив у вигляді дерева

    Скрипт цілком

    query("SET NAMES "utf8""); /* * Це "офіційний" об'єктно-орієнтований спосіб зробити це * проте $connect_error не працював аж до версій PHP 5.2.9 та 5.3.0. */ if ($mysqli->connect_error) ( die("Помилка підключення (" . $mysqli->connect_errno . ") " . $mysqli->connect_error); ) /* * Якщо потрібно бути впевненим у сумісності з версіями до 5.2 .9, * краще використовувати такий код */ if (mysqli_connect_error()) ( die("Помилка підключення (" . mysqli_connect_errno() . ") " . mysqli_connect_error()); ) //Отримуємо масив нашого меню з БД у вигляді масиву function getCat($mysqli)( $sql = "SELECT * FROM `categories`"; $res = $mysqli->query($sql); //Створюємо масив де ключ масиву є ID меню $cat = array(); while ($row = $res->fetch_assoc())( $cat[$row["id"]] = $row; ) return $cat; ) //Функція побудови дерева з масиву від Tommy Lacroix function getTree($dataset) ( $tree = array(); foreach ($dataset as $id => &$node) ( //Якщо немає вкладень if (!$node["parent"])( $tree[$id] = &$node; )else( //Якщо є нащадки, то перебираємо масив $dataset[$node["parent"]]["childs"][$id] = &$node; ) ) return $tree; ) //Отримуємо підготовлений масив з даними $ cat = getCat ($ mysqli); //Створюємо деревоподібне меню $tree = getTree($cat); //Шаблон для виведення меню у вигляді дерева function tplMenu($category)( $menu = "
  • ". $category["title"].""; if(isset($category["childs"]))( $menu .= "
      ". showCat($category["childs"]) ."
    "; ) $menu .= "
  • "; return $menu; ) /** * Рекурсивно зчитуємо наш шаблон **/ function showCat($data)( $string = ""; foreach($data as $item)( $string .= tplMenu($item); ) return $string; ) //Отримуємо HTML розмітку $cat_menu = showCat($tree); //Виводимо на екран echo "
      ". $cat_menu ."
    "; ?>

    Результат праці

    Багаторівневе меню на PHP + MySQL для адмінки

    Якщо Ви хочете використовувати дане меню в адмінці свого сайту, потрібно переписати пару функцій tplMenu(), showCat().

    ".$category["title"].""; )else( $menu = " "; ) if(isset($category["childs"]))( $i = 1; for($j = 0; $j< $i; $j++){ $str .= "→"; } $i++; $menu .= showCat($category["childs"], $str); } return $menu; } /** * Рекурсивно считываем наш шаблон **/ function showCat($data, $str){ $string = ""; $str = $str; foreach($data as $item){ $string .= tplMenu($item, $str); } return $string; } //Получаем HTML разметку $cat_menu = showCat($tree, ""); //Выводим на экран echo ""; ?>

    Результат праці

    Автомобілі → Mazda →→ Mazda 3 →→→ Sedan →→→ Хечбек →→ Mazda 6 →→→ Ліфтбек →→→ Кросовер →→→→ Білий →→→→ Червоний →→→→ Чорний →→→→ Зелений →→ Мазда CX →→ Мазда MX → Хонда Мотоцикли → Кавасакі → Харлей Човни

    Оскільки вона розкриває зміст модуля menu.php. Нижче буде представлено власну розробку меню на PHP, яка була написана з нуля в блокноті.

    Цей код особливо корисний для динамічних сайтів, які мають самописні движки. Я запропоную два варіанти коду, які мають незначні відмінності (у чому різниця буде пояснена після).

    Для початку наведу зразкову структуру сайту, для якого підійде це меню. Структура сайту повинна мати такий вигляд (класичний вигляд):

    /index.html /razdel_1/ /razdel_1/articles_1.html /razdel_1/articles_2.html ... /razdel_2/ /razdel_2/articles_1.html /razdel_2/articles_2.html ... ... ... /razdel_N/articles_2 .html

    Сайт може містити розділи ще й підрозділи:

    /razdel_1/podzaderl_1/ /razdel_1/podzaderl_1/articles_1.html /razdel_1/podzaderl_1/articles_2.html ... /razdel_1/podzaderl_2/articles_1.html /razdel_1/podzaderl_2/articles_2.html

    Така структура також працюватиме для нашого меню лише з невеликими відмінностями.

    Я пропоную створити окремий файл для меню на PHP. Наприклад, menu.php було б чудовою назвою для такого файлика. Для реалізації меню також представлений стиль меню CSS, щоб відразу зробити його більш менш красивим. Природно, цей стиль дається тільки для ознайомлення, оскільки дизайни у ​​сайтів дуже різні.

    Код для стилю меню CSS:

    .menu ( height:42px; padding:0 0 0 16px; background:url(images/spacer.png) repeat; ) .menu li ( display:block; float:left; ) .menu li.active ( background: #000011 ; ) .menu a ( color:#FFF; display:block; line-height:42px; text-decoration:none; ;)

    Тепер, давайте розглянемо перший варіант реалізації меню на PHP, який є трохи спрощеним.

    Перший варіант коду меню на PHP

    \n"; for ($i=0;$i ": "
  • "; echo" ".$array_menu[$i]["name"]."
  • \n"; ) echo ""; ?>

    Меню можна поділити на дві частини. Перша містить інформаційний масив $array_menu, до якого заносяться назви наших розділів із посиланнями на розділи. Є варіант забити ці дані в базу даних mySQL, але особливо сенсу в цьому немає, оскільки вибірка зовсім невелика, тому швидкість роботи це ніяк не вплине.

    Друга частина містить виведення меню через цикл for. У циклі відбувається порівняння адреси сайту з адресою з масиву $array_menu. Якщо є збіг, то виводимо черговий розділ меню зі спеціальним класом active:

  • , інакше просто
  • . Це дозволяє нам виділити якимось кольором ту частину меню, де знаходиться користувач. На мій погляд, це необхідна річ для будь-якого сайту, щоб користувач міг розуміти, в якому розділі він знаходиться.

    Порядок прямування в масиві буде зберігатися при виведенні меню на сайті. Тобто масив треба заповнювати у порядку, в якому потрібно виводити меню.

    Примітка:
    Якщо URL (адреса) заголовком розділів мають вигляд:
    /razdel_1
    або такий
    /razdel_1/nazvanie_razdela.html
    то в array_menu потрібно записувати точний збіг:
    $array_menu[$i]["url"]="/razdel_1"
    або для другого випадку:
    $array_menu[$i]["url"]="/razdel_1/nazvanie_razdela.html";

    Як працює перший варіант меню?
    Він підсвічує меню лише, якщо Ви знаходитесь за адресою розділу. Наприклад, якщо адреса сторінки буде /razdel_1/articles_1.html, то меню ніяк не підсвічуватиметься.

    Другий варіант коду є модифікованим варіантом першого та передбачає можливість підсвічування меню навіть у статтях, які знаходяться у розділах.

    Другий варіант коду меню на PHP

    "; for ($i=0;$i ": "
  • "; echo "".$array_menu[$i]["title"]."
  • "; ) else ( echo ($URL) == ($array_menu[$i]["url"]) ? "
  • ": "
  • "; echo "".$array_menu[$i]["title"]."
  • ";)) echo""; ?>
    Квіт 23 2017

    На попередніх уроках ми розібрали на прикладах, що таке масиви. У цьому уроці ми використовуємо масиви практично для створення меню на сайті.

    Чим вони зручніші за звичайні HTML-теги?

    Ну, припустимо, наш сайт має 100 сторінок, на кожній з яких є одне й те саме меню. І раптом нам потрібно змінити пункти меню. Використовуючи тільки HTML, нам доведеться робити редагування на 100 сторінках сайту, це дуже багато. Так ось на допомогу у таких ситуаціях до нас приходить PHP. Достатньо буде поміняти пункти меню лише один раз в одному файлі.

    А тепер поїхали.

    На локальному хостингу у папці “ domainsстворюємо папку під назвою “ array- menu. local”.

    У цій папці створюємо чотири файли: index. php, про. php, contact. phpі menu. php.

    !!! Синтаксис файлів має бутиPHP.

    У файлі index.php пишемо простий HTML-каркас.




    charset = "utf-8" >



    Головна


    include("menu.php");
    ?>

    Копіюємо цей код у файли about.php та contact.php. Змінюємо лише назви сторінок у тезі

    .

    Пишемо код меню.

    У файлі menu.phpпишемо асоціативний масив.

    $menu = array (
    "index "=>"index.php",
    "about" => "about.php",
    "contacts" => "contact.php"
    );
    ?>

    Нижче за допомогою тегів HTML пишемо меню.

    У браузері ми побачимо звичайне меню як списку.

    Клацаючи на будь-якому пункті меню, ми перейдемо на відповідну сторінку, меню при цьому буде на всіх сторінках.

    Тепер ускладнимо завдання. Все видаляємо з файлу menu.phpі...

    Пишемо багатовимірний масив.




    charset = "utf-8" >
    <span>Використання масиву для виведення меню на веб-сайті.</span>


    $menu = array (
    array("link" => "Головна", "href"=> "index.php"),
    array("link" => "Про нас", "href"=> "about.php"),
    array("link" => "Контакти", "href"=> "contact.php")
    );
    ?>



    І на останньому етапі...

    Малюємо меню за допомогою циклу foreach.

    Видаляємо з файлу menu.php список

      і замість нього пишемо наступний код.

      echo"

        " ;
        foreach($menu as$item )(
        echo "
      • ($item )
      • " ;
        }

        У браузері побачимо той самий результат.

        Щоб змінити пункти меню, достатньо змінити їх у файлі menu.phpлише один раз.

         

         

  • Це цікаво: