Какие виды страниц бывают на сайте? Как эти виды страниц отловить и вывести соответствующий контент. Загрузка по условию каждого вида страницы.
Виды страниц сайта/движка
Видео : Виды страниц движка- Необходимые переменные для создания условий.
- Типы страниц сайта.
- Схема для понимания процессов.
- Вывод страниц по условию.
- Второй код Php и Html страница
- Скачать
Необходимые переменные для создания условий.
Для написания условий, нам потребуется несколько переменных. Без данного пункта мы не сможем продвинуться вперед. Эти переменные нам понадобятся в глобальной теме сделать сайт/движок
Переменная "$home" - путь до корневой на сервере
Домен сайта "$domen" - Домен сайта с http
Грязный путь до файла:
Переменная "$parse_url" - чистый путь от корневой до файла.
Соберем реальный адрес страницы из выше приведенных примеров:
И получим путь до файла с контентом на сервере, заменим домен на путь до корневой на сервере:
$home = $_SERVER['DOCUMENT_ROOT'];
$domen = $_SERVER['HTTP_X_FORWARDED_PROTO'].'://'.$_SERVER['HTTP_HOST'];
$request_uri = strip_tags($_SERVER['REQUEST_URI']);
$parse_url = parse_url($request_uri, PHP_URL_PATH);
$hp_page = $domen . $parse_url;
$hp_page_s = str_replace($domen , $home , $hp_page);
Типы страниц сайта.
После того, как мы разобрались с теми переменными, которые нам потребуется для создания условий, давайте определимся, какие страницы у нас будут и какие должны быть на примере моего сайта!
В очередной раз повторяю, что реализация может быть разной! И мне, чтобы не гадать, как бы вам хотелось, или как бы вам виделось - буду использовать в качестве примера свой сайт, потому, что я долго шел именно к такому варианту, всего, что используется на сайте!
1) . Тип страницы : главная страница сайта
Домен нам выведет $domen:
parse_url нам выведет, если мы будем находиться на главной:
2) . Тип страницы : списки
Эта страница может быть с постоянным адресом, как например вот эта:
Либо с get запросом :
3) . Тип страницы : контент
И последний тип страницы. который мы рассмотрим - это страница с контентом. Будет еще множество видов, которые мы со временим будем добавлять. но сегодня, чтобы примерно понять, как это должно работать!
Итак...
Наш контент будет находиться в папке "page/" сразу за доменом https://dwweb.ru/page и будет выводиться с помощью переменной echo $hp_page; :
Путь на сервере до неё мы получим вот таким образом(буква s будет обозначать путь на сервере.):
И выведем $hp_page_s:
Схема для понимания процессов.
У нас есть единая точка входа, где мы прописали, что папка "page/" - что в ней будет единая точка входа, поэтому, мы сможем управлять всеми этими страницами с одного файла.
Далее нам понадобится схема:
Почему выше кода "HTML" стоит "PHP"?
Что мы еще можем получить!? - заголовок title страницы.
И уже ниже, когда мы имеем данные для страницы мы сможем загрузить HTML.
И внутри мы должны как-то получить и вывести данную информацию, поэтому нам понадобится второй PHP.
И нам нужно, чтобы php работало на html.
Вывод страниц по условию.
Наконец-то мы добрались до главной темы страницы! Как видите, сколько надо всего сделать предварительного и только в конце всей вакханалии собрать наш код вместе!
Выше наши переменные были написаны и теперь они все нам понадобятся для создания тех самых условий. о которых мы твердим уже целую вечность!
$home = $_SERVER['DOCUMENT_ROOT'];
$domen = $_SERVER['HTTP_X_FORWARDED_PROTO'].'://'.$_SERVER['HTTP_HOST'];
$request_uri = strip_tags($_SERVER['REQUEST_URI']);
$parse_url = parse_url($request_uri, PHP_URL_PATH);
$hp_page = $domen . $parse_url;
$hp_page_s = str_replace($domen , $home , $hp_page);
На примерах разберем наши условия вывода страниц:
Первый код php:
{
$H1 = $title = 'Это главная страница сайта';
У нас на главной есть информация о сайте - https://dwweb.ru/.
Передаем данные в переменную $main_text;
}
elseif($parse_url == 'blog.html') //{
$H1 = $title = 'blog';
Загружаем скрипт, который будет обрабатывать главную базу - https://dwweb.ru/blog.htmlПередаем данные в переменную $main_text;
}
elseif($_GET['tema']) //
{
// $H1 = $title = strip_tags($_GET['tema']) ;
Здесь будем писать условие(if), существует ли такой тег в природе, например существует - https://dwweb.ru/?tema=PHP//Иначе(else) - если такого тега нет, можно пойти несколькими путями!
1). Вывести 404 - https://dwweb.ru/404.html и перенаправить на главную
2). Создать отдельную страницу, которая будет выводить отчет об ошибке - проверьте, нажмите на ссылку. https://dwweb.ru/?tema=проверка - для этого будет отдельная страница.
}
elseif(is_file($hp_page_s) and substr_count( $hp_page_s,'.html')) //{
include $hp_page_s; // загружаем файл по пути на сервере
Переменная $main_text будет существовать в каждой странице(о странице с контентом будет отдельная тема.)
+ $H1 + $title.
}
else
{
}
if($no_page)
{
2). Вывод страницы 404.html, через include прямо так: include("404.html");
3). Внутри 404.html делаем переадресацию на главную}
Второй код Php и Html страница
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title><?echo$title?></title>
<meta name="description" content="<?echo$description?>">
<meta name="keywords" content="<?echo$keywords?>">
</head>
<body>
<div id="main_text">
<?
echo "\n";
echo '<h1>'.$H1 .'</h1>';
echo "\n";
echo $main_text;
?>
</div>
</body>
</html>
Код в архиве немного изменен! Весь код был протестирован на поддомене.
Добавлено:
Папка :
Папка :
Папка :
Страница :