Уроки PHP и MySQL
Скачать материалы к учебному курсу:
Скачать Notepad++ Portable
Скачать Denwer3 (версия p5.3.13_m5.5.25_pma3.5.1)
Скачать папку CD_php для изучения курса «Уроки PHP и MySQL» (692 Кб)
Создание сайта на PHP — урок, посвященный созданию шаблона простого сайта с использованием функций require() и include(), которые позволяют не дублировать одинаковые для всех страниц блоки, а создать их только один раз, а затем редактировать и изменения будут происходить на всех страницах сайта, где использованы эти блоки.
Функция require() при ошибке в сценарии останавливает выполнение сценария, а функция include() сообщает об ошибке и продолжает выполнение сценария. В этом разница между ними.
Упражнение 1. Создание простого шаблона сайта
На рис. 1 приведен шаблон сайта. В основе шаблона лежит макетная таблица, в ячейках с цветным фоном расположены одинаковые элементы сайта, на разных страницах сайта меняется содержимое только центральной ячейки.
Для создания единых элементов можно использовать функцию require, действие которой аналогично функции readfile.
Рис. 1
1. Создайте папку site_inc.ru в папке home на виртуальном сервере.
2. Внутри папки site_inc.ru создайте папку www.
3. Перезапустите Денвер. Все файлы простого шаблона сохраняйте в папку www.
4. Осуществите код из рис. 2, и сохраните файл под именем index.php в папке www.
Рис. 2
5. Создайте файл verh.inc (рис. 3) и сохраните в папку www.
Рис. 3
6. Создайте файл left.inc (рис. 4) и сохраните в папку www.
Рис. 4
7. Создайте файл right.inc (рис. 5) и сохраните в папку www.
Рис. 5
8. Создайте файл niz.inc (рис. 6) и сохраните в папку www.
Рис. 6
9. Просмотрите результат, набрав в адресной строке www.site_inc.ru и нажав Enter (рис. 7).
Рис. 7
10. Копированием файла index.php создайте файлы: kompany.php, product.php, uslugi.php, kontakt.php. В каждом файле измените содержимое центральной ячейки. Проверьте работоспособность гиперссылок. Результат на рис. 8.
11. Измените содержимое файла verh.inc. Убедитесь, что изменения произошли на всех страницах сайта.
Рис. 8
Упражнение 2. Создание сайта на PHP с разворачивающейся панелью навигации
Будем создавать сайт газеты «Из первых рук» (рис. 9).
Рис. 9. Сайт газеты «Из первых рук»
В данном уроке создание сайта на PHP начинается с главной страницы.
Задание 1
1. В директории home на виртуальном сервере создайте папку с именем gazeta.local, внутри нее папку www. Запустите/перезапустите Денвер.
2. В папке www создайте главную страницу сайта index.php и впишите в нее код из листинга на рис. 10:
3. Создайте папку image в корне сайта (папка www). Скопируйте в нее изображения logo.gif и fon.jpg из папки CD_php/ php-3.
4. Создайте внутри папки www папку flash и скопируйте в нее файл banner.swf из папки CD_php/php-3.
Рисунок 10
Для просмотра в браузере в адресной строке введите gazeta.local/ Должно получиться так, как на рисунке 11.
Рис. 11
Задание 2
Как видно из рис. 10, наша страница берет все стили из файла style.css, который находится в папке CSS. Отсюда следующее задание.
1. Создайте папку CSS.
2. В ней создайте файл style.css, и впишите в него код, как на рис. 12.
Риунок 12
Создание сайта на PHP требует достаочно частой проверки внесенных изменений. Для проверки в адресной строке браузера введите gazeta.local/ Если все задания выполнены правильно, то в окне браузера отобразится сайт газеты «Из первых рук» (рис.13).
Рис. 13. Результат выполнения заданий 1 и 2
РАЗВОРАЧИВАЮЩАЯСЯ ПАНЕЛЬ НАВИГАЦИИ
Сначала создадим несколько страниц. Страницу с новостями назовем – news.php; статьи – stats.php; рубрики – rubrics.php; партнеры – partners.php; главная уже создана – index.php.
Также добавим подпункты в меню новости и статьи. В новостях добавим: «горячие» новости – hotnews.php; последние новости – lastnews.php. В статьях: заказать статью – zakaz.php; TOP 10 – TOP10.php.
Имея теперь название страниц, займемся созданием панели навигации.
Задание 3
1. Создайте в корне сайта файл menu.php.
2. Наберите в нем код из листинга на рис. 14.
Рисунок 14. Файл menu.php
Подробней разберем код из листинга на рис. 14.
$t1= $_GET[‘t1’]; // эта строка задает переменную t1, значение которой передается GET методом.
$but1=’<a href=”index.php?t1=1”>Главная</a>’; // здесь определяем переменную but1, которая несет в себе часть панели навигации. Также из значения атрибута href видно, что при переходе на страницу index.php, передается значение переменной t1, равное единице.
Так как остальные переменные but выполняют подобную функцию, мы сразу рассмотрим строку 18:
if ($t1==’1’) {echo $but1.$but2.$but3.$but4.$but5;}; // здесь выполняется условие, при соблюдении которого, скрипт выводит на странице значение определенных переменных.
При переходе на каждый пункт или подпункт меню, передается значение переменной t1. Это значение выполняет одно из условий, и скрипт, буквально, «собирает» панель навигации заново.
Пришло время использовать функцию include(). Чтобы не путаться в переменных $but и в операторах if, вынесем часть кода, которая содержит значения переменных $but в отдельный файл.
Задание 4
1. Создайте в корне сайта config.php.
2. Перенесите в него весь код из файла menu.php, который содержит определение переменных $but. Не забудьте, код надо вставить между тэгами <? и ?>.
3. Вместо вырезанного кода, в файле menu.php впишите include (‘config.php’);.
В результате выполнения задания 4, коды файлов menu.php и config.php должны соответствовать листингам на рис. 15 и 16.
Рисунок 15. Файл menu.php
Рисунок 16. Файл config.php
ШАБЛОН СТРАНИЦЫ
Мы создали главную страницу сайта, сотдельный файл со всеми стилями, и разворачивающуюся панель навигации. Но проверить панель в действии, пока не можем, так как не существует страниц, на которые она ссылается. Значит, пора браться за создание шаблона страниц. Но сначала разберем логику, по которой будет создан наш шаблон.
Рассмотрим наш сайт. Основная часть страницы, текст в центре, окружена панелью навигации слева, дублером навигации и шапкой страницы сверху, и баннером справа. Только текст в центре несет в себе индивидуальное наполнение страницы, все остальное копируется на каждой странице. Внеся изменения, например, в заголовке title, нам придется вносить изменения во все файлы сайта, что довольно долго и не интересно.
Теперь посмотрим на сайт, точнее на его главную страничку, изнутри. Весь код идет сверху вниз, а 10% индивидуальной информации расположены где то посередине. Что наводит на простую мысль, которую мы реализуем, выполнив задание 5.
Задание 5
1. Скопируйте код, который предоставлен на рис. 17, из файла index.php.
2. Создайте файл top.php и вставьте код в него.
3. Повторите шаг 1 и 2, используя листинг на рис. 18 и создав файл endmenu.php.
4. Повторите шаг 1 и 2, используя листинг на рис. 19 и создав файл down.php.
В результате у вас должны появиться три новых файла, код которых должен соответствовать рис. 17, 18 и 19.
Рисунок 17. Файл top.php
Рисунок 18. Файл endmenu.php
Рисунок 19. Файл down.php
Теперь изменим главную страницу, сделав ее шаблонной.
Задание 6
Замените весь код страницы index.php на пять строчек из листинга на рис. 20.
Рисунок 20
Посмотрите сайт в браузере (рис. 21).
Рисунок 21
Создадим остальные страницы сайта.
Задание 7
1. Создайте файл news.php, вписав в него код из рис. 20, заменив строку 4 на:
<font class=»Btext»>Разделы новостей</font><br>
2. Создайте файл hotnews.php, вписав в него код из рис. 20, заменив строку 4 на:
<font class=»Btext»>»Горячие» новости</font><br>
<font class=»Mtext»>Буквально сегодня произошло…</font>
3. Создайте файл lastnews.php, вписав в него код из рис. 20, заменив строку 4 на:
<font class=»Btext»>Последние новости</font><br>
<font class=»Mtext»>За последнюю неделю…</font>
4. Создайте файл stats.php, вписав в него код из рис. 20, заменив строку 4 на:
<font class=»Btext»>Список статей за месяц…</font>
5. Создайте файл zakaz.php, вписав в него код из рис. 20, заменив строку 4 на:
<font class=»Btext»>Заказ статьи</font><br>
<font class=»Mtext»>…</font>
6. Создайте файл TOP10.php, вписав в него код из рис. 20, заменив строку 4 на:
<font class=»Btext»>10 лучших</font><br>
<font class=»Mtext»>1…<br>2…<br>3…</font>
7. Создайте файл rubriks.php, вписав в него код из рис. 20, заменив строку 4 на:
<font class=»Btext»>Список рубрик</font><br>
<font class=»Mtext»>1…<br>2…<br>3…</font>
8. Создайте файл partners.php, вписав в него код из рис. 20, заменив строку 4 на:
<font class=»Btext»>Информация партерам</font><br>
<font class=»Mtext»>текст…</font>
Сейчас надо добавить гиперссылки для дублера навигации.
Задание 8
Замените в файле top.php часть кода, которая указана на рис. 22, на код из рис. 23.
Рисунок 22
Рисунок 23
Проверьте работу всех ссылок (рис. 24)
Рисунок 24
Контрольные вопросы
1. Что делает функция include()?
2. Чем отличается функция include() от require()?
|
0 / 33 / 5 Регистрация: 01.12.2017 Сообщений: 698 |
|
|
1 |
|
Как назначить главную страницу сайта?25.09.2018, 20:06. Показов 1653. Ответов 5
Здравствуйте. Имеется файл с расширением .php, который содержит частично HTML и частично PHP код. Сам файл находится на FTP сервере. И у меня есть вопрос. Как назначить этот файл в качестве заглавной страницы? Заранее спасибо за ответ.
__________________
0 |
|
322 / 268 / 69 Регистрация: 15.09.2017 Сообщений: 1,233 |
|
|
25.09.2018, 20:12 |
2 |
|
Попробуйте назвать файл
0 |
|
0 / 33 / 5 Регистрация: 01.12.2017 Сообщений: 698 |
|
|
25.09.2018, 21:00 [ТС] |
3 |
|
Phantom-84, а у Вас это работает?
0 |
|
322 / 268 / 69 Регистрация: 15.09.2017 Сообщений: 1,233 |
|
|
25.09.2018, 23:55 |
4 |
|
Мы же не о том, как это работает у меня, говорим. У меня один подобный файл отвечает за вывод всех страниц сайта, причем он может находиться даже за пределами корневого каталога сайта. А назначаю я файлы страницам явно, например могу написать так: Или так:
0 |
|
16 / 16 / 6 Регистрация: 01.03.2014 Сообщений: 122 |
|
|
08.12.2018, 08:39 |
5 |
|
Что значит назначить главной? как назавете так и назавете. Может собака зарыта в настройках .htaccess… пропишите там на какую страницу вам перенаправлять все запросы, та и будет главной (если я правильно понял смысл главной страницы) Добавлено через 1 минуту
0 |
|
3803 / 3161 / 1326 Регистрация: 01.08.2012 Сообщений: 10,718 |
|
|
08.12.2018, 09:24 |
6 |
|
Как назначить этот файл в качестве заглавной страницы? Обычно веб-сервера настраиваются таким образом, что при запросе к главной странице сайта открывается index.php или index.html. Если у вас не так, можете пнуть поддержку хостинг-провайдера, чтобы настроила как вам нужно.
0 |
Просмотров: 30414
Дата последнего изменения: 11.01.2023
Сложность урока:
4 уровень — сложно, требуется сосредоточиться, внимание деталям и точному следованию инструкции.
5
Недоступно в лицензиях:
Ограничений нет
Ранее
Создание шаблона – первый шаг в интеграции дизайна.
Примечание: Ранее можно было задавать внешний вид шаблона сайта с помощью визуального редактора. С версии 14.0 работа выполняется без визуального редактора.
Подробнее…
мы создали папку шаблона сайта. Однако для корректного отображения шаблона на сайте нужно еще адаптировать вёрстку, подключив все стили и js-файлы в шапке и подвале сайта, а также прописав новые пути до картинок и объектов.
Необходимо выполнить три важных шага:
- Редактирование шапки сайта (header.php)
- Редактирование подвала сайта (footer.php)
- Подключение шапки и подвала (index.php), добавление контента
1. Редактирование шапки сайта (header.php)
- В папке шаблона откроем файл header.php в режиме редактирования как PHP.
- Первой строкой пропишем служебный код (защита от подключения файла напрямую без подключения ядра):
<? if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) die(); ?> - Внутри тегов
<head>добавим следующие строки:- Код отображения заголовка страницы:
<title><? $APPLICATION->ShowTitle(); ?></title>
- Код вывода в шаблоне сайта основных полей тега
<head>(мета-теги Content-Type, robots, keywords, description; стили CSS; скрипты):<? $APPLICATION->ShowHead(); ?>
- Код отображения заголовка страницы:
- После открывающего тега
<body>пропишем код для отображения административной панели<? $APPLICATION->ShowPanel(); ?>. В связи с особенностями данного html-макета заключим код отображения панели в теги<div>(панель будет отображаться внизу страницы), иначе административная панель «наедет» на меню:<div id="panel"> <? $APPLICATION->ShowPanel(); ?> </div> - Во все строках, где есть обращение к файлам, добавим в начале пути константу
<?=SITE_TEMPLATE_PATH?>
Возвращает путь до текущего подключённого шаблона сайта без последнего слеша.
и слеш /.Рассмотрим на примере блока
<!-- Bootstrap core JavaScript -->:<!-- Bootstrap core JavaScript --> <script src="<?=SITE_TEMPLATE_PATH?>/vendor/jquery/jquery.min.js"></script> <script src="<?=SITE_TEMPLATE_PATH?>/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
- Сохраним изменения.
|
Пример отредактированного файла header.php с комментариями |
|---|
Примечание: css-стили в шапке сайта предпочтительнее подключить с помощью метода Asset::addCss() ядра D7.
|
Пример файла header.php с комментариями |
|---|
2. Редактирование подвала сайта (footer.php)
Подвал сайта почти
не нуждается в изменениях
Проверьте обязательно наличие строки <?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();?> в начале файла.
. Необходимо только в строках, обращающихся к файлам, добавить в начале пути константу
<?=SITE_TEMPLATE_PATH?>
Возвращает путь до текущего подключённого шаблона сайта без последнего слеша.
со слешем / и сохранить изменения.
|
Пример отредактированного файла footer.php |
|---|
3. Подключение шапки и подвала (index.php), добавление контента
- Необходимо удостовериться в подключении на странице вывода файлов header.php и footer.php.
Для этого в файле главной страницы сайта
index.php
(Контент > Структура сайта > Файлы и папки > index.php)
сверим следующие конструкции:- первая строка:
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");?> - последняя строка:
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
- первая строка:
- Добавим
статический
Т.е. для изменения контента страницы нужно будет вновь отредактировать вручную код страницы index.php.
контент.Откроем файл с подготовленной вёрсткой (index.html) и скопируем код между шапкой (header) и подвалом сайта (footer) — тот, который мы в пункте 1 заменяли на #WORK_AREA#, то есть контент сайта.
Настроим пути к картинкам. Пропишем в существующих путях уже знакомую константу
<?=SITE_TEMPLATE_PATH?>/.
|
Пример отредактированного файла index.php с комментариями |
|---|
Удобнее, разумеется, настроить вывод динамической информации и работать с ним. Подробнее об этом в
следующем уроке.
В предыдущем уроке мы создали шаблон главной страницы сайта. Однако пока вся информация на сайте — статическая, и для внесения любых изменений придется править главную страницу index.php. Это не очень удобно, если информация на сайте должна постоянно обновляться. И при этом слишком громоздко.
Поэтому однородную информацию лучше заносить в инфоблоки, а потом с помощью компонентов выводить её на сайте. А чтобы информация отображалась именно так, как задумал дизайнер, необходимо кастомизировать шаблон компонента.
Подробнее…
Готово! Теперь осталось только
назначить
Откройте в Административном разделе страницу Настройки > Настройки продукта > Сайты > Список сайтов. С помощью меню действий откройте для редактирования нужный сайт.
Выберите шаблон, который вы хотите применить и условия.
Подробнее…
созданный шаблон для тестового сайта и посмотреть результат.
Примечание:
Всегда можно изменить шапку или подвал сайта, перенеся требуемую часть кода из индексной страницы в файл header.php или footer.php.
|
Пример: перенос блока «Связаться с нами» в footer.php |
|---|
В 2016 году я написал статью «Как создать главную страницу на WordPress на чистом PHP», которая сейчас уже потеряла свою актуальность. Да и для фрилансеров она была очень сложной. Связано это с тем, что даже из сайта на WordPress можно создать конструктор (типа Tilda) и делать страницы без знания HTML и CSS языков.
Но на старом сайте эта статья приводила мне на сайт много трафика, так что я решил её оставить. Да и для понимания логики работы вордпресса статья будет полезна. Плюс есть люди, которые не любят плагины, так как они перегружают сайт.
Чуть позже тут появится ссылка на статью о том, как создать главную на WordPress с помощью плагина Elementor. А пока что можете почитать эту статью или узнать подробнее об этом плагине в статье — Elementor для WordPress – Обзор функционала и настроек плагина
Как создать главную страницу на WordPress без плагинов: пример из практики.
Здравствуйте! Сегодня я хочу показать и рассказать Вам о том, как создать главную страницу на WordPress на чистом PHP на примере сайта моей хорошей знакомой, которая работает фотографом.
Поставленная задача: Создать собственную главную страницу для сайта на WordPress без привязки к установленному шаблону сайта.
-
Создаем новый шаблон главной страницы -
Добавляем шапку и подвал -
Определяемся со структурой страницы -
Выводим цитату для вводного текста -
Отображаем портфолио -
Добавляем вывод основных услуг -
Показываем последние записи блога -
Вставляем форму обратной связи -
Оформляем каждый элемент с помощью CSS стилей -
Устанавливаем нашу страницу в качестве главной -
Наслаждаемся результатом
Итак, для начала нам надо создать отдельный шаблон главной страницы. Для этого заходим в личный кабинет хостинга, на котором расположен Ваш сайт, либо подключаемся к нему по ftp. Здесь нам надо создать новый файл, который будет отвечать за внешний вид главной страницы. Файл создается согласно иерархии шаблонов WordPress.
Иерархия шаблонов главной страницы на WordPress
Иерархия шаблонов WordPress для главной страницы следующая:
- front-page.php
- home.php
- index.php
То есть при подключении к сайту на Вордпресс сначала ищется файл front-page.php. Если его нет, то ищется файл home.php. Если нет и его, то берется файл index.php.
Таким образом создать шаблон главной страницы можно тремя способами:
- Создать файл front-page.php, если его нет в установленной на сайте теме, и работать уже только с ним.
- Создать файл home.php, если его нет, и делать все манипуляции с ним.
- Править исходный файл index.php
Я выбрал второй способ, так как изменения я буду вносить постепенно. А это исключает первый способ, тк при создании пустой страницы front-page.php сайт автоматически будет открываться пустым. Плюс я хочу сохранить исходный шаблон главной страницы WordPress, поэтому редактировать файл index.php тоже не вариант.
Если же вам надо внести только мелкие правки, то можете смело редактировать файл index.php или файл, отвечающий в вашей теме за главную страницу.
Для редактирования не обязательно заходить на хостинг. Достаточно зайти в панель администратора вашего сайта -> Внешний вид -> Редактор и выбрать нужный файл в списке справа. Чуть ниже я покажу как это выглядит, когда создам свой шаблон.
И еще, не обязательно называть файл именно home.php. Это просто имя файла, по которому в сами сможете понять, за что он отвечает. Главное, чтобы имя файла было на латинице. Я, например, свой файл назвал mainpage.php
Создаем свой шаблон главной страницы
Но вернемся к созданию файла. Его надо создать на хостинге в папке с установленной у вас на сайте темой. Чаще всего эта папка располагается по адресу:
/public_html/wp-content/themes/название_темы/
Не забудьте указать расширение файла .PHP Это нужно для того, чтобы php код внутри файла правильно работал.
После того, как Вы создали файл, откройте его и впишите следующий код:
Сохраняем и идем в админку сайта. А именно во вкладку «Внешний вид -> Редактор», где мы видим наш шаблон, который называется «Шаблон страницы: Главная страница»
Добавляем шапку и подвал в шаблон
Теперь нам надо добавить в шаблон шапку и подвал страницы.
Шапка сайта (header) и подвал сайта (footer) нужны для того, чтобы страница имела цельный вид. Можно сказать, что это эдакие кавычки для страниц. Чаще всего они используются одни и те же для всего сайта. Меняется только то, что между ними.
Для того, чтобы добавить шапку сайта, нам надо в созданном шаблоне вписать такую строчку:
Этот код подключает к нашей страницы весь код из файла header.php, который и отвечает за шапку сайта.
Аналогично же подключаем и подвал сайта. Для этого ниже пишем вот такую строчку:
Этот код подключает к нашему шаблону код из файла footer.php, отвечающий за подвал.
В итоге у нас получается такой шаблон
Определяемся со структурой нашей страницы
Теперь переходим к основному содержанию страницы. Но перед тем как создать главную страницу на WordPress, надо определиться с тем, что на ней будет расположено. В моем шаблоне будет не сплошной текст, а текст, разделенный выводом постов из разных категорий. Поэтому я я решил составить следующую структуру:
- Сначала выводится цитата, то есть небольшой кусок текста. В нашем случае это будет приветственный текст.
- Далее следует портфолио, чтобы показать нашего фотографа лицом.
- Потом услуги, на которые делается ставка. Это и будет основной текст страницы
- Блок с последними записями блога, которые так же будут выводиться автоматически.
- И в конце выводим форму обратной связи
Приступим
Добавляем вывод отрывка в шаблоне
Первым делом нам надо добавить вывод отрывка (раньше этот блок назывался цитатой, так что не обращайте внимание на скриншоты). Делается это с помощью вот такой строчки:
Если Вы хотите сразу видеть результат Ваших действий, то создавайте новую страницу и слева, в атрибутах страницы, выбирайте шаблон “Главная страница”. После этого сохраняете страницу и можно уже смотреть результат.
Можно, конечно, и опубликовать эту страницу, но я этого не делаю, так как опубликованную страницу поисковики уже могут индексировать и добавлять к себе в поиск. И пусть это происходит не сразу, но зачем Вам, чтобы в поиске была тестовая страница?)
Теперь нам надо проверить, как выводится наш отрывок и выводится ли он вообще. Для этого переходим на только что созданную страницу и сбоку ищем блок “Цитата”. После чего пишем туда свой текст и сохраняем страницу.
Если этого блока нет, то надо подняться вверх страницы и найти там “Настройки экрана”. После чего нажать на нее и поставить галочку возле пункта “Цитата”. Теперь блок с цитатой у Вас появился.
Если же у вас нет такого пункта, значит установленная тема не поддерживает их вывод. Но и это не проблема. Давайте научим ее этому. Для этого идем в “Внешний вид” -> Редактор и ищем справа файл “Функции темы (function.php)”
И в конце файла вставляем вот такой код:
function my_custom_init() {
add_post_type_support( 'page', 'excerpt' );
}
add_action('init', 'my_custom_init');

