PDA

Просмотр полной версии : Функция вывода страницы в нужном месте


alpotemkin
14.04.2009, 11:34
Доброго времени суток!

Есть сайт на дивах. Его структура:
1. header.php (шапка сайта)
2. index.php
3. footer.php (низ сайта)
4. menu.php (меню слева)
5. styles.css (стили)
6. images (папка с картинками)
7. content (папка со страницами контента)

Извиняюсь за ламерский вопрос, а вопрос следующий: Все элементы образуют сайт, но проблема в том, что я не знаю, как вывести контент в нужном месте - справа от меню.
Нужна функция, которая вызывала бы нужную страницу из папки content при нажатии на какую-либо ссылку в меню.

Я так понял, что нужно инклудить из меню, но как сделать - не соображу...

http://i030.radikal.ru/0904/61/caf86edb8278.jpg

index.php
<?php

$PageTitle = "Организация праздников";

require ("header.php");
require ("menu.php");
require ("footer.php");

?>

header.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=cp1251" />
<title>
<?php
print ("$PageTitle");
?>

</title>
<link href="styles.css" rel="stylesheet" type="text/css" media="screen" />
</head>

<body>
<div id="content">
<div id="main">
<div id="back_all">
<div id="header">
<div id="logo">
<h1><a href="/">Организация праздников</a></h1>
<h2><a target="_blank" rel="nofollow" href="/" id="metamorph">Обслужим на высшем уровне!!!</a></h2>
</div>
<div id="padding">
<div id="menu">
<ul>
<li><a href="index.php" >Главная</a></li>
<li><a href="/">Галлерея</a></li>
<li><a href="/">Прайс-лист</a></li>
<li><a href="/">Связь с нами</a></li>
</ul>
</div>
</div>
</div>

menu.php
<div id="left">
<h3>Навигация</h3>
<ul>
<li>
<ul>
<li><a href="banket.php">Банкеты</a></li>
<li><a href="vipusk.php">Выпускные</a></li>
<li><a href="deti.php">Детские праздники</a></li>
<li><a href="korporativ.php">Корпоративные мероприятния</a></li>
<li><a href="chastnik.php">Частные мероприятия</a></li>
<li><a href="vecherinka.php">Вечеринки</a></li>
</ul>
</li>
</ul>
<br />
<center>
<img src="images/1.jpg" alt="">
</center>
</div>
</div>
</div>
</div>

footer.php
<div id="footer">
<p>Copyright &copy; 2009. Designed by <a target="_blank" rel="nofollow" href="/" title="Шаблончег">Шаблончег</a></p>
<p><a href="/">Реклама</a> | <a href="/">Реклама</a> | <a target="_blank" href="http://validator.w3.org/check/referer"><abbr title="eXtensible HyperText Markup Language">XHTML</abbr></a> | <a target="_blank" href="http://jigsaw.w3.org/css-validator/check/referer"><abbr title="Cascading Style Sheets">CSS</abbr></a></p>
</div>
</body>
</html>

Заранее спасибо за помощь.

SQLHACK
14.04.2009, 12:03
<?php

$PageTitle = "Организация праздников";

require ("header.php");
require ("menu.php");
require ("content.php");
require ("footer.php");

?>
и в menu.php, надо взять последний закрывающий див, и перенести его в Footer.php, а в content.php пиши <div>ну тут какая то конструкция</div>

alpotemkin
14.04.2009, 12:39
<?php

$PageTitle = "Организация праздников";

require ("header.php");
require ("menu.php");
require ("content.php");
require ("footer.php");

?>
и в menu.php, надо взять последний закрывающий див, и перенести его в Footer.php, а в content.php пиши <div>ну тут какая то конструкция</div>

Да, такой способ я тоже знаю. Но мне нужно немного другое.
В папке content есть несколько страниц с разным наполнением. И надо, чтобы при нажатии на ссылку в меню выводилась нужная страница из этой папки. Т.е. в content.php прописывается что-то типа

<?php
$text_path = "text/"; // Каталог с текстами

// Вставка блока основного текста соответственно параметру $page
function text() {
if ($page == "news") { include ($text_path."banket.php"); }
elseif ($page == "photo") { include ($text_path."vipusk.php"); }
// ...
else { include ($text_path."index.php"); }
}

Но для этого надо в шаблоне вместо ссылок прописать блок вида

// Вывод навигационного меню без ссылки на страницу $page
function menu() {
if ($page != "") { echo ("<a href='index.php'>Главная</a><br>"); }
elseif ($page != "banket") { echo ("<a href='index.php?page=banket'>Банкеты</a>"); }
elseif ($page != "vipusk") { echo ("<a href='index.php?page=vipusk'>Выпускные</a>"); }
// ...
}

А это не есть хорошо, так как у меня весь сайт держится на стилях, в том числе и блок меню...

m0Hze
14.04.2009, 12:43
Создай гденибдь поссле меню,в темпелатх например {$CONTENT}, инклудиш меню,затем заменяеш {$CONTENT} на контент из файлов.
Чото вроде

alpotemkin
14.04.2009, 12:54
Гм... неплохая идея, надо опробовать. :) Ща попробую и отпишусь. :)

Добавлено: Все ок, спасибо за помощь. Плюсик добавил. :)