No Image

Создать файл index php

СОДЕРЖАНИЕ
2 просмотров
11 марта 2020

Скачать исходный файл

Данная статья является 2 из 3 частей цикла «Создаем тему WordPress на базе статического HTML» :

В первой части этой серии статей я рассказала вам, как подготовить файлы HTML и CSS для конвертации в WordPress, как правильно задать структуру, корректный код и классы.

В этой статье вы узнаете, как разделить ваш файл index.html на набор файлов шаблонов для использования в WordPress.

Что вам потребуется:

Для выполнения этого урока вам потребуются основные инструменты для редактирования HTML и PHP:

Редактор по вашему выбору.

Что такое файлы шаблонов?

Тема WordPress состоит из ряда файлов шаблонов. Как минимум для корректной работы тема должна содержать в себе два файла: index.php и style.css .

Однако в хорошо проработанной теме содержимое файла index.php должно быть разделено на основной файл шаблона (index.php) и набор включаемых файлов. Это файлы, содержащие код для заголовка, боковой панели и подвала страницы.

В некоторых темах дополнительные включаемые файлы используются через Цикл; я расскажу об этом подробнее в четвертой части данного цикла.

Данные файлы называются « включаемые », потому что вы вставляете в файл index.php код, который сообщает WordPress, что их содержимое нужно включить в страницу.

Наш файл index.html будет разделен на четыре PHP-файла:

  • index.php , который будет включать в себя основное содержание плюс код для размещения других файлов;
  • header.php , который будет включать в себя раздел плюс все, что находится в шапке и меню навигации;
  • sidebar.php , который будет содержать область боковой панели виджетов;
  • footer.php , который будет содержать (вы уже догадались!) подвал плюс закрытие тега ;

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

Если вы хотите получить больше базовой информации по данной теме, прочитайте раздел Кодекса WordPress Template Hierarchy .

Но сейчас все, что нам нужно сделать, это создать набор PHP-файлов и распределить между ними содержимое нашего файла index.php.

Создаем файлы PHP

Для начала мы создадим пустые файлы. Создайте четыре пустых файла со следующими названиями и откройте их в редакторе кода:

Убедитесь, что все они находятся в папке с названием вашей темы — в моем случае я назову папку ‘wptutsplus-demo-theme‘ . Скопируйте также в эту папку таблицы стилей. Мы не будем редактировать их в этом уроке, но займемся этим в следующей же части серии.

Заполнение файла Header

Далее вам нужно скопировать верхнюю часть ранее созданного файла index.html в файл header.php .

Откройте файл index.html и выберите все от объявления DOCTYPE до открытия тега div :

Скопируйте данный код и вставьте его в файл header.php.

Заполнение файла боковой панели

Теперь повторите все те же действия для файла боковой панели.

Если ваш файл index.html, имеет выделенный элемент as >, и все, что касается сайдбара, содержится в нем.

Скопируйте данный код в файл sidebar.php и сохраните изменения.

Заполнение файла футера

Процесс заполнения файла footer.php идентичен.

Скопируйте весь код, который располагается после сайдбара в вашем файле index.html:

Скопируйте данный код в файл footer.php .

Вы можете спросить, почему блок .main закрывается в файле подвала, а не в файле боковой панели.

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

Читайте также:  Asus maximus viii ranger bios

Заполнение файла Index

И последним этапом будет непосредственно создание файла index.php. Сделать это будет немного сложнее, вам придется добавить некоторые функции PHP, которые WordPress использует для включения заголовка, боковой панели и подвала.

Откройте пустой файл index.php и добавьте код, приведенный ниже:

Убедитесь, что между началом включаемого заголовка и включаемой боковой панелью оставлено пространство — сюда вы будете добавлять содержимое индексного файла, которое не является частью ни заголовка, ни боковой панели, ни футера.

Теперь откройте файл index.html еще раз и выберите весь код между открывающимся блоком элемента > и боковой панелью:

Скопируйте этот код и вставьте его в свой файл index.php ниже строки get_header ( ) .

Сохраните изменения в файле index.php.

Подводим итоги

Теперь у нас есть основа для темы WordPress. Вы превратили ваш HTML-файл в набор файлов PHP и настроили их на совместную работу.

В следующей части этой серии статей я расскажу вам, как оредактировать таблицу стилей, чтобы создать рабочую тему, и загружу тему в WordPress.

Данная публикация представляет собой перевод статьи « Creating a WordPress Theme From Static HTML: Creating Template Files » , подготовленной дружной командой проекта Интернет-технологии.ру

Для создания перспективного, расширяемого и эффективного сайта любой сложности следует начинать с простого. Это процесс нелёгкий, требует определённых базовых знаний PHP и MySQL, но если его рассмотреть по пунктам — то можно составить своего рода «рабочий план», который пригодится при создании новых сайтов. Подготовим «ядро» и базу для проекта. Вначале это будет обычный сайт визитка, но потом, добавляя функционал, его можна превратить во что угодно. Итак, приступим.