Сохраняем файл, возвращаемся на редактируемую страницу и видим, что это блок появился. Если нет, то ставим галочку в “Настройках экрана” вверху страницы.
Выводим портфолио
Вывод портфолио ничто иное, как вывод определенных страниц. Поэтому мы используем такой код:
‘316,153,22,2,11,19’)); ?>
-
ID, 'thumbnail'); ?>
post_title; ?>
?php $pages = get_pages(array('include' => ‘316,153,22,2,11,19’)); ?>
Переменной $pages присваиваем функцию get_pages, которая отвечает за вывод страниц, а саму функцию заставляем показывать только страницы с определенным ID
Начало и конец списка страниц, которые мы выводим.
функция, которая отвечает за перебор массивов, которые мы опишем ниже.
Начало и конец пункта списка.
ID, 'thumbnail'); ?>
функция, отвечающая за вывод миниатюры страницы.
post_title; ?>
Вывод заголовка страницы размером H3 и ссылкой на неё.
заканчиваем перебирать массивы одного пункта списка и переходим к следующему. Перебор осуществляется по всем указанным ID
Пока что оформлять ничего не будем, поэтому просто сохраняем шаблон и обновляем нашу тестовую страницу.
Добавляем основной текст страницы
Теперь нам надо, чтобы шаблон выводил наш основной текст, который мы пишем в главном блоке страницы. В моем случае вот этот:
Для этого нам в шаблоне надо добавить вот такой код:
Проверяем есть ли вообще запись и пока есть, считывает текст из записи.
Выводим весь текст из записи
Закрываем циклы Если(IF) и Пока (WHILE), открытые в первой строке.
Причем если вставить только вторую строчку кода, то она ничего не выведет, потому что не будет знать что вообще выводить.
И в итоге наша страница сейчас выглядит так:

