Управление баннерами
Элементы баннеров (изображение, заголовок, описание) хранятся в карточках. В решении используется 3 вида карточек для баннеров, отображаемых на главной странице:
- Первый вид помогает создавать основные, верхние и плавающие баннеры;
- Второй – маленькие баннеры, баннеры в виде тизеров и широкие баннеры внизу страницы;
- Третий – внутренние баннеры.
В режиме редактирования в публичной части сайта при наведении указателя на область одного из баннеров всплывает меню с кнопками управления, позволяющими изменить (1), добавить новый баннер (2) или удалить баннер (3).
Примечание: При использовании типа страницы №2 с активными верхними баннерами при наведении указателя выделяется область, включающая и основные баннеры, и верхние (те, что по бокам). На всплывающем меню кнопки изменения и удаления будут действовать на основной баннер. Те же действия над верхними баннерами можно осуществить только в административной части сайта. В остальных случаях озвученные элементы управления производят действия над теми баннерами, над которыми они появились.Текст сообщения.
Кнопка «Добавить баннер» позволяет создать любой новый баннер того же вида. Это значит, что вы можете навести указатель, например, на область основного баннера и создать новый элемент в блоке плавающих баннеров, заполнив карточку определенным образом. И наоборот, используя элемент управления над блоком плавающих баннеров, добавить основной баннер.
Если вы хотите, чтобы все баннеры были рассортированы в административной части строго по подвидам, не следует использовать особенность, обозначенную выше, на баннерах второго вида, а при создании элементов первого вида – обращайте внимание на поля, определяющие тип и раздел в карточке элемента.
Для работы со списками баннеров первого вида в административной части сайта перейдите в Контент → Реклама (aspro.next) → Баннеры. Здесь выберите ветку, соответствующую одному из редактируемых подвидов. Например, для того, чтобы отключить отображение баннеров по бокам от основного, раскройте «Верхние баннеры».

Отключить верхний баннер без удаления из базы можно при помощи пункта «Деактивировать» (3) в меню кнопки «Гамбургер». С помощью других пунктов этого же меню можно изменить баннер (2) или удалить его (4). Используйте кнопку «Добавить баннер» (1) для создания нового элемента.
Карточка баннера первого вида состоит из вкладок: «Баннер», «Анонс», «Подробно», «SEO», «Реклама», «Разделы». Содержимое вкладок «SEO» и «Реклама» не относятся к рассматриваемой теме, поэтому их описание в рамках урока отсутствует.
На вкладке «Баннер» общими для основных, верхних и плавающих баннеров являются поля:

- Активность (1) – делает баннер видимым на главной странице;
- Начало и окончание активности (2) – задает временной интервал, в котором баннер будет доступен для просмотра;
- Название (3) – содержит текст заголовка, отображаемого на баннере (поле обязательно для заполнения);
- Сортировка (4) – задает порядок отображения баннеров на странице;
- Тип баннера (5) – является одним из ключевых полей при создании баннера. Меняя значение в этом поле, вы определяете в каком блоке баннер будет отображаться. Чтобы установить нужный тип, нажмите кнопку с многоточием и выберите в новом окне соответствующий пункт: баннер сверху, основной или плавающий.
- Расположение текста (6) – определяет где будет находиться заголовок и подпись на баннере: справа, слева, по центру или вовсе будет отключен;
- Тип перехода (7) – устанавливает, как будет открываться ссылка, привязанная к баннеру: в новом окне или текущем;
- Цвет текста (8) – задает в верхнем и плавающем баннере цвет заголовка, в основном баннере влияет также и на описание;
- Для основных баннеров дополнительно можно задать светлый или темный цвет точек навигации (9), чтобы они не терялись на фоне баннера;
- Для верхних и плавающих баннеров заполняется поле «Ссылка с баннера» (10). Если поле оставить пустым, пользователь не сможет получить никакой дополнительной информации, кликнув по нему. Баннер будет использоваться только для красоты.
Группа полей внизу карточки (12) позволяет разместить на баннере кнопки и привязать к ним страницы сайта с перечнем товаров или подробной информацией.

- Используя поле «Размер баннера» (11), баннер при 1 типе главной может быть расположен во всю страницу или нет.
В поле описания анонса вы также можете разместить короткий текст, который будет отображаться под заголовком на основном баннере.

