[justify]Раздел «Блоки и баннеры» предоставляет возможность строить сайт из «кирпичиков», которые называются «блоки».
Существуют следующие виды блоков:
[li] [b][i]Стандартные[/i][/b] – размещаются в определенных местах сайта;
[li] [b][i]Свободные (fly)[/i][/b] – данные блоки можно использовать в любых местах, шаблонах или модулях системы.
Большинство потребностей по функциональности сайта покрываются при помощи стандартных блоков, но в некоторых случаях можно применять свободные блоки.

[color=green][b]Стандартные блоки[/b][/color]
Стандартные блоки можно разделить по следующим свойствам:
[li] [b][i]По типу[/i][/b]:
* Файловые – блоки, информация в которых выводится посредством html и php функций, заданных в соответствующем файле.
* HTML – блоки, информация в которых выводится посредством html функций, заданных в содержании блока.
* RSS – блоки, в которых выводится информация, взятая по RSS ссылке.
* Системные – к системным блокам относятся: Admin, UserBox.
[li] [b][i]По доступности (кто видит)[/i][/b]: все пользователи, только пользователи, только администраторы, только анонимы.
[li] [b][i]По позиции[/i][/b]: слева, по центру внизу, по центру вверху, справа, верхний баннер, нижний баннер.

[color=orangered][b][i]Оформление стандартных блоков[/i][/b][/color]
За оформление стандартных блоков отвечают шаблоны тем: block-center.html, block-all.html, block-right.html и другие шаблоны, имеющие в названии префикс block. (См. раздел «Тема оформления»).
Можно создать уникальное оформление для любого блока, находящегося в директории blocks/ (block-name.php; name - это имя блока). Для этого:
1. В директории templates/тема_оформления/ необходимо создать файл шаблона с именем block-name.html.
2. В созданном шаблоне необходимо сделать уникальное оформление для блока block-name.php.
[b]Пример:[/b]
необходимо сделать уникальное оформление для блока block-voting.php. В этом случае создается файл шаблона в директории templates/тема_оформления/ с названием block-voting.html. Система найдёт этот файл шаблона автоматически, а затем будет использовать его только для оформления блока block-voting.php.

[b][i][color=orangered]Добавление файлового блока[/color][/i][/b]
Для добавления файлового блока необходимо выполнить следующие действия:

[b]1.[/b] Создать файл блока.
Создать файл для файлового блока можно двумя способами: через интерфейс администраторского раздела и через файловую структуру сайта.

[u]Создание файла через интерфейс администраторского раздела[/u]
Перейдите во вкладку «Добавить файловый блок», которая отображает форму добавления нового файлового блока.
Укажите имя создаваемого файла (например, mysite), учитывая, что SLAED CMS сама подставит к имени файла префикс «block-».
Укажите тип создаваемого файла.
Нажмите кнопку «Создать блок» после чего загрузится форма, в которую необходимо вставить код блока.
[hr][color=red][b][i]Внимание![/b]
В тексте программного кода блока, для вывода информации необходимо использовать переменную $content вместо стандартных методов echo или print, это единственная отличительная особенность которую необходимоучитывать. Всё остальное реализуется при помощи стандартных методов и функций PHP и HTML. При реализации блоков учитывайте, любой PHP код должен начинаться c <?php и заканчиваться ?>.[/i][/color][hr] После вставки нажмите кнопку «Сохранить» и в файловой структуре сайта будет создан соответствующий файл (например, block-mysite.php, как в нашем примере).
[hr][color=red][b][i]Внимание![/b]
При создании файла файлового блока, необходимо установить права CHMOD 777 на папку blocks/, а в дальнейшем CHMOD 666 на созданный файл.[/i][/color][hr]
[u]Создание файла через файловую структуру сайта[/u]
Php файлы для файловых блоков хранятся в директории «blocks», которая находится в корневой директории сайта. В данной директории можно создать свой php файл, обязательно назвав его в формате «block-имя_блока.php» (в случае, если формат названия отличается, то при добавлении блока файл не будет виден в списке).