Выводим последние записи блога
В установленной на сайте теме записи блога отображаются вот так:
Из-за этого, в принципе, тогда и был выбран именно этот шаблон. Ведь у нас сайт фотографа и главное на нем— это его фотографии.
Но заказчик решил, что на главной странице записи блога будут отображаться несколько иначе. Поэтому мы не будем подключать файл, который отвечает за стандартный для данной темы вывод постов, а используем другой код. А именно:
В этом коде:
have_posts()) : $recent->the_post();?>
-
"post_thumbnail"));} ?>
Начало — конец маркированного списка (нумерованный список выводится через <ol> … </ol>
have_posts()) : $recent->the_post();?>
Функция, отвечающая за вывод постов. Здесь надо обратить внимание на cat=4 (отвечает за то, из какой категории брать посты) и showposts=3 (сколько последних постов выводить)
Начало — конец пункта списка
"post_thumbnail"));} ?>
Вывод миниатюры записи (если она есть). (300, 300) — размеры миниатюры по большей стороне, а «class»=>«post_thumbnail» — какой класс присвоить каждой миниатюре для дальнейшей работы с ними при CSS оформлении.
Вывод заголовка записи с ссылкой на неё.
Заканчиваем перебор записей.
Сбрасываем все настройки цикла, чтобы они не перешли на другие циклы на этой странице.
В итоге у нас получается такая страница