1. Подготовка базы данных. Создаём первую таблицу в БД MySQL

Создаём новую базу данных, например «mysite». Лично я привык работать с кодировкой UTF-8, по-этому сразу оговорюсь: проследите, чтобы все текстовые файлы сайта, сама база, таблицы и поля таблиц были в одной кодировке.
В новой базе делаем таблицу. Назовём её «pages». В этой таблице будут храниться статические страницы будущего сайта и информация о них. Таблица должна содержать следующие поля:

  • page_id — идентификатор страницы (SMALLINT, primary key, auto_increment);
  • page_alias — псевдоним страницы для строки адреса ЧПУ (VARCHAR, 255);
  • page_title — название страницы в окне браузера (VARCHAR, 255);
  • page_meta_d — мета описание страницы для тега meta description (VARCHAR, 255);
  • page_meta_k — мета ключевые слова для тега meta keywords (VARCHAR, 255);
  • page_h1 — заголовок страницы (VARCHAR, 255);
  • page_s_desc — краткое описание материала, например если материалы сайта будут в виде блога (TEXT);
  • page_content — основной текст страницы, который будет выводиться в центральную колонку сайта (TEXT);
  • page_publish — содержит «Y» — если страница опубликована, или «N» — если она скрыта (CHAR, по умолчанию «Y»).

Сразу после создания таблицы вставляем в неё значения для главной страницы сайта. В поле «page_alias» для главной страницы предлагаю вставить значение «home». Метатеги — соответственно тематике всего сайта. Таким же образом можно посоздавать другие страницы, например «О компании» с алиасом «about» и своими метатегами, или «Контакты» с алиасом «contacts» и т.д.

Читайте также:  Установить фригейт для хром

2. Создаём файл конфигурации сайта

В корневой папке сайта, которая должна быть пуста на данном этапе, создаём папочку «cfg», в ней с помощью .htaccess закрываем доступ директивой «deny from all». Создаём файл core.php следующего содержания:

link = mysql_connect($this->dbhost, $this->dblogin, $this->dbpass);
mysql_select_db($this->db);
mysql_query(‘SET NAMES utf8’);
>

function close() <
mysql_close($this->link);
>

function run($query) <
$this->query = $query;
$this->result = mysql_query($this->query, $this->link);
$this->err = mysql_error();
>
function row() <
$this->data = mysql_fetch_assoc($this->result);
>
function fetch() <
while ($this->data = mysql_fetch_assoc($this->result)) <
$this->fetch = $this->data;
return $this->fetch;
>
>
function stop() <
unset($this->data);
unset($this->result);
unset($this->fetch);
unset($this->err);
unset($this->query);
>
>

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

Если Вы работаете в среде Windows, я могу порекоммендовать использовать редактор Notepad++. В этом редакторе есть нумерация строк, и он легко переводит текст из одной кодировки в другую. ВНИМАНИЕ! Если Вы работаете в кодировке UTF-8 — конвертируйте файлы в UTF-8 without BOM — это поможет избежать проблем в будущем.

3. Создаём index.php — главный контроллер сайта

Файл конфигурации создан. Теперь в корневой папке сайта создаём index.php — это и будет основной скрипт сайта, своего рода «главный контроллер». Содержание файла index.php:

// ГЛАВНЫЙ КОНТРОЛЛЕР
switch ($_GET[option]) <
case "page":
include($_SERVER[DOCUMENT_ROOT]."/com/page.php");
break;
default:
include($_SERVER[DOCUMENT_ROOT]."/com/home.php");
break;
>

include ($_SERVER[DOCUMENT_ROOT]."/template.php");
$db->close();

Переменная $_GET[option] будет указывать главному контроллеру какой компонент сайта загружать при запросе. Сейчас в нашем сайте предусмотрено только два компонента: «страница» и «главная страница» (в принципе можно обойтись и одним компонентом вывода обычной страницы, но часто вид главной страницы сайта отличается от обычных страниц пунктов меню). Логика работы главного контроллера такова: из URL строки извлекается название нужного компонента (значение переменной $option), в зависимости от его значения подключается файл самого компонента (содержится в папке /com). Файл компонента выполняет все необходимые работы, извлекает из базы данные и записывает их в переменные, для передачи в шаблон дизайна. В самом конце подключается файл дизайна сайта, в который и передаются все переменные и данные, извлечённые в компонентах. Это звучит намного сложнее, чем работает.

4. Создаём компонент вывода обычной страницы