Чтобы не потерять новый баннер в админке, соотнесите его с нужным разделом в списке одноименной вкладки.
Маленькие и широкие баннеры внизу страницы в публичной части можно только добавить. Их изменение, удаление и деактивация доступны в административной части сайта. Принцип управления карточками одинаков для обоих видов.
Перейдите в Контент → Реклама (aspro.tires2) → Реклама – На главной. Подвиды расположены в соответствующих разделах.
Если вы откроете карточку одного из таких баннеров, то заметите, что полей для заполнения в ней меньше.

- активировать отображение баннера (1) ;
- дать баннеру название (2) – поле является обязательным, отображается только с баннерами-тизерами;
- задать порядковый номер среди других баннеров того же подвида (3);
- установить тип баннера (4) и тем самым включить его отображение в нужном блоке;

- установить изображение (5);
- связать с одной из страниц сайта (6);
- задать краткое описание (7) – поддерживается только баннерами-тизерами.
Блок «Тизеры»
Настройки списка тизеров осуществляется аналогично интернет-магазину Аспро: Next. Вы можете ознакомиться с курсом управления тизерами.
Блок «О компании»
В блоке, расположенном внизу главной страницы, с текстом, приветствующим посетителя на сайте или рассказывающем информацию о компании, можно загружать свое изображение и вставлять свой текст.
Для замены изображения перейдите в режим правки, наведите указатель на картинку и нажмите на всплывающем меню «Редактировать Изображение компании как html».
Чтобы удалить существующее изображение кликните по нему левой кнопкой мыши и нажмите клавишу Backspace. Для вставки новой картинки кликните иконку «Изображение» на панели визуального редактора.
В открывшемся окне укажите источник изображения. Нажмите кнопку с многоточием для перехода к работе с медиабиблиотекой.

Подробнее о медиабиблиотеке вы можете узнать из этого урока.
Если вы не используете мультирегиональность, отредактировать текст можно также в режиме правки, вызвав редактор кнопкой «Изменить область» на всплывающем
меню.

В открывшемся окне вы сможете отредактировать заголовок и текстовое содержимое блока «О компании»

Если вы используете разные версии сайта для регионов, текст в блоке нужно редактировать для каждого города отдельно. Это можно осуществить только в админке.
Откройте вкладку «Контент». Перейдите в Региональность (tires2) → Регионы. Выберите нужный раздел и найдите в списке город, для которого требуется изменить описание. Например, Урал → Челябинская область → Челябинск. Кликните кнопку Гамбургер и выберите «Изменить».

Текст для главной страницы находится на вкладке «Информация». Здесь вы можете переключаться между режимами редактирования: включить режим «Текст» для того, чтобы очистить скопированный текст от форматирования, затем использовать визуальный редактор для придания тексту необходимого стиля или оформить его непосредственно HTML тегами.
Настройка заголовков и количества элементов в блоках
О настройках заголовков и количества элементов в блоках можно ознакомиться на примере Аспро: Next.
Стоит обратить внимание на особенный блок популярных категорий. Чтобы его вывести, необходимо на вкладке промо-блоки включить пункт «Выводить на главной».

Нажимаем «Сохранить» и смотрим результат.
7 смертных грехов разработки на 1С-Битрикс