Вывод формы обратной связи
Осталось вывести форму обратной связи, чтобы человек знал что делать дальше.
Форма обратной связи у нас выводится через плагин Contact Form 7. Так что нам надо лишь вставить ее в наш шаблон. О том, как создавать эту форму и использовать ее я в этой статье останавливаться не буду, итак очень большой она получается, так что если Вы не знаете, как это сделать, то нажмите на название плагина в начале этого абзаца.
Итак, чтобы задействовать форму обратной связи в нашем шаблоне, нам надо написать вот такой код:
В этом коде:
do_shortcode — функция, которая умеет читать шорткоды. PHP этого делать не умеет, поэтому если Вы вставите шорткод без этой функции, то он работать не будет.
(‘ Ошибка: Контактная форма не найдена.
В итоге весь код нашего шаблона главной страницы выглядит вот так:
Портфолио
‘316,153,22,2,11,19’)); ?>
-
ID, 'thumbnail'); ?>
post_title; ?>
Самые популярные услуги
Здесь слова
have_posts()) : $recent->the_post();?>
-
"post_thumbnail"));} ?>
А страница без оформления выглядит вот так

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

Здесь:
-
-
- Класс mainpage я задал всей странице
- Класс excerpt — блоку с цитатой
- Класс portfolio — блоку с портфолио
- Класс uslugi — блоку, в котором выводится основной текст страницы
- Класс lastnews — блоку с последними записями блога
- Класс mainform — блоку с формой обратной связи
-
А вот какой CSS-код я использовал:
.mainpage {margin:3%;} /*Устанавливаем внешние отступы со всех сторон в 3% от ширины экрана*/
.mainpage h2 {text-align:center;} /*Выравнивание всех заголовков H2 на странице по центру*/
.portfolio {margin:20px auto;} /*Сверху и снизу блока с портфолио сделаем отступы по 20 пикселей, а по бокам доверим это дело браузеру*/
.portfolio ul {overflow:auto;text-align:center;} /*Задаем автоматическое отображение всего контента списка в блоке и выравниваем его по центру*/
.portfolio li {display:inline-block;width:17em;margin:0 auto;float:left;} /*Расставляем все пункты списка в ряд; Задаем каждому пункту ширину в 17em; Задаем нулевые отступы сверху и снизу, а по бокам автоматические отступы; Позиционируем каждый пункт списка слева от следующего пункта списка. */
.portfolio h3 {font-size:14px;margin-top:15px;} /*Задаем размер шрифта текста в блоке портфолио в 14 пикселей и отодвигаем их на 15 пикселей вниз от фотографий*/
.lastnews ul {overflow:auto;text-align:center;}
.lastnews li {display:inline-block;width:20em;margin:0 auto;}
.cena {margin:30px auto;text-align:center;}
.cena p {font-size:16px;}
.trening .cena {display:inline-block;margin:10px;}
a.btn { /*Стилизуем кнопку “Оставить заявку” */
font-weight: 700; /*Задаем насыщенность текста в 700 у.е.*/
color: white; /*Цвет текста белый*/
text-decoration: none; /*Без подчеркивания*/
padding: .8em 1em calc(.8em + 3px); /*Внутренние отступы текста от границ кнопки*/
border-radius: 3px; /*Закругленные углы в 3px*/
background: rgb(64,199,129); /*Цвет самой кнопки*/
box-shadow: 0 -3px rgb(53,167,110) inset; /*Тень*/
transition: 0.2s; /*Время задержки анимации в 0,2 секунды*/
}
a.btn:hover { background: rgb(53, 167, 110);color: #fff;} /*Псевдокласс hover отвечает за то, каким станет кнопка при наведении курсора, так что тут мы немного затемним фон кнопки, а цвет текста оставим без изменения */
a.btn:active { /*Псевдокласс active отвечает за то, каким станет кнопка при нажатии на нее. */
background: rgb(33,147,90);
box-shadow: 0 3px rgb(33,147,90) inset;
}
И в итоге наша страница становится такой:

Устанавливаем нашу страницу в качестве главной
Теперь нам надо сделать нашу тестовую страницу главной страницей сайта. Для этого мы первым делом меняем заголовок нашей страницы с “Тестовой” на любой другой. Я пока заменил его просто на “Главная”.
После этого опубликовываем нашу страницу и идем в “Настройки” — “Чтение”, где выбираем из выпадающего списка нашу страницу “Главная”.
Сохраняем и всё, работа закончена. Мы молодцы!
Теперь откидываемся на стуле, вытираем пот со лба, громко выдыхаем и идем отдыхать, пить кофе, чай, коньяк, воду, целовать любимого человека, даже если это Вы сами.
Главная страница на WordPress: До и После
Ну и для наглядности давайте посмотрим главную страницу «До» и «После» оформления


Повторюсь, сейчас этот способ лучше не использовать. Особенно начинающим фрилансерам. Но знать это всё полезно. Это как понимать принципы работы автомобиля. Ездить ты, конечно, можешь и так, но эти знания помогут продлить работу двигателя, тормозов, да и помогут в сложных ситуациях.
Действительно легкая смена дизайна
- Предупреждение
- Краткая аннотация
- Легкая смена дизайна
- Минусы подхода
Данный текст ни на что не претендует. Надеюсь, что-то из описанного поможет Вам в освоении PHP и использовании его в повседневной практике.
Сразу оговорюсь, что я не только мало смыслю в программировании вообще, но и в PHP в частности. Соответственно и статья писалась для такой же аудитории. Ламер -ламеру. Или дилетант-дилетанту, как угодно. Большинство информации можно найти в форумах или на англоязычных сайтах.
После прочтения статьи вы сможете использовать только один файл для внесения в него изменений дизайна и навигации. Содержимое сайта при этом не нужно будет даже трогать!
Итак, у вас уже что то есть. Какой то информационный web проект. Серия статей, он-лайн книга, просто страничка.
Хорошо, если у вас все в порядке с проектом на диске. Каждый раздел в своем каталоге, скрипты отлажены и жужжат, дизайн закреплен навеки.
У меня такого не было.
То есть порядок то был, а вот с дизайном — полный завал. Плюс я постоянно что то прикручиваю, балуюсь с содержимым. Что же я сделал?
Мне надо было : легко и безболезненно менять дизайн, навигацию, ссылки и баннеры, вставлять новые разделы и все это должно проходить с минимальными телодвижениями .
Я вовсю использовал SSI. Вы знаете что это такое ? Грубо говоря, у меня был шаблон хтмл, в него я вставлял меняющиеся элемнты типа меню навигации, баннеров и так далее. Но само содержание этого уже наполненного шаблона — не менялось! То есть для каждой странички в шаблон вставлял информацию, и сохранял на сервере. После этого, чтобы изменить цвет таблицы, мне пришлось бы заново делать шаблон, выдергивать информацию из старого и вставлять в новый. Можно, конечно, использовать CSS, фреймы, что там еще. Но меня все это по разным причинам не удовлетворяло.
Еще, как выход, мне мерещилось использование программы, которая заменяла бы во всех файлах одни строки на другие. Ни то, господа, ни то! Если что то сложное в плане хтмл, да еще написанного вручную, то все это адский труд. Только не подумайте, что я писал на хтмл.
Бывало, конечно, несколько строк накропаю, но я же ленивый. За меня все делало FrontPage 98. Охаиваемое всеми чудо.
Что же делать с этой кучей файлов с расширением *.shtml и невозможностью сменить дизайн так, то бы это не отозвалось болезненным перелопачиванием всей этой кучи? Я ленив, и в своих поисках я набрел на лучшее решение — PHP.
Возможность, которую он дает — один хтмл-шаблон плюс файлы только с содержимым раздела я очень быстро оценил!
Быстренько и монотонно освободив свои shtml ки от разных табличек, вставок, картинок, и другой мутотени я вытер пот со лба. Убрал расширения файлов. Дело в том, что мой хостер хитро сделал-поздней ночью их скрипт вставляет во все файлы с расширением *.html код баннера.
Вот оно ! Стройный ряд файлов выстроился перед моим взором. Умытые, похудевшие и почистившиеся они требовали новой одежки-дизайна.
Я сваял новый шаблон: index.php3.
<HTML>
<HEAD>
</HEAD>
<BODY>
<?php
function foo ($in) {
< !--если не вызывается просто index.php3 то происходит вставка вызываемого файла-->
if ($in != "") {$out=$in;}
< !-- если происходит вызов index.php3 без имени файла, то по умолчанию, вставляется файл main-->
else {$out="main";} return $out;}?>
<!--Мой дизайн и навигация-->
<!--Вызов функции с аргументом - именем файла, запрашиваемым пользователем-->
<?php include (foo($QUERY_STRING)); ?>
<!--Мой дизайн и навигация-->
</BODY>
</HTML>
Теперь я вызываю странички так:
http://myserver.ru/index.php3?news
http://myserver.ru/index.php3?links
http://myserver.ru/index.php3?about
А можно и просто:
http://myserver.ru/?news
http://myserver.ru/?links
http://myserver.ru/?about
Отсутствие расширений не является критическим требованием. Если у вас набор файлов с расширениями, это не послужит препятствием. Можно вызывать для вставки любые файлы в каталоге раздела.
Например:
http://myserver.ru/index.php3?news.shtml
http://myserver.ru/index.php3?links.txt
http://myserver.ru/index.php3?about.htm
Конечно, если надо вносить изменения в содержимое (новости подновить, новый линк добавить), то приходится открывать файлы news и link и уже там что-то менять.
1) Таги <meta> и <title> распространяются на все страницы раздела, объединенных общим index.php3.
2) Если поисковая система некорректно обрабатывает сайты, использующие PHP, то пользователь может и не найти Ваш сайт.







