В корне сайта создаём папочку «com» — в ней будут храниться файлы компонентов. Компонент сайта, в моём понимании — это файл, в котором происходит обработка данных для разных разделов сайта. Например компонент обычной страницы извлекает из базы данных название, описание и текст материала, и записывает их в переменные $title, $meta_d, $meta_k, $content и др. Эти данные потом передаются в шаблон дизайна (под каждый компонент можно создавать свой шаблон дизайна) и выводятся пользователю в виде HTML-страницы. Например, компонент каталога, который можно создать в будущем, выполнял бы почти то же самое, но с данными про товары — а там своя специфика, другие поля в таблице, итд. По-этому для каждого функционального раздела сайта стоит создавать отдельный компонент. В схеме MVC (Model-View-Controller) компонент выполняет роль модели.

Создаём в папке «com» файл «page.php». Содержимое файла следущее:

run($query);
$db->row();
// ПЕРЕМЕННЫЕ КОМПОНЕНТА
$ >data[page_id];
$alias = $db->data[page_alias];
$title = $db->data[page_title];
$h1 = $db->data[page_h1];
$meta_d = $db->data[page_meta_d];
$meta_k = $db->data[page_meta_k];
$s_desc = $db->data[page_s_desc];
$component = $db->data[page_content];
// ЕСЛИ СТРАНИЦЫ НЕ СУЩЕСТВУЕТ
if (!$id) <
header("HTTP/1.1 404 Not Found");
$component = "ОШИБКА 404! Данной страницы не существует";
>
$db->stop();

Читайте также:  Как переустановить itunes на mac

5. Создаём компонент вывода главной страницы

Главная страница у нас в базе данных хранится под псевдонимом «home», и пока по своей структуре не отличается от обычных страниц сайта — это просто статья. Тем не менее создадим для неё отдельный компонент — на перспективу, так сказать.

Содержимое компонента «home.php» в папке «com» почти совпадает с содержимым компонента обычной страницы, за исключением строки запроса к базе и названия компонента. Строка запроса теперь выглядит так:

$query = "SELECT * FROM wx_pages WHERE page_alias=’home’ LIMIT 1";

6. Создаём шаблон дизайна всего сайта

В корне сайта создаём файл template.php. По сути это обычный макет web-дизайна в формате HTML+CSS, только с PHP переменными в нужных местах. Между тегами title вставочка , в центральной колонке сайта вставочка и так по всему шаблону расставляем нужные переменные, которые объявлены в компонентах.

В корневой папке также должны быть папки «css» и «images» для элементов дизайна. В файле /css/style.css — можно настроить стили по своему усмотрению.

7. Чистые ссылки и файл .htaccess

Для создания чистых ссылок я использую mod_rewrite с прямыми указаниями правил для каждого компонента отдельно, так как разбор адресной строки средствами самого контроллера считаю излишним функционалом. Содержимое .htaccess на данном этапе такое:

RewriteEngine On
RewriteBase /

# ЗАПРЕЩЁННЫЕ ФАЙЛЫ
RewriteRule .htaccess – [F]
RewriteRule template.php – [F]

# ПРАВИЛА mod_rewrite
RewriteRule page/([a-z0-9_-]+)([/]<0,1>).htm$ index.php?option=page&alias=$1 [L]

В будущем мы будем дописывать правила для компонентов поиска, каталога, блога статей и т.д. Смысл один: преобразовать ссылки вида «mysite.com/index.php?option=pages&alias=about» в ссылку вида «mysite.com/pages/about.htm» — смотрится довольно красиво. Старайтесь в разработке избегать массива $_GET в целях безопасности и не надеяться на него. Целесообразно хранить в нём только параметры для главного контроллера (переменная $option) и для компонента (переменная $alias).

Также в каждой папке сайта «на всякий случай» создайте пустой файл index.html — это нужно для того, чтобы при обращении к каталогу через адресную строку ничего не отображалось.

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Создать файл в PHP можно двумя способами. Функцией fopen() и функцией file_put_contents() . Функция file_put_contents() лучше использовать только в случае обычной записи/дозаписи текста в файл, в остальных случаях лучше использовать fopen() .

fopen()

Например нужно создать файл data.txt и записать в него текстовую информацию.

В результате в файле data.txt будет следующая информация:

file_put_contents()

Функция int file_put_contents (string filename, mixed data [, int flags [, resource context]]) повторяет вызов функций fopen(), fwrite(), fclose().

Например нужно создать файл data2.txt и записать в него текстовую информацию.

В результате в файле data2.txt будет:

Если вы хотите этой функцией file_put_contents() записать информацию в уже существующий файл, при это сохранив информацию в нем, то в качестве третьего параметра нужно передать константу FILE_APPEND .

В результате в файле будет следующая информация:

Примечание

При создании файла убедитесь, что у папки, где будет создаваться файл, выставлены права доступа для создания файлов.

Комментировать
2 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
Adblock detector