[b]2.[/b] Установить связь между созданным файлом и блоком.
Для того чтобы установить связь между файлом и файловым блоком, необходимо добавить новый блок, перейдя во вкладку «Добавить блок».
Форма добавления имеет следующие поля:
[li] [b][i]Заголовок[/i][/b] – вводится заголовок блока (какой заголовок введён - такой и отображается);
[li] [b][i]Ссылка на канал RSS[/i][/b] – в случае, если необходимо, чтобы в блоке выводилась определенная RSS лента – укажите ссылку на неё или выберите из стандартного списка. В случае ввода ссылки на RSS не нужно выбирать файл в поле «Имя файла» и заполнять «Содержание». При создании файлового блока данное поле остается без изменений.
[li] [b][i]Время обновления[/i][/b] – с какой частотой должна обновляться RSS лента. При создании файлового блока данное поле остается без изменений.
[li] [b][i]Имя файла[/i][/b] – при создании файлового блока выбирается предварительно созданный файл.
[li] [b][i]Содержание[/i][/b] – заполняется только в случае создания HTML блока (при заполнении содержания не нужно выбирать файл). При создании файлового блока данное поле остается без изменений.
[li] [b][i]Позиция[/i][/b] – выбирается позиция, на которой должен выводиться блок.
[li] [b][i]Отображать блок в модулях[/i][/b] – выбирается перечень модулей, в которых необходимо отображать блок.
[li] [b][i]Язык[/i][/b] – выбор языковой версии, в которой необходимо отображать блок.
[li] [b][i] Активировать[/i][/b] – «да» - блок будет показываться, «нет» - блок не будет показываться.
[li] [b][i]Время работы в днях[/i][/b] – можно указать количество дней, в течение которых блок должен быть активен. 0 – блок активен без ограничений.
[li] [b][i]После истечения[/i][/b] – можно выбрать, что система должна автоматически сделать с блоком после истечения времени работы.
[li] [b][i]Кто это будет видеть?[/i][/b] – можно указать, для каких категорий пользователей доступен просмотр блока.

[color=orangered][b][i]Добавление HTML блока[/i][/b][/color]
Создавать HTML-блоки очень удобно в целях вывода баннеров, ссылок и других элементов, для вывода которых достаточно использования HTML кода.
Добавить HTML-блок также просто, как и файловый, для этого необходимо перейти во вкладку «Добавить блок» и заполнить поля, что и при создании файлового блока, но вместо выбора файла заполнить поле «Содержание». Заполнять содержание необходимо html-кодом.

[color=orangered][b][i]Добавление RSS-блока[/i][/b][/color]
Перейдите во вкладку «Добавить блок» и заполнить поля, что и при создании файлового блока, но вместо выбора файла укажите ссылку на канал RSS и время обновления.

[color=orangered][b][i]Использование блоков непосредственно в html файлах темы оформления[/i][/b][/color]
1. Создайте блок в панели администратора системы, им может быть стандартный или свободный блок.
2. Активируйте блок и в списке блоков определите его № - номер
3. Для вставки блока, например в основной файл: index.html темы оформления, достаточно добавить участок кода: {%BLOCKS n,ХХХ%}

ХХХ - номер вашего блока
n - без оформления
или
ХХХ - полное название файла блока в директории: blocks/ например: block-forum.php
s - стандартное оформление

Возможны и другие варианты, на ваше усмотрение.

[u]Описание переменных[/u]
{%BLOCKS none,ХХХ%} или {%BLOCKS n,ХХХ%} - Произвольный блок системы или свободный блок без оформления, где ХХХ - это либо ID блока, либо название файла блока.

{%BLOCKS standart,ХХХ%} или {%BLOCKS s,ХХХ%} - Произвольный блок системы или свободный блок с оформлением свободного блока, где ХХХ - это либо ID блока, либо название файла блока.