1. Изменять все стандартное/Изменять содержимое папки bitrix
Изменение всего, что лежит в папке /bitrix/ — табу. Если вам нужно изменить шаблон компонента — копируйте его в шаблон сайта. Если вам нужно изменить компонент — используйте result_modifier.php, component_epilog.php (про них я подробно писал в этой статье), напишите свой компонент, в конце концов. Если вам нужно изменить модуль — медицина бессильна пишите свой, наследуйтесь от стандартных. Если вы не послушаетесь и дадите слабину хотя бы в одном – можете попрощаться с беззаботным обновлением платформы. А такая необходимость рано или поздно настанет. Не говоря о том, что искать файлы будет сложнее. Для пользовательских модулей/компонентов/шаблонов/обработчиков должна использоваться папка /local/. Добавляйте папку /bitrix/ в .gitignore. Если в вашем git репозитории есть файлы /bitrix/, значит, скорее всего, что-то вы делаете не так. Вы можете подумать, что есть исключения. Да, но прибегать к созданию чего-либо в папке Bitrix нужно только если по-другому никак.
2. Получать данные в template.php
Никогда, слышите, никогда не делайте этого! Я говорю о CIBlockElement::GetList (и подобных им функциях) в template.php. Если вам нужно получить какие-то дополнительные данные используйте result_modifier.php или component_epilog.php. Серьезно. Все что Вам нужно — лишь создать файл в папке шаблона. Это займет не на много больше времени, чем писать код в самом шаблоне. Шаблон должен быть использован только для вывода информации. Ни для чего больше. Если вычисления (получение дополнительных данных, их модификация) находятся в шаблоне, вы становитесь сильно зависимы от порядка выполнения кода. Допустим, необходимо посчитать общее количество просмотров всех статей на странице и вывести значение. Если вы разместите вычисления в цикле вывода статей, полученное значение можно будет использовать только после последней статьи. Простая задача по переносу блока наверх страницы превратится в ад.
3. Неверное подключение скриптов и стилей сайта
Откройте свой сайт, найдите основной шаблон и откройте файл header.php. Если вы видите что-то похожее — гоните Вашего разработчика взашей. В Битриксе вполне неплохой механизм автоматического объединения и минификации скриптов, кроме того, Битрикс умеет перемещать JS в конец страницы, благодаря чему сайт быстрее грузится. Если кто вдруг не знал, вся эта годнота включается в настройках Главного модуля:
А теперь барабанная дробь. Ничего не получится, если вы подключали скрипты и стили дедовским способом. Соберите скрипты из шаблона сайта, поместите их в JS файл, а потом подключите его с помощью AddHeadScript() . Тоже самое касается и стилей. Если вам необходимо подключить стили, вынесите их в отдельный файл, а потом используйте SetAdditionalCSS() . В итоге получится нечто похожее:
. или, если вы используете D7, так:
4. Неверное подключение скриптов и стилей компонента
Если с предыдущим пунктом все более-менее просто, исправить эту проблему гораздо сложнее. Давайте разбираться. Допустим, для главной страницы сайта необходимо разработать слайдер с баннерами. Ок. Что может быть проще. И Вы правильно подумали, что переносить стили (и скрипты) в основной шаблон сайта (/local/templates/[ваш сайт]/template_styles.css и /local/templats/[ваш сайт]/script.js) не стоит — иначе они будут подключаться на каждой странице. Но многие разработчики просто помещают css и js в файл template.php шаблона компонента и на этом успокаиваются. Правильным же подходом будет создание файлов script.js и style.css в папке шаблона. Они подключатся автоматически и избавят от головной боли при разработке.
5. Отключение кеширования
Кеширование позволяет значительно снизить нагрузку на БД. Это более остро чувствуется при росте аудитории (и соответственно запросов к БД). Обычная ситуация: верстальщику не нравится, что изменения стилей отображаются не сразу и он решает отключить кеширование отдельного компонента. Работа кипит, сроки горят и он (верстальщик) просто забывает включить кеширование обратно. Проходит время и страницы сайта начинают грузиться все дольше и дольше. Мой совет: перед сдачей проекта прогнать сайт через монитор производительности. Он покажет ошибки в разработке и вам не придется искать проблемные компоненты вручную.
6. Вложенные циклы при получении элементов инфоблока
Очень часто при разработке нового компонента возникает необходимость получать данные из двух (или больше) связанных Инфоблоков. Давайте рассмотрим пример: нужно получить список всех деталей, подходящих ко моделям автомобилей.
$dbModels = CIBlockElement::GetList( array( 'SORT' => 'ASC', 'NAME' => 'ASC', ), array( 'IBLOCK_ID' => MODELS_IBLOCK, 'ACTIVE' => 'Y', ), false, false, array( 'ID', 'NAME', ) ); while ($arModels = $dbModels->GetNext()) < $dbItem = CBIBlockElement::GetList( array( 'SORT' =>'ASC', 'NAME' => 'ASC', ), array( 'IBLOCK_ID' => ITEMS_IBLOCK, 'ACTIVE' => 'Y', 'PROPERTY_MODELS_VALUE' => $arModels['ID'], ), false, false, array( 'NAME', 'PROPERTY_COUNT', 'PROPERTY_PRICE', ) ); while ($arItem = $dbItem->GetNext()) < // TODO: какая-то работа >>
Код упрощен для простоты восприятия, матерые разработчики найдут в нем сразу несколько ошибок;) Суть в чем: чем больше на сайте будет моделей, тем больше будет SQLзапросов с получением данных о запчастях. Более правильным был бы такой вариант:
$dbModels = CIBlockElement::GetList( array( 'SORT' => 'ASC', 'NAME' => 'ASC', ), array( 'IBLOCK_ID' => MODELS_IBLOCK, 'ACTIVE' => 'Y', ), false, false, array( 'ID', 'NAME', ) ); while ($arModels = $dbModels->GetNext()) < $modelIDs[] = $arModels['ID']; >$dbItem = CBIBlockElement::GetList( array( 'SORT' => 'ASC', 'NAME' => 'ASC', ), array( 'IBLOCK_ID' => ITEMS_IBLOCK, 'ACTIVE' => 'Y', 'PROPERTY_MODELS_VALUE' => $modelIDs, ), false, false, array( 'NAME', 'PROPERTY_COUNT', 'PROPERTY_PRICE', ) ); while ($arItem = $dbItem->GetNext()) < // TODO: какая-то работа >
- Использование сортировки там, где она не нужна;
- Получение всех полей и свойств, даже если они не используются;
- Программная реализация постраничной навигации (вместо механизма Битрикс);
- Получение данных без учета активности элемента, раздела или дат активности и тд.
Перечислять все ушло бы очень много времени.
7. Бездумная разработка компонентов Bitrix
Не самым лучшим решением будет разрабатывать сайт целиком на самописных компонентах. Мотивация может быть разная: «Стандартный компонент делает слишком мало», «Стандартный компонент делает слишком много», «Шаблон слишком массивный, а в данных не разобраться», «Работает не так как я хочу», «Работает так как я хочу, но не очень».
Почему не стоит делать это? По целому ряду причин:
- От ошибок никто не застрахован. Но в случае стандартных компонентов можно расcчитывать, что их рано или поздно исправят, а ваша (если вы разработчик) ответственность закончится после сдачи проекта.
- Компоненты Битрикс в некоторых случаях сложны и запутаны. Сделано это ради гибкости. Уверен, если делать упор на универсальность, в конечном итоге компонент получится похожим на стандартный (а то и будет еще запутаннее:)).
- Если в будущем изменится структура данных, логика работы, а бОльшая часть сайта была написана сторонними разработчиками, поддержка проекта превратится в настоящий ад с постоянным переписыванием десятка компонентов.
В общем, прежде чем приступить к созданию очередного компонента, задайте себе вопрос: «А не возникнет ли проблем у Заказчика через год или два?».
Вместо заключения
Конечно, это лишь малая часть тех ужасов, с которыми приходится сталкиваться, получая очередной проект на поддержку. Я постарался собрать самые часто встречаемые.
Страница битрикс: добавление по шаблону

Как добавить страницу в 1С битрикс по заготовленному шаблону — в данном видео-уроке продолжаем разбирать методы добавления страницы на сайт под управлением битрикс. В первом уроке показывал, как с помощью мастера можно создавать новые страницы, устанавливать свойства, рассказывал про наименование полей и что они означают, а в данном видео особо на этом не останавливаемся, тут рассмотрим добавления страниц с помощи обработки определенных стилей.
Добавление страниц в 1С битрикс по шаблону довольно удобная функция, если стоит задача перед контент-менеджером создание много однотипных материалов и чтобы не тратить время на описывании однотипного кода в нутрии странички для оформления текста, можно воспользоваться данным функционалом, при помощи его можем добавлять страницы по заготовленным заготовкам.
Практический пример добавления страниц в 1С Битрикс
В отличие от способа добавления страницы при помощи мастера, этот способ тоже запускает мастера добавления контента, но с дополнительным функционалом. Для того что бы добавить страницу откроем в панели управления выпадающий список под кнопкой «Создать страницу», выберем из меню добавить «По шаблону». Нам отобразил битрикс два варианта добавления страницы, «Шаблон сеток страниц» и «Стандартная страница» Второй вариант стандартный его пропустим, а вот первый из выпадающего списка задействуем.
Кликнем по пункту «Шаблон сеток страниц», битрикс открывает мастера, заголовок страницы укажем «Шаблон сайта», снимаем галочку из пункта «Добавить пункт в меню», нажимаем далее.
Подробно все поля в данной форме разбирали в предыдущем видео Создание страниц на 1С Битрикс.
Следующий шаг в мастере выбираем варианты шаблона сетки страницы, давайте остановимся на трех колоночном, жмем далее. Благодаря тому, что установили галочку в пункте «Перейти к редактированию страницы», битрикс нам отобразил ее в визуальном редакторе.
Добавлена пустая страничка, и для того чтобы увидеть результат, откроем ее в визуальном редакторе в режиме кода, обратим внимание на добавленный класс Bootstrap к блоку , в нем находятся три блока которые разделяют нашу страничку на три колонки.
Для визуального отображения добавим текст в каждый блоку, и сохранимся.
Система 1С Битрикс отобразила добавленную страницу согласно нашему трех колоночному шаблону, в каждой колонке равномерно распределился текст.
Такое добавления страниц хорошо использовать при специфическом ее оформлении, когда страничка отличается от общего количества.
Если добавляющих шаблонов нет
Возможно, если у Вас версия 1С Битрикс не «Малый бизнес» или «Бизнес» то данные шаблоны могут не отображаться, да и вообще пункта «По шаблону» возможно будет отсутствовать и добавить контент по шаблону в битрикс не получится.
Возьмем для примера наш сайт ДАЛЬВЕБСТРОЙ, перейдем на главную страницу, включим режим правки, и видим, что в нашем случае добавить «по шаблону» этого пункта в меню нет.
Что делать, как добавить страницу в битрикс с готовым кодом, когда в меню этот функционал отсутствует?
Можно, обратитесь к администратору, который разрабатывал или обслуживает проект на битрикс, он добавит шаблон, и вы сможете использовать его для дальнейшей работы.
Но допустим, вы самостоятельно желаете разобраться, как добавить данный функционал на битрикс, и для того что бы это сделать придется создать несколько файлов и добавить в них пару строк кода.
Зачем добавлять страницу по шаблону
Разберемся первоначально, что это за функционал, и для чего он нужен! Если просто добавить страничку без шаблона на нашем сайте она отобразится в растянутом виде. Это из-за того что дизайн сделан таким образом что в рабочую область приходится дополнительно обворачивать весь контент в тэги. Если этого не сделать, содержание прилипнет к левой стороне, а ширина рабочей области растянется на весь экран и вылезет за пределы рамки шаблона, как получилось в нашем случае.
Что бы это исправить в моем случае, открываю страницу на редактирование, визуальный редактор устанавливаю в режиме кода, и вставляю подготовленный код для визуального отображения контента странички. Жму сохранить, проверяю, страничка нормально отобразилась.
Вы согласитесь, каждый раз проделывать такую процедуру неудобно, удобней добавить страницу по заранее готовой заготовки, коль есть такой функционал в битрикс нужно его задействовать.
Давайте добавим шаблон, который будет, вставляет данный код автоматически.
Я не буду вдаваться в подробности написания кода и его функционала, коснусь только его основной части, ведь это урок совсем другого уровня и для начинающих пользователей не подходит.
Для вас покажу основные моменты добавления страниц с заготовленным кодом на примере нашего сайта.
Добавим шаблон страницы в битрикс
Первый шаг, перейдем в структуру сайта на битрикс текущего шаблона, посмотрим, присутствует там раздел page_templates . В нашем случае данного раздела нет, добавим его.
Второй шаг, добавим пассивный шаблон в битриксе, в котором будем хранить код для обработки самой страницы.
Имя файла пропишем (shablon.php ) можем придумать любую, но обязательно в содержании у него должны присутствовать вызов файлов header.php и footer.php .
Добавляем вызов header.php
SetTitle("Title"); ?>
Посередине между вызовами добавляем код шаблона оформления странички.
Текст описание странички .
Добавляем вызов footer.php
Создадим файл .content.php в нем будем вызывать функцию нашего шаблона.
GetMessage("shablon"), "sort"=>2); ?>
Добавим файл перевода в директории lang , в моем случае она создана, добавим раздел и сам перевод.
$MESS['new'] = "Шаблон текста";
После этих действий переходим в визуальную часть, пробуем повторно добавить страницу в 1С Битрикс по шаблону. При помощи панели управления, откроем пункт под кнопкой «создать страницу», видим, появилось дополнительное меню «По шаблону», наводим на него, выбираем из списка наш «Шаблон текста», кликаем по нему, запустился мастер, с помощью которого создаем страницу.
Для примера добавим страницу по нашему шаблону, открыв текст в визуальном редакторе в режиме редактирования кода, мы видим наш код, который добавляли в файл shablon.php между подключаемыми файлами header.php и footer.php. Добавим наш контент для примера, и сохранимся.
В итоге, получили готовую страницу, оформленную по нашему заранее заготовленному стилю, теперь можно добавлять страницы на битрикс не прибегая к их дополнительному редактированию.
Если остались вопросы по данному материалу как добавить страницу в системе 1С битрикс по уже подготовленному шаблону, пишите в комментариях, а я буду благодарен за подписку на канал и вашу активность в виде лайков и комментариев. До встречи в следующем видео.
Как скопировать страницу Базы знаний
При создании Базы знаний могут потребоваться страницы с одинаковой структурой. В этом случае лучшим решением будет создать страницу и скопировать её.
Откройте раздел База знаний и выберите нужную базу. Нажмите Действия > Просмотреть страницы.

Выберите страницу, которую хотите скопировать, и нажмите Действия > Копировать страницу.

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

Готово! Страница продублирована, теперь её можно наполнить контентом.
