PHP верхний и нижний колонтитулы - PullRequest
1 голос
/ 03 мая 2011

Я пытаюсь создать общий колонтитул для всего моего сайта. Но мои веб-страницы организованы в разные папки. Как мне определить свои ссылки внутри файла 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.

Ответы [ 5 ]

0 голосов
/ 03 мая 2011

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

Ваш макет будет выглядеть так:

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 с перезаписью модов, чтобы изменить ваши URL-адреса на

http://www.mysite/team/

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

0 голосов
/ 03 мая 2011

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

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

0 голосов
/ 03 мая 2011

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

0 голосов
/ 03 мая 2011

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

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

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

0 голосов
/ 03 мая 2011

Вы должны использовать абсолютный путь. Просто создайте константу 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>
...