Так вот мой макет:
randompagenumber.php
|
|
/ | header.php
php include -| content.php
\ | footer.php
В нижнем колонтитуле есть скрипт php, который вызывает имя файла randompagenumer.php, удаляет его расширение и тире в имени и выводит это число имени файла в виде номера страницы в нижнем углу.
(влево или вправо, в зависимости от того, является ли это число четным или нечетным).
У меня есть пара страниц (пока 10), я назвал их --1.php, --2.php, --3.php, --4.php, --5.php, - 6.php, --7.php, --8.php, --9.php, -10.php, ...
Таким образом, скрипт превращает их просто в 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ...
Код, который я имею для нижнего колонтитула:
<?php
$pagenr = basename($_SERVER['PHP_SELF']);
$pagenr = str_replace( array( '.php', '.htm', '.html', '-', '_' ), '', $pagenr ); // Remove extensions and spaces in filename
if ($pagenr % 2 == 0) {
$footlr = "footerlinks";
$pcontainer = "pcontainerl";
} else{
$footlr = "footerrechts";
$pcontainer = "pcontainerr";
}
?>
<div id="<?=$footlr?>">
<div id="pnummer" class="pcontainer"><?=$pagenr?></div>
Таким образом, div с идентификатором "<?=$footlr?>
" будет изменять имя при проверке четного или нечетного числа и, таким образом, будет читать другой стиль CSS (#footerlinks и #footerrechts).
Теперь то, что я пытался сделать, связано с content.php
Из html я знаю, что есть возможность ссылаться на якоря в его собственном файле, и поэтому я попытался получить некоторый такой же результат с php, но мне нужно было управлять им только для загрузки страницы php, но она выводит весь content.php
В общем, я хотел бы добиться, чтобы, если randompagenumber.php считывал свое имя файла (через footer.php), он загружал контент из определенного раздела с идентификатором, соответствующим этому номеру страницы.
Вот так выглядит мой randompagenumber.php на данный момент:
<?php
$PageName = str_replace( array( $PageName ), '#p', $pagenr, $PageName );
?>
<!DOCTYPE html>
<html>
<?php include('templates/pheaderhst.php'); ?>
<?php include("templates/content.php$PageName"); ?>
<?php include('templates/pfooter.php'); ?>
Итак, я сделал здесь новую строку с именем PageName, которая вызывает строку pagenr, которая вычисляется из footer.php и позволяет ей отображаться как php-страница для загрузки <?php include("templates/content.php$PageName"); ?>
Просто чтобы обнаружить, что на самом деле загружается вся страница, а не только содержимое того, что я назвал идентификаторами разделов.
Итак, зная, что скрипт php меняет имя файла с 006.php на просто число 6, затем меняет 6 на # p6 (поскольку идентификатор не может начинаться с цифры, я назвал его сначала с помощью ap) .. Почему он загружает всю страницу, а не только содержимое моего <section id="p6">content of page 6</section>
?
Для тех, кто заинтересован, вот как выглядит content.php;
<?php
?>
<section id="p1">
<div id="contentwrapperpaginas"><?php echo 'Content from page 1' ?></div>
</section>
<section id="p2">
<div id="contentwrapperpaginas"><?php echo 'Content from page 2' ?></div>
</section>
<section id="p3">
<div id="contentwrapperpaginas"><?php echo 'Content from page 3' ?></div>
</section>
<section id="p4">
<div id="contentwrapperpaginas"><?php echo 'Content from page 4' ?></div>
</section>
<section id="p5">
<div id="contentwrapperpaginas"><?php echo 'Content from page 5' ?></div>
</section>
<section id="p6">
<div id="contentwrapperpaginas"><?php echo 'Content from page 6' ?></div>
</section>