[u]Создание персонального оформления для блока[/u]
Для формирования эксклюзивного оформления для блока необходимо создать файл шаблона этого блока с именем.

block-15.html
15 - это номер блока в списке блоков. В базе данных (таблица префикс_blocks, поле bid).
или
block-name.html
name - это имя блока, полное название файла блока в директории: blocks/

Файл оформления блока следует размещать в основной директории темы оформления вместе с другими стандартными шаблонами системы.

[color=green][b]Свободные (fly) блоки[/b][/color]
Свободный блок (fly) можно разместить в любом месте страницы сайта, для чего требуется вставить код формирования этого свободного блока в соответствующий php-файл (в config/config_header.php, например). В шаблоны тем оформления (файлы *.html) нельзя вставлять код формирования свободного блока, так как в этом случае этот php-код не будет обрабатываться. Более полная информация о вставке блоков в шаблоны тем оформления приведена в разделе «Тема оформления».
Свободный блок описывается в php-скрипте функцией: blocks("why", "who"), где blocks - функция создания свободного блока с параметрами: why и who.
В зависимости от параметров why и who функция создания свободного блока может:
[li] Печатать на стандартный вывод сформированный свободный блок (выводить блок на страничку).
[li] Возвращать строку со сформированным свободным блоком (вывод блока в переменную для последующей вставки этого блока в html-шаблон). При этом этот свободный блок может быть с оформлением или без него – это зависит от параметров why.

[u]Значение параметров why:[/u]
[li] [b][i]none[/i][/b] (выводит тело блока на страничку без оформления)
$fly_block_1_1 = blocks("none", 15);
$fly_block_1_2 = blocks("none", "block-menu2.php");
[li] [b][i]standart[/i][/b] (выводит тело блока на страничку с оформлением)
$fly_block_2_1 = blocks("standart", 15);
$fly_block_2_2 = blocks("standart", "block-menu2.php");
[li] [b][i]plzreturn[/i][/b] (выводит тело блока в переменную без вывода на страничку и без оформления)
$fly_block_3_1 = blocks("plzreturn", 15);
$fly_block_3_2 = blocks("plzreturn", "block-menu2.php");
[li] [b][i]oreturnform[/i][/b] (тело блока в переменную без вывода на страничку, но с оформлением)
$fly_block_4_1 = blocks("oreturnform", 15);
$fly_block_4_1 = blocks("oreturnform", "block-menu2.php");
* 15 – это bid, номер блока в базе данных (Номер блока можно посмотреть в панели администратора в строке №).

[u]Значение параметров who:[/u]
[li] [b][i]bid[/i][/b] блока (номер блока в базе данных; таблица преф_blocks (преф – это префикс таблиц БД), поле bid)
$fly_block_5_1 = blocks("none", 15);
$fly_block_5_2 = blocks("standart", 15);
$fly_block_5_3 = blocks("plzreturn", 15);
$fly_block_5_4 = blocks("oreturnform", 15);
[li] [b][i]block-name.php[/i][/b] (имя php-файла блока; name - это имя блока)
$fly_block_6_1 = blocks("none", "block-menu2.php");
$fly_block_6_2 = blocks("standart", "block-menu2.php");
$fly_block_6_3 = blocks("plzreturn", "block-menu2.php");
$fly_block_6_4 = blocks("oreturnform", "block-menu2.php");
Чтобы пользоваться созданным свободным блоком необходимо, чтобы этот блок был активным. На этом блоке должна быть только одна отметка - «Свободный блок», в противном случае этот блок будет стандартным.

