Предотвращение дублирования кода для разных веб-страниц с одним и тем же меню

#php #layout #anchor

#php #макет #привязка

Вопрос:

У меня есть меню, которое хочет изменить только содержимое.

Я хотел организовать отдельные файлы для разных страниц.

Я мог бы сохранить меню в отдельном php-файле и включить его на главную страницу.

Все еще кажется немного повторяющимся, когда есть более 10 меню.

Я знаю, что есть навигация по тегам привязки, которая обновляет часть содержимого с помощью jQuery.

Но мне почему-то не нравится этот тег # в адресной строке (или не должен?)

Есть ли лучший способ справиться с этим?

Ответ №1:

Я мог бы сохранить меню в отдельном php-файле и включить его на главную страницу.

ДА. Сделайте это.

Я знаю, что есть навигация по тегам привязки, которая обновляет часть содержимого с помощью jQuery.

Нарушает работу поисковых систем. Зависит от JS. Избегайте этого.

Комментарии:

1. Спасибо! Я думаю, я посмотрю на один из других веб-сайтов, которые я создал с помощью тега привязки nav. Очень признателен 🙂

Ответ №2:

  1. Я не думаю, что добавление только одной строки с включением в каждый файл действительно является такой повторяющейся задачей. 99% местных пользователей более повторяются в своем коде.
  2. Однако, если вы хотите что-то более интеллектуальное, вы можете создать один программный файл, содержащий меню и множество файлов данных, отображаемых в соответствии с выбором пользователя

вот очень простой пример

 <a href="index.php">Main page</a><br>
<a href=?about>About</a><br>
<a href=?links>Links</a><br>
<br><br> 
<? 
if (empty($_SERVER['QUERY_STRING'])) { 
  $name="index"; 
} else { 
  $name=basename($_SERVER['QUERY_STRING']); 
} 
$file="txt/".$name.".htm"; 
if (is_readable($file)) { 
  readfile($file);
} else { 
  header("HTTP/1.0 404 Not Found");
  exit;
} 
?>
 

Комментарии:

1. Спасибо! Я собираюсь попробовать это ^ _^ очень признателен 🙂