Верхний и нижний колонтитулы PHP

#php #header #include #footer

#php #заголовок #включить #нижний колонтитул

Вопрос:

Я пытаюсь создать общий верхний и нижний колонтитулы для всего моего веб-сайта. Но мои веб-страницы организованы в разные папки. Как я должен определить свои ссылки внутри файла PHP, чтобы я мог включать их во все страницы.Ниже, в части моего menu.php файл.

 Code:Root
<li>
<a href="company.html" <?php echo $active[2] ?>>COMPANY</a>
<ul>
<li><a href="team.html"><strong>Our</strong> Team</a></li>
<li><a href="index.html#clienteles"><strong>Our</strong> Clientele</a></li>
<li><a href="company.html#testimonials">Testimonials</a></li>
<li><a href="others/profile.html"><strong>Our</strong> Profile</a></li>
</ul>
</li>

Code: Child
<li>
<a href="../company.html" <?php echo $active[2] ?>>COMPANY</a>
<ul>
<li><a href="../team.html"><strong>Our</strong> Team</a></li>
<li><a href="../index.html#clienteles"><strong>Our</strong> Clientele</a></li>
<li><a href="../company.html#testimonials">Testimonials</a></li>
<li><a href="../others/profile.html"><strong>Our</strong> Profile</a></li>
</ul>
</li>
  

Я не хочу использовать абсолютный путь, потому что я тестирую сайт на локальном сервере apache на моем Mac.

Ответ №1:

Вы должны использовать абсолютный путь. Просто создайте BASE_URL константу для вашего проекта и укажите ее на свой базовый URL. После этого просто добавьте его к своим URL-адресам

 <li><a href="<?php echo BASE_URL?>/team.html"><strong>Our</strong> Team</a></li>
...
...
...
<li><a href="<?php echo BASE_URL?>/path/team.html"><strong>Our</strong> Team</a></li>
  

Ответ №2:

Я бы включил файл, возможно config.php и внутри имеют абсолютный путь. Таким образом, даже если вы тестируете свой сайт локально, вам просто нужно изменить эту константу и использовать ее в любой ссылке, которую вы хотите.

Ответ №3:

Если эти страницы находятся в корневом каталоге документа, вы можете добавить к ним косую черту:

 <li><a href="/team.html"><strong>Our</strong> Team</a></li>
  

Как и в Unix /, предоставит путь к корню, будь то http://localhost/team.html или http://example.com/team.html .

Ответ №4:

Я бы использовал использовать <base> тег. Как только это будет включено, вы сможете использовать относительные ссылки, и браузеры будут искать в нужном месте.

Если вы действительно не хотите переключать URL-адрес <base> туда и обратно для разных доменов, вы могли бы попробовать настроить его динамически с помощью $_SERVER['HTTP_HOST'] .

Ответ №5:

Я думаю, что лучшим решением является наличие объекта, который будет отображать макет и любую страницу, которую вы хотите отобразить в данный момент.

Ваш макет будет выглядеть следующим образом:

mylayout.phtml

 <html>
<head><?php $title ?></head>
<body>
<div id="header"
</div>

<?php include($_GET['webpage']) ?>

<div id="footer">
</div>
</body>
</html>
  

Тогда вы будете постоянно вызывать только одну и ту же страницу

 http://www.mywebsite.com/index.php?webpage=team
  

Затем вы создаете .htaccess с mod rewrite, чтобы изменить ваши URL-адреса на

 http://www.mysite/team/
  

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