Для формирования эксклюзивного оформления для свободного блока необходимо создать файл шаблона этого блока с именем:
[li] [b][i]fly-block-15.html[/i][/b] (15 - это номер блока в базе данных (таблица преф_blocks, поле bid));
[li] [b][i]fly-block-name.html[/i][/b] (name - это имя блока).[/justify]
[b]Пример 1:[/b]
Необходимо создать свободный блок с параметрами:
[li] Вывод тела свободного блока на страничку.
[li] Без оформления.
[li] По номеру блока в базе данных.
[php]blocks("none", 15);[/php]
[li] C использованием имени блока.
[php]blocks("none", "block-menu2.php");[/php]
[b]Пример 2:[/b]
Необходимо создать свободный блок с параметрами:
[li] Вывод тела свободного блока на страничку.
[li] С оформлением.
[li] По номеру блока в базе данных.
[php]blocks("standart", 15);[/php]
[li] С использованием имени блока:
[php]blocks("standart", "block-menu2.php");[/php]
[b]Пример 3:[/b]
Необходимо создать свободный блок с параметрами:
[li] Вывод тела свободного блока в переменную.
[li] Без оформления.
[li] По номеру блока в базе данных
[php]global $blockg;
ob_start();
blocks("plzreturn", 15);
$blockg["15"] = ob_get_clean();[/php]
[li] С использованием имени блока:
[php]global $blockg;
$blockg["menu2"] = blocks("plzreturn", "block-menu2.php");[/php]
[b]Пример 4:[/b]
Необходимо создать свободный блок с параметрами:
[li] Вывод тела свободного блока в переменную.
[li] С оформлением.
[li] По номеру блока в базе данных.
[php]global $blockg;
ob_start();
blocks("oreturnform", 15);
$blockg["15"] = ob_get_clean();[/php]
[li] С использованием имени блока.
[php]global $blockg;
$blockg["menu2"] = blocks("oreturnform", "block-menu2.php");[/php]
[justify]Для вывода на страницу переменной, содержащей в себе тело свободного блока, необходимо сделать следующее:
Открываем файл config/config_header.php и в него вставляем код:[/justify]
[php]global $blockg;
$blockg["menu2"] = blocks("plzreturn", "block-menu2.php");[/php]
[justify]В любое место шаблона (в templates/ваша_тема/index.html, например) вставляем массив $blockg[menu2] (обратите внимание на отсутствие кавычек внутри квадратных скобок!) На страницу вместо $blockg[menu2] будет выведен блок menu2, код которого содержится в файле blocks/block-menu2.php.
Для корректного вывода на страничку свободного блока, который из базы данных запрашивается по bid из таблицы преф_blocks, при включённом модуле rss_info (вывод новостей в формате RSS) необходимо в php-файл config/config_header.php записать:[/justify]
[php]global $blockg;
$blockg["menu2"] = blocks("plzreturn", "block-menu2.php");
ob_start();
blocks("none", 15);
$blockg["15"] = ob_get_clean();[/php]
[justify]Свободный блок может выводиться на страницы сайта на всём сайте, если его код встроен в тему оформления, или он может выводиться в каком-то определённом модуле, если его код встроен в код этого модуля.
Свободный блок не может быть обработан системой как стандартный блок, но стандартный блок может быть обработан системой как свободный блок. Пример: блок modules, имеющий bid 1 (таблица slaed_blocks), можно вывести на страничку ещё раз как свободный блок, и тогда на этот блок накладываются все те ограничения, которые наложены на блок modules (показывать только на главной страничке сайта или только в одном модуле или в выбранных модулях или во всех модулях).

[b][i][color=orangered]Изменение файла блока[/color][/i][/b]
Для редактирования файла файлового блока перейдите во вкладку «Редактировать блок» и выберите нужный для редактирования файл.

[b][i][color=orangered]Изменение блока[/color][/i][/b]
Во вкладке «Главная» в столбце «Функции» перейдите по значению (Полное редактирование) – отобразится форма редактирования блока.

[b][i][color=orangered]Изменение положения блока[/color][/i][/b]
Во вкладке «Главная» в столбце «Положение» при помощи стрелок меняйте положение блока. Выбранная позиция блока выводится в столбце «Позиция».[/justify]