Включить контент с php - PullRequest
0 голосов
/ 01 октября 2019

Я хочу создать функцию, похожую на Wordpress, используя php для загрузки переменного содержимого на одной странице. Чтобы лучше понять, чего я хочу достичь, вот пример: у меня есть файл index.php. Он включает в себя три части (заголовок, содержимое и нижний колонтитул) с помощью команды php «include». Теперь верхний и нижний колонтитулы одинаковы для всех страниц, но мне нужно иметь возможность включать различный контент в одну и ту же страницу (в зависимости от того, на какой якорь навигации я нажимаю). Проблема в том, что, если у меня нет определенного базового URL (у меня его нет, потому что базовый URL был бы таким же index.php), я не знаю, как получить конкретный контент. Пожалуйста, дайте мне знать, если это возможно? Если да, то как? Заранее спасибо.

1 Ответ

0 голосов
/ 01 октября 2019

Я согласен с сделанными комментариями, однако я также считаю, что было бы стыдно, если бы вы сегодня не попробовали и не узнали что-то новое! Подсказка: есть много способов сделать то, что вы хотите сделать, более или менее изощренно, так что не останавливайтесь и погрузитесь в некоторые уроки;Я надеюсь, что это мотивирует вас (и не позволит вам работать в WP)!

Итак, чтобы помочь вам начать, настройте следующую структуру каталогов:

enter image description here

  1. У нас есть папка с содержимым со всеми различными страницами, на которые вы хотите «перейти»
  2. У нас есть header.php и footer.php, которые извлекаютсяна каждый запрос index.php.
  3. У нас есть index.php, страница, где происходит вся магия.

Давайте посмотрим на код (я полагаю, выВы запускаете это на localhost):

header.php

<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <meta http-equiv='X-UA-Compatible' content='IE=edge'>
    <title>Test</title>
    <meta name='viewport' content='width=device-width, initial-scale=1'>
    <link rel='stylesheet' type='text/css' media='screen' href='main.css'>
</head>
<body>
<a href = "http://localhost/your/path/to/index.php?page=page0">page0</a>
<a href = "http://localhost/your/path/to/index.php?page=page1">page1</a>

В header.php мы определяем два <a href =...>. Они ссылаются на один и тот же пункт назначения index.php, но каждый из них устанавливает различную строковую переменную запроса: ?page=page0 и ?page=page1.

Строковая переменная запроса page будет получена index.php через$_GET['page'] для извлечения контента для page0.php или page1.php соответственно.

index.php

<?php

require "header.php";

if(isset($_GET['page'])) {
    $target = "content/" . $_GET['page'] . ".php";
    require $target;
}

require "footer.php";

Как видите, index.php ждет $_GET['page'] для установки, т. е. ссылки, по которой нужно щелкнуть, чтобы затем взять информацию, установленную в переменной $_GET['page'], и использовать ее для require правильного содержимого (т. е. page0.php или page1.php).

Закрытие вашего HTML с помощью правильного нижнего колонтитула ...

footer.php

</body>
</html>

И, наконец, содержимое страниц:

page0.php

<?php
echo "Page 0 content";

page1.php

<?php
echo "Page 1 content";
...