Содержание

Основные сведения

Продукты компании «1С-Битрикс» - это программное ядро для всестороннего управления веб-проектами любой сложности. Система Bitrix Framework устанавливается в корневой каталог сайта (портала) на удаленном сервере. Доступ к управлению сайтами осуществляется посредством веб-браузера. Возможна установка и на локальный компьютер для ознакомления с системой.

Программные продукты компании «1С-Битрикс» имеют модульную структуру. Каждый модуль отвечает за управление определенными элементами и параметрами портала: информационным наполнением и структурой, форумами, рекламой, рассылкой, распределением прав между группами пользователей, сбором статистики посещений, оценкой эффективности рекламных кампаний и т.д.

Примечание: Общие возможности модулей и списки модулей для каждой редакции описаны на сайте компании «1C-Битрикс» в разделе Возможности: «1C-Битрикс: Управление сайтом» и «Битрикс24 в коробке». Подробная информация и работа с ними представлена в учебных курсах.

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

  • Модуль Торговый каталог расширяет возможности модуля Информационные блоки и позволяет выполнять настройку цен товара в зависимости от различных условий, применять к товарам наценку и скидки и т.п.
  • Модуль Документооборот позволяет организовать последовательную коллективную работу с содержимым модулей Информационные блоки и Управление структурой.

После установки системы список используемых модулей можно просмотреть на странице Управление модулями (Настройки > Настройки продукта > Модули) в административном разделе системы:

Нажмите на рисунок, чтобы увеличить

Таблица содержит название и описание модулей, информацию о версии и дате последнего обновления, а также текущий статус в системе:

  • Установлен – модуль и его элементы доступны для использования в системе;
  • Не установлен – модуль не доступен для использования в системе.

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

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

Ссылки на функционал установленных модулей добавляются в соответствующие секции административного меню системы.

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

  • для модуля Информационные блоки выполняется динамическая загрузка списка типов инфоблоков;
  • для модуля Веб-формы выполняется динамическая загрузка списка веб-форм;
  • для модуля Управления структурой выполняется динамическая загрузка файловой структуры.

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

Управление уровнем прав пользователей на доступ к модулям системы осуществляется отдельно для каждого модуля на странице его настроек.

Форма настройки параметров модуля

Страница настроек модуля может иметь различное число вкладок и полей, в зависимости от функционала модуля. Перейти к ней можно следующими способами:

  • с помощью административного меню: Настройки > Настройки продукта > Настройки модулей > имя_модуля;
  • с помощью кнопки Настройки Кнопка, расположенной на административной панели. Данная кнопка позволяет перейти к настройкам модуля, страницы (формы) которого открыты в текущий момент в основной рабочей области.

На странице настроек также выполняется управление общими параметрами работы модулей.

Дополнительная информация

Справочная информация

Где получать информацию о функционале и способах работы

Научиться работать с продуктами компании «1С-Битрикс» не сложно, но потребуется внимание и определённая мера усидчивости. А поможет в этом различного вида справочная информация, ссылки на которую расположены на сайте компании в разделе Документация.

Справочная информация включает в себя:


Документация

Нажмите на рисунок, чтобы увеличить

  • Онлайн документация для пользователей - описание интерфейса системы управления сайтом, ее основных модулей и наиболее типичных операций. Также в ней содержится полное описание прикладного программного интерфейса.
  • Онлайн документация для разработчиков по старому ядру, по ядру D7 и по Rest_API. Предназначена для технических специалистов со знанием PHP и HTML. В ней содержатся сведения о технологиях и основных принципах, заложенных в систему, описание классов и функций по всем продуктам.


Учебные курсы

Нажмите на рисунок, чтобы увеличить

Онлайн Курсы - это методические пособия по работе с продуктом, которые включают в себя описание и примеры работы с системой.


Контекстная справка

Нажмите на рисунок, чтобы увеличить

Контекстная справка выводит в Административной части системы информацию, относящуюся к открытому в данный момент разделу или странице. Доступна как в 1С-Битрикс: Управление сайтом, так и в Битрикс24.


Мастер магазина

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


FAQ

Частые вопросы - подборка решений наиболее часто встречающихся проблем при работе с продуктом в удобном представлении.


Документация в файлах формата .chm

Для изучения документации в оффлан (при отсутствии интернета) созданы файлы в формате справки Windows. Они содержат копию онлайн документации, эти файлы обновляются реже, чем источник на сайте. По возможности рекомендуем использовать онлайн документацию.

Если не видно содержание файла CHM

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

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

Примечание: В дополнение к документации, информацию, касающуюся продуктов компании «1С-Битрикс», можно получить на сайте в разделе форум.

Для администраторов и разработчиков так же рекомендуется познакомиться с опытом разработок сайтов на Bitrix Framework, который описывается в блогах разработчиков и в группах Социальной сети сайта компании 1С-Битрикс.


Как отформатирован текст в курсе

Форматирование текста облегчает восприятие информации

Читать монотонный текст сложно. Форматирование - один из способов облегчить понимание смысла. Опишем правила форматирования, чтобы вам было легче ориентироваться.



Форматирование текста

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

  • Ключевое смысловое слово, фраза.
  • Термины, названия элементов интерфейса: кнопки, вкладки, поля, горячие клавиши, формат или название файла.
  • Название курса, глав курса, разделов и страниц сайтов. (Как правило, название глав или курсов даются ссылкой, но иногда это бывает излишним).
Примеры использования жирного шрифта
Пример названия курса или главы Изучение курса позволяет освоить основные методы администрирования системы, а так же пополнить знания по темам, изученным в курсе Контент-менеджер.
Пример названий элементов интерфейса: При этом у компонента Список новостей нужно настроить входные параметры так, чтобы он мог формировать ссылки на страницу детальной новости (с кодом новости). Для этого нужно в группе параметров Шаблоны ссылок в поле URL страницы детального просмотра задать путь к этой странице, а также название параметра, в котором будет передаваться код новости для показа.
Пример ключевой фразы, слова При регистрации сервера обязательно укажите Домен для NTLM авторизации. Он должен полностью (включая регистр) совпадать с названием домена.


и Курсив и подчёркивание используются для выделения:

  • Названия продуктов компании 1С-Битрикс, других программ и технологических платформ.
  • Названия методов, классов, функций и событий, если нет их описания в API доке. (Если описание есть, то название метода или класса оформляется ссылкой на страницу документации.)
  • Пространство имён в новом ядре D7.
  • Ключевое слово, фраза, термин, если использование жирного шрифта не желательно по каким-то причинам.
Примеры использования курсива
Пример названия метода:Усовершенствованные методы буферизации в шаблоне позволяют более не использовать CBitrixComponentTemplate::EndViewTarget() ввиду того, что конец шаблона вызывает завершение буферизации автоматически. (Если страница метода в документации есть, то будет так: Перед подключением компонента ко всем значениям параметров применяется функция htmlspecialcharsEx.)
Пример названий продуктов и платформ:Чтобы научиться эффективно работать в Bitrix Framework, нужно не сравнивать то, что вы знаете по другим системам, а стараться понять как то или иное реализуется в этой системе. В плане обучения «сравнительный» подход не работает. Просто отвлекитесь от старых знаний и изучите новую систему используя только знания PHP и сайтостроения, а не сравнивая идеологии и технологии.
Пример пространства имён в D7:При необходимости модуль может организовывать подпространства внутри своего пространства имен. Например, Bitrix\Main\IO, Bitrix\Forum\SomeName\SomeNameTwo.


Серый фон текста используется для выделения:

  • путей в рамках файловой системы.
  • атрибутов, тегов html, параметров функций, переменных, значения полей и настроек и листинга кода, который нет смысла помещать в стиль для листинга.
Примеры использования серого фона
Пример выделения путей в рамках файловой системы:Результаты кеширования сохраняются в виде файлов в каталоге /bitrix/cache/.
Пример выделения атрибутов, тегов и так далее:Если в компоненте написать код:
$arParams = & $arSomeArray;
то переменная $arParams будет отвязана от члена класса компонента и привязана к массиву $arSomeArray.


Синий курсив с > используется для подсветки путей в продукте. То есть пути выглядят так же как они оформлены в административном отделе системы.

Примеры использования синего курсива
Пример оформления путей в административном отделе системы:Файлы кеша можно удалить в административной части на закладке Очистка файлов кеша страницы Настройки > Настройки продукта > Автокеширование.


Синий шрифт используется для подсветки УРЛ без создания собственно ссылки - псевдо УРЛ.

Примеры использования синего шрифта
Пример псевдо УРЛ:При помощи access_token приложение совершает запросы к REST-сервису до его истечения.
https://имя_портала.bitrix24.ru/rest/user.current?auth=код_авторизации


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

Примеры использования цветного шрифта
Цветной шрифт:
  • Настроить инфоблок на контроллере:

    ........

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

    ......



Всплывающие подсказки

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

  • Нужно пояснить какой-то термин.
    Пример: Как правило, все сайты имеют возможность авторизации из [dw]публичного раздела[/dw][di]Публичный раздел - то, что видит посетитель сайта, но для контент-менеджера - это основное место работы . Подробнее...[/di].
  • Дать наглядное представление о команде интерфейса.
    Пример: При включённом режиме Правки откройте на [dw]редактирование элемент инфоблока[/dw][di][/di], например, новость.
  • Дать дополнительную, но не относящуюся напрямую к выполняемым работам, информацию.
    Пример: Этот инструмент создаст ссылку с одним единственным [dw]слешом[/dw][di]Слеш - косая черта, которая используется для разделения слов в адресе сайта[/di] после [dw]домена сайта[/dw][di]Домен сайта - адрес по которому открывается самая главная страница. Например: yandex.ru[/di].


Форматирование абзацев текста

Форматирование целых абзацев текста используется для выделения какой-либо информации с целью указать направленность этой информации.


Определения каких-либо сущностей, явлений, терминов и так далее выводятся в абзацах такого вида:

Статическая информация – это информация, которая редко изменяется с течением времени. Например, рекламные тексты, история компании, контактная информация и т.п. Статическая информация создается, редактируется, дополняется и удаляется пользователями, обладающими правом на редактирование страниц сайта. Такое редактирование производится, как правило, в визуальном редакторе непосредственно в тексте самой страницы.



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

Примечание: этот способ относится только к приложениям третьего типа. Приложения первого и второго типов получают и продлевают авторизацию автоматически.



Предупреждения - это информация, имеющая критическое значение для работы того или иного функционала продукта. Например:

Важно! Если курс был деактивирован, то результаты тестов и сертификаты по этому курсу будут недоступны пользователям. Если курс был удален, то результаты тестов и сертификаты этого курса будут также удалены.

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


Спойлеры, скрывающие текст

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

Задание окна для открытия ссылки при редактировании в режиме кода (для ознакомления)

Чтобы избежать лишней прокрутки экрана, в спойлерах может быть размещена большая по объёму информация.


Видеоролики

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

Учебное видео
Управление валютами

Содержание видеоролика может отличаться от текущей версии продукта. Более актуальная информация содержится в тексте урока.


Глоссарий

Каждая платформа имеет свои термины, используемые в работе. Чтобы без проблем ориентироваться в документации, учебных курсах, при общении с разработчиками желательно объяснять ваши трудности не «на пальцах», а на языке понятном специалистам. Ниже в помощь вам приведен глоссарий терминов системы и несколько общих терминов, активно используемых в системе.


ТерминОписание
Экземпляр программыКопия какого-либо продукта «1C-Битрикс», включающая в себя исходный текст продукта и только одну копию структуры и таблиц базы данных, входящих в состав продукта, а также любую документацию по использованию продукта.
ПорталОдин набор файлов, хранящихся в каталоге /bitrix/modules/, и одна копия базы. Портал включает в себя один или более сайтов. Синонимом данного термина может служить: «экземпляр продукта», «одна инсталляция системы», «одна копия системы».
СайтСовокупность таких понятий как:
  • учетная запись в базе данных - создаётся в административном меню Сайты, включает в себя следующие основные параметры:
    • идентификатор - набор символов, идентифицирующий сайт;
    • доменное имя - одно или более доменное имя сайта;
    • папка сайта - путь к каталогу в котором будет храниться публичная часть сайта;
    • язык сайта;
    • формат даты и времени;
    • URL - протокол и доменное имя по умолчанию (например, http://www.site.ru);
    • DocumentRoot - если многосайтовость организована на разных доменах, то в данном параметре должен храниться путь в файловой системе сервера к корню сайта;
    • условия подключения шаблонов - каждый сайт может иметь один или более шаблонов для отображения скриптов своей публичной части, каждый такой шаблон может быть подключен по тому или иному условию;
  • публичная часть - совокупность скриптов (страниц), лежащих в «папке сайта» и принадлежащих этому сайту;
  • настройки - каждый модуль может иметь ряд настроек, связанных с сайтом, например у модуля Информационные блоки эти настройки представляют из себя привязку информационного блока к тому или иному сайту, у модуля Техподдержка - привязку статуса, категории и т.п. к сайту.
Шаблон сайтаСинонимом можно считать - дизайн сайта, скин сайта. Для показа одного сайта можно использовать несколько различных шаблонов. В шаблон сайта входят:
  • набор файлов в каталоге /bitrix/templates/ID_шаблона/, где ID_шаблона - поле ID в форме редактирования шаблона сайта. Структура данного каталога:
    • /components/ - каталог с компонентами, принадлежащими тому или иному модулю;
    • /lang/ - языковые файлы, принадлежащие как данному шаблону в целом, так и отдельным компонентам;
    • /images/ - каталог с изображениями данного шаблона;
    • /page_templates/ - каталог с шаблонами страниц и их описанием, хранящимся в файле .content.php;
    • /include_areas/ - каталог с файлами - содержимым включаемых областей;
    • header.php - пролог данного шаблона;
    • footer.php - эпилог данного шаблона;
    • styles.css - CSS стили, используемые на страницах сайта, когда используется данный шаблон;
    • template_styles.css - CSS стили, используемые в самом шаблоне;
    • .тип меню.menu_template.php - шаблон вывода меню соответствующего типа;
    • chain_template.php - шаблон по умолчанию для вывода навигационной цепочки;
    • а также ряд других вспомогательных произвольных файлов и папок, входящих в данный шаблон.
Раздел сайтаКаталог в файловой системе сервера. В Bitrix Framework структура сайта - это файловая структура сервера, поэтому страницы сайта - это файлы, а разделы сайта - соответственно каталоги.
КомпонентЯвляется частью того или иного модуля, представляет из себя логически завершенный код, хранящийся в одном файле, принимающий ряд параметров, выполняющий ряд действий и выводящий какой-либо результат (например, в виде HTML кода). Использование компонента является наиболее предпочтительным способом организации вывода информации как в публичной, так и в административной частях. В понятие компонент входят следующие элементы:
  • основной файл - подключается с помощью функции CMain::IncludeFile, представляет из себя скрипт на языке PHP, реализующий логику компонента;
  • языковые файлы - используются в компоненте для представления его результата на различных языках;
  • описание - это PHP код, используемый визуальным редактором для управления компонентом и его параметрами;
В данный момент используются компоненты версии 2.0. Использование компонентов 1.0 не рекомендуется, но их ещё можно встретить на сайтах, построенных на ранних версиях системы.
Система обновленийТехнология SiteUpdate позволяет:
  • скачивать обновления продукта;
  • загружать новые модули и обновления для имеющихся модулей, расширяющие их функциональные возможности;
  • загружать языковые файлы и устанавливать новые языки;
  • выполнять регистрацию лицензий на дополнительные сайты.
Данные загружаются с сайта компании «1С-Битрикс» через веб-интерфейс административного раздела продукта. В процессе обновления выполняется модификация только ядра продукта (файлы папок /bitrix/modules/, /bitrix/tools/, /bitrix/admin/ и /bitrix/components/bitrix/). Обновление не затрагивает публичную часть портала, полностью исключая возможность потери данных.

Обновление системы осуществляется в несколько шагов:

  • система обновлений автоматически запрашивает лицензионный ключ продукта;
  • затем выполняется проверка наличия доступных обновлений;
  • далее пользователю предлагается выбрать обновления для загрузки;
  • после этого происходит загрузка выбранных обновлений.
Все обновления и новые модули сначала компрессируются, а затем загружаются на сайт владельца.
Путь к компонентуИспользуется в функции CMain::IncludeFile в качестве первого параметра и представляет из себя путь к основному файлу компонента относительно одного из следующих каталогов (в порядке убывания приоритета):
  • /bitrix/templates/ID шаблона сайта/;
  • /bitrix/templates/.default/;
  • /bitrix/modules/ID модуля/install/templates/
Где:
ID шаблона сайта - идентификатор текущего шаблона сайта,
ID модуля - идентификатор модуля, которому принадлежит компонент.
Включаемые области Это специально выделенная область на странице сайта, которую можно редактировать отдельно от основного содержания страницы. Реализуется с помощью специального программного компонента.
ЯзыкЭто учетная запись в базе данных, доступная для редактирования в административном меню на странице Языки интерфейса, со следующими полями: Как в публичной, так и административной частях, язык в первую очередь используется в работе с языковыми файлами.
В административной части язык определяет формат времени, даты, кодировку страниц (в публичной - данные параметры определяются настройками сайта).
Языковой файлПредставляет из себя PHP скрипт, хранящий переводы языковых фраз на тот или иной язык. Данный скрипт состоит из массива $MESS, ключи которого - идентификаторы языковых фраз, а значения - переводы на соответствующий язык. Для каждого языка существует свой набор языковых файлов, хранящихся как правило в каталогах /lang/.
Языковые файлы, как правило, используются в административных скриптах модулей и в компонентах.
Для работы с языковыми файлами предназначен модуль Перевод.
Шаблон страницыЭто файл, хранящийся в одном из каталогов:
  • /bitrix/templates/ID шаблона сайта/page_templates/
  • /bitrix/templates/.default/page_templates/
Данный файл представляет из себя заготовку публичной страницы. Как правило, используется при создании новой страницы в модуле Управление структурой. Для задания порядка сортировки шаблонов страниц используется файл .content.php находящийся в одном из вышеуказанных каталогов.
Пролог

В общем случае, под данным термином понимается верхняя левая часть страницы.

Для публичной части, пролог соответствующего шаблона сайта хранится в файле /bitrix/templates/ID шаблона сайта/header.php.

Для административной части - пролог хранится в файле /bitrix/modules/main/interface/prolog_main_admin.php.

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

Если в публичной части необходимо подключить неразделенный пролог, то используем следующий код:

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");

Если по тем или иным причинам необходимо разделить пролог на служебную (prolog_before.php) и визуальную (prolog_after.php) части, то используем следующий код:

require($_SERVER["DOCUMENT_ROOT"].
"/bitrix/modules/main/include/prolog_before.php");
...
require($_SERVER["DOCUMENT_ROOT"].
"/bitrix/modules/main/include/prolog_after.php");
Эпилог

В общем случае под данным термином понимается нижняя правая часть страницы.

Для публичной части, эпилог соответствующего шаблона сайта хранится в файле /bitrix/templates/ID шаблона сайта/footer.php.

Для административной части - эпилог хранится в файле /bitrix/modules/main/interface/epilog_main_admin.php.

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

Если в публичной части необходимо подключить неразделенный эпилог, то используем следующий код:

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");

Если по тем или иным причинам необходимо разделить эпилог на визуальную (epilog_before.php) и служебную (epilog_after.php) части, то используем следующие коды:

require($_SERVER["DOCUMENT_ROOT"].
"/bitrix/modules/main/include/epilog_before.php");
...
require($_SERVER["DOCUMENT_ROOT"].
"/bitrix/modules/main/include/epilog_after.php");

Примечание: Обратите внимание, что в случае пролога файл *_before.php это служебная часть, а в случае эпилога *_before.php это визуальная часть. Такое отличие возникает потому, что пролог перед телом страницы, а эпилог - после.

Тело страницыТело страницы это часть PHP/HTML кода, расположенного в скрипте между подключениями пролога и эпилога. Тело страницы не является частью шаблона сайта и представляет из себя индивидуальное содержимое публичной либо административной страницы.
Навигационная цепочкаЭто элемент дизайна, предназначенный в первую очередь для улучшения навигации по сайту. Навигационная цепочка выводится в визуальной части пролога и состоит из заголовков разделов сайта с соответствующими ссылками на них. Помимо заголовков разделов, добавляемых автоматически, вы также можете добавлять произвольные пункты в навигационную цепочку.
Административная частьРаздел системы, содержащий интерфейс для управления модулями системы, структурой, содержанием, посетителями и другими составляющими сайта. Это множество скриптов, в которых подключен административный пролог и эпилог. Их подключение подразумевает:
  • данная страница не принадлежит ни одному сайту;
  • в то же время она принадлежит какому-либо модулю;
  • имеет строго определённый административный интерфейс;
  • все параметры локализации данной страницы зависят от выбранного текущего языка;
  • на этой странице используется дополнительная проверка прав, задаваемых в настройках соответствующего модуля.
Публичная частьРаздел системы, доступный для отображения посетителям сайта. В общем случае, под данным термином понимается множество скриптов, у которых подключен пролог и эпилог одного из шаблонов сайта. Их подключение подразумевает:
  • данная страница принадлежит какому либо сайту;
  • имеет интерфейс текущего шаблона сайта;
  • все параметры локализации данной страницы зависят от текущего сайта.
Режим Правка Режим, при котором текущая страница публичного раздела отображается в особом виде: выделены используемые компоненты, включаемые области, редактируемые области и т.д. Каждая такая область имеет набор кнопок для быстрого перехода к редактированию данного элемента страницы.
Индексная страница (файл)Это имя файла, который будет использован веб-сервером в случае, если запрашиваемый URL заканчивается на слэш и не содержит в себе имени файла. Порядок, в котором будут искаться индексные страницы для различных веб-серверов, задается по разному, например:
  • Apache - в файле httpd.conf, параметр DirectoryIndex;
  • IIS - в свойствах сайта, закладка Documents > Enable default content page;
К сожалению, в PHP значение данного параметра недоступно, поэтому для определения индексной страницы в коде необходимо пользоваться функцией GetDirIndex.
ПользовательЗапись в базе данных, содержащая параметры зарегистрированного пользователя с такими обязательными полями как:
  • логин;
  • пароль;
  • E-Mail.
А также ряд дополнительных полей, содержащих личную информацию о пользователе, информацию по его работе, административные заметки.

Регистрационные данные (логин и пароль), указанные пользователем при регистрации либо полученные им автоматически (например, при импорте), в дальнейшем используются для авторизации в системе. В результате регистрации пользователь привязывается к определенной группе и получает право на доступ к ресурсам портала в соответствии с правами данной группы.

Группа пользователейСовокупность пользователей портала, обладающих определенными правами на доступ и управление ресурсами портала (например, пользователи группы Модераторы обладают правом на чтение и редактирование сообщений форума). Управление группами пользователей осуществляется на странице Группы пользователей в административном разделе (Настройки > Пользователи > Группы пользователей).
Многоязычный интерфейсВозможность реализуется за счет использования языковых файлов, хранящих перевод фраз на соответствующие языки для:
  • административного раздела;
  • сообщений об ошибках;
  • визуальных компонентов;
  • соответствующих областей в шаблоне портала;
  • и т.д.
В соответствии с текущим языком интерфейса выполняется подключение необходимых языковых файлов. В результате сообщения отображаются пользователю на выбранном им языке. Переключение между языками административного интерфейса осуществляется с помощью соответствующих кнопок на административной панели.
Мета-тэгМета-тэг это один из элементов HTML, позволяющий задать информацию о странице. Указать, например, кодировку страницы, ее ключевые слова, автора, задать краткое описание страницы. Как правило, содержимое мета-тэгов используется в служебных целях, например, роботами поисковых систем, индексирующих сайт. Мета-тэг задается внутри тэга <head>.
ЛокализацияПодразумевает представление информации в переводе на соответствующий язык, в соответствующей кодировке данного языка и с использованием соответствующих форматов представления данных, характерных для этого языка (например, дата, время, денежные единицы, числа и т.д.).
ХостВ применении к функциям главного модуля, под данным термином понимается доменное имя или IP адрес, посредством которого можно обратиться к тому или иному сайту.
Доменное имя (домен)Строго говоря, это одно из полей DNS таблицы (domain name service), содержащее в себе строго структурированное имя интернет сайта, заданное по определённым правилам. Основная задача DNS таблицы - это ассоциация доменных имен с IP адресами сайтов. Пример доменного имени: 1c-bitrix.ru
IP адресЭто "имя" компьютера в сети, заданное по правилам протоколов TCP/IP. IP адрес состоит из четырех октетов, часть из которых идентифицирует подсеть, в которой находится компьютер, а часть - непосредственно этот компьютер в рамках соответствующей подсети. Пример IP адреса: 198.63.210.79.
Accept-LanguageНабор языков, установленных в браузере посетителя сайта. К примеру, для MS Internet Explorer их можно выставить в меню Сервис > Свойства обозревателя > Общие > Языки. Для Mozilla Firefox: Меню > Настройки > Содержимое > Языки.
Время в Unix-форматеКоличество секунд, прошедшее с 1 января 1970 года, с точностью до микросекунды. На сегодняшний день, время в Unix-формате может фиксироваться только до 2038 года.
Права в Unix системахВ Unix-подобных операционных системах (являющихся доминирующими на сегодняшний день для интернет серверов) поддерживаются три вида прав - чтение, запись и выполнение, которые присваиваются каждому файлу или директории. Права эти повторяются три раза: для владельца файла, для группы пользователей, к которой владелец принадлежит, и для всех остальных пользователей. Как правило, права указываются в числовом формате:
  • 4 - чтение;
  • 2 - запись;
  • 1 - выполнение.

Сумма этих чисел дает окончательный набор прав, например, 6 - это чтение и запись, но без выполнения, 7 - все права, 5 - чтение и выполнение.

Таким образом, например, право 764 будет означать: 7 - все права для владельца файла, 6 - чтение и запись для группы пользователей, к которой принадлежит владелец файла и 4 - чтение для всех остальных пользователей.

В PHP все права задаются в виде восьмеричных чисел, поэтому их надо задавать с обязательным указанием префикса - 0. Пример: 0755.

Путь относительно корняПуть к файлу, начинающийся от каталога, указанного в параметре DocumentRoot в настройках веб-сервера, заданный по правилам формирования URL-адресов. Пример:/ru/about/index.php
Полный путьВключает в себя протокол, домен, порт и путь относительно корня к странице (каталогу). Пример: http://www.bitrixsoft.ru/ru/about/index.php
Абсолютный путьАбсолютный путь к файлу включает в себя DocumentRoot и путь относительно корня.
DocumentRootПуть к корню сайта в файловой системе сервера. Задается в настройках веб-сервера, например:
  • для Apache - в файле httpd.conf, параметр DocumentRoot;
  • для IIS - в свойствах сайта, закладка Home Directory > Local Path.
СабмитОтправка данных HTML формы на сервер.
СессияПод термином понимается сессия PHP. Сессия может открываться в момент захода на сайт и закрывается при закрытии окна браузера. Также новая сессия открывается при авторизации пользователя, если закончить сеанс авторизации (разлогиниться) - сессия закрывается. Синонимом термина сессия можно считать один "заход на сайт".
HTML-безопасный видКак правило данный термин применяют к тексту, в котором произведены следующие замены:
ИсходноеРезультат
<&lt;
>&gt;
"&quot;
&&amp;

Подобные замены позволяют выводить текст внутри HTML кода, не опасаясь, что он будет интерпретирован браузером как часть этого HTML кода.
Связывание переменныхВ применении к SQL-запросам для Oracle версии, под данным термином подразумевается связывание имен переменных (либо полей таблицы) с их значениями. Как правило, подобная технология используется для полей типа BLOB, CLOB, LONG и т.п. предназначенных для хранения больших объемов данных.
ДампВ применении к базе данных, под термином подразумевается выгрузка содержимого и, возможно, структуры таблиц в файл в определённом формате, для их возможной дальнейшей загрузки обратно в данную, либо любую другую базу. Для каждой базы данных существуют свои утилиты, позволяющие сделать дамп, например для MySQL утилита mysqldump позволяет выгрузить в формате обычных SQL запросов, для Oracle утилита exp позволяет выгрузить в своем внутреннем формате.
В применении к переменным, дамп подразумевает отображение структуры и содержимого переменной в текстовом виде.
cron (крон)В Unix-подобных операционных системах утилита cron позволяет организовать запуск скриптов по четко указанному расписанию.
БуферизацияПод этим термином в PHP понимается такой режим, при котором весь исходящий поток данных из PHP скрипта (например, HTML код) запоминается предварительно в памяти и не отдается браузеру пользователя. Буферизацию в PHP можно включить с помощью функции ob_start. В дальнейшем буферизацию можно отключить, например с использованием функции ob_end_flush, при этом все накопленные данные будут отосланы браузеру. Буферизация позволяет произвольно манипулировать исходящим потоком данных, на этом принципе основана технология отложенных функций.
Постоянное соединение (persistent)При создании соединения с базой, в памяти создаётся дескриптор данного соединения. Если соединение обычное, то после отработки скрипта этот дескриптор удаляется, если соединение постоянное, он остается и может быть использован другими процессами при необходимости. Достоинством постоянного соединения является то, что, как правило, времени на его работу требуется меньше. Но есть и недостаток - количество открытых постоянных соединений ограничивается в настройках базы данных и при превышении этого лимита посетитель не сможет зайти на сайт пока не освободятся новые соединения.
Почтовое событиеЭто почтовое сообщение, имеющее свой тип и отправляемое по соответствующему почтовому шаблону. Почтовое событие инициализирует поля типа почтового события конкретными значениями. Порядок расположения этих полей в письме, а также текст письма, определяется почтовым шаблоном.
Для создания почтового события предназначен класс CEvent. Используется в Почтовой системе.
Почтовый шаблонОпределяет текст почтового сообщения, а также порядок расположения полей (placeholder'ов), заданных в типе почтового события.
Почтовые шаблоны доступны в административном разделе на странице Почтовые шаблоны (Настройки > Настройки продукта > Почтовые события > Почтовые шаблоны).
Для манипуляции почтовыми шаблонами предназначен класс CEventMessage. Используется в Почтовой системе.
Тип почтового событияОпределяет набор специальных полей (placeholder'ов), которые могут быть использованы в почтовом шаблоне. В момент создания почтового события эти поля будут инициализированы конкретными значениями.
Типы почтовых событий доступны в административном разделе на странице Типы почтовых событий (Настройки > Настройки продукта > Почтовые события > Типы почтовых событий).
Для манипуляции типами почтовых событий предназначен класс CEventType. Используется в Почтовой системе.
КастомизацияИзменение логики работы компонента или шаблона компонента под частные задачи.
API (SDK)Каждый модуль системы содержит набор высокоуровневых функций для выборки данных в публичном разделе сайта и набор классов с низкоуровневыми методами для более специализированной работы с данными модуля. Подробная информация по API каждого модуля представлена в документации для разработчиков.

Схема работы продукта

На представленном ниже рисунке вы можете ознакомиться с общей схемой работы продукта.

Общая схема работы продукта

Видеоматериалы к курсу "Администратор. Базовый"

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

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

Название видеоролика Размер файла, Мб Длительность, мин:секОтносится к уроку
Визуальный редактор
Управление и настройка *11.533:42 Работа с визуальным редактором
Редактирование шаблона *9.711:48 Редактирование шаблона сайта
Редактирование шаблона. Дополнительные возможности * 6.561:42 Редактирование шаблона сайта
Работа с инструментами
Резервное копирование
7.77 2:26 Регулярное резервное копирование
Примеры операций модуля Информационные блоки
Создание календаря событий * 22.38:41 Создание календаря событий


Основы администрирования

В этой главе мы рассмотрим основные принципы администрирования проекта, созданного на базе «1С-Битрикс: Управление сайтом». А также познакомимся с использованием основных возможностей базовых модулей системы: Главного и Управление структурой.

Первые три главы - продолжение тем курса Контент-менеджер. В них рассказываются моменты работы с системой для администратора сайта по вопросам, в целом, относящихся к ведению контент-менеджера.

Дополнительно администратору рекомендуется ознакомиться с информацией о Мониторе производительности и о способах конфигурирования веб-систем для оптимальной работы.

Настройка главного модуля

Главный модуль задаёт параметры работы системы в целом. Форма настройки находится на странице Настройки > Настройки продукта > Настройки модулей > Главный модуль

Нажмите на рисунок, чтобы увеличить

Для облегчения работы параметры сгруппированы по закладкам, настройки:

  • собственно модуля,
  • параметров авторизации,
  • журнала событий,
  • системы обновлений,
  • доступа

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


На закладке Настройки рекомендуется:

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

Закладка Авторизация определяет условия и безопасность авторизации пользователей в системе.


С закладкой Журнал событий всё просто: выбираете сколько дней хранить события и какие именно события хранить в логе (Настройки > Инструменты > Журнал событий).


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

Рекомендуется к использованию опция Усиленная проверка корректности установки обновлений. При копировании файлов из промежуточной папки /updates/ в папки модулей будет выполняться проверка контрольной суммы. Если полученная контрольная сумма не соответствует исходной, то выводится сообщение о некорректной установке обновлений.

Загружать только стабильные обновления - эта опция для тех, кто любит рисковать. При её выключении на сайт будут устанавливаться обновления в статусе beta. Вы будете получать новый функционал до перевода в стабильный статус, но рискуете получить нерабочую систему, если тестировщики "1С-Битрикс" пропустили какой-то баг.


Настройка доступа к модулю производится обычным способом: выбор группы пользователей и указание уровня прав для неё.

Документация по теме:



Элементы управления

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

Многоязычность

В процессе развития проекта достаточно часто встает задача создания иноязычной копии сайта. Система 1С-Битрикс: Управление сайтом позволяет представлять информационное наполнение сайтов на различных языках:

  • создавать неограниченное число сайтов на разных языках. Например, на русском, английском или немецком языке.

    Нажмите на рисунок, чтобы увеличить   Нажмите на рисунок, чтобы увеличить  

    Выбор и настройка параметров языка публичного раздела выполняется отдельно для каждого сайта в форме создания и редактирования сайта (Настройки > Настройки продукта > Сайты > Список сайтов):

    Параметры

    Настройка параметров языка в Эрмитаже v.9.5

    Примечание: Дополнительно в Региональных настройках можно определить формат показа даты и времени для используемого на сайте языка.

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

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

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

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

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

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

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


Шаблоны дизайна

Отображение страниц в публичном разделе сайта выполняется на основе шаблонов дизайна сайта.

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

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

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

Настройка условий применения того или иного шаблона определяется отдельно для каждого сайта (в форме создания и редактирования сайта: Настройки > Настройки продукта > Сайты > Список сайтов).

Нажмите на рисунок, чтобы увеличить

Примечание: Детальное описание полей формы подробно рассмотрено на странице пользовательской документации Создание и редактирование сайта.

В области Шаблон сайта по умолчанию есть только несколько строк для назначения шаблонов. Дополнительные строки для шаблонов появятся после заполнения этих первоначальных строк.

Внимание! При настройке условий применения шаблонов обязательно указывайте индекс сортировки. Порядок применения шаблонов к сайту определяется в соответствии с указанной сортировкой. Если для страницы (раздела) может быть применено несколько шаблонов, то в итоге будет применен шаблон с меньшей сортировкой. Если индекс сортировки задан не будет, то может быть применен неверный шаблон.

Общее правило сортировки при назначении шаблонов подобно перевернутой воронке:

  • первыми должны идти условия частного характера;
  • потом условия выборки;
  • потом все остальное.

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

Документация по теме:



Горячие клавиши

Пользователям проектов на Bitrix Framework доступен инструмент Горячие клавиши. Система допускает не только использование, но и задание новых клавиш.

Управление горячими клавишами производится на странице Настройки > Настройки продукта > Интерфейс > Горячие клавиши.

Чтобы добавить своё действие необходимо нажать кнопку Добавить на контекстной панели. После этого заполнить форму создания для горячих клавиш:

Для создания горячей клавиши необходимо заполнить как минимум два поля:

  • Наименование - выводится у пользователей в окне настроек горячих клавиш;
  • Выполняемый JavaScript код - код, вызывающий нужное действие.

Примечание: Описание других полей смотрите в документации.

Пустое поле Адрес (URL), где будет работать означает, что действие для привязки к горячим клавишам будет доступно везде, где есть административная панель. Если необходимо, чтобы действие выполнялось на какой-то конкретной странице, или в конкретном разделе, то их нужно указать в данном поле, например:

http://127.0.0.1:84/bitrix/admin/hot_keys_list.php

или

/bitrix/admin/

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

Примечание: Допускается назначение одинакового комплекта горячих клавиш на действия на разных страницах.

Пример

Можно назначить по горячей клавише переход в наиболее часто используемый раздел. Код JavaScript для открытия страницы Настройки > Настройки продукта > Интерфейс > Горячие клавиши Административного раздела будет выглядеть так:

location.href='/bitrix/admin/hot_keys_list.php';

Документация по теме:



Установка решения с помощью мастера

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

Список всех мастеров представлен на странице Список мастеров (Настройки > Настройки продукта > Список мастеров).

Список мастеров

Большая часть из этих мастеров предназначена как раз для смены решения.


Для того чтобы сменить решение:

в публичной части сайта
  • Нажмите кнопку Протестировать новое решение

    Кнопка "Протестировать новое решение"

    после чего откроется страница выбора решения для установки.

  • Выберите подходящее решение и пройдите все шаги мастера.
в административной части сайта
  • Перейдите на страницу Список мастеров (Настройки > Настройки продукта > Список мастеров).
  • Для запуска необходимого мастера выберите пункт Установить в меню действий, после чего откроется страница мастера настройки решения.

Примечание: Внешний вид и количество шагов может различаться, в зависимости от предназначения мастера.

Мастера установки решений подробно рассмотрены в курсе Установка и настройка начиная с главы Мастер создания сайта для разработчиков.

Внимание! Система допускает тестирование нескольких решений. При этом для каждого решения создаются новые сайты. Данные старых решений не удаляются, но если число сайтов превышает число сайтов, разрешенных по умолчанию (2 сайта), то данные более ранних решений становятся неактивными.

Документация по теме:


Информация на сайте и работа с ней

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

Замечание по Коротким ссылкам

Функционал Коротких ссылок имеет ограничение в использовании. Короткие ссылки могут не работать, если на главной странице сайта используется какой-либо комплексный компонент.

Создание и редактирование новых страниц и разделов

Создание страниц и разделов

Создание страниц или разделов доступно как с Публичной, так и с Административной части.

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

На контекстной панели необходимо воспользоваться кнопкой Добавить и выбрать какой элемент будет добавлен:

Создание страниц и разделов в Эрмитаже v.9.5

Откроются формы для создания новой папки или файла. При создании файла откроется тот вид редактора, который задан в настройках модуля Управление структурой. Создание страниц всегда открывается в визуальном редакторе.

Эти формы не отличаются от форм Публичного раздела по составу полей, но отличаются по порядку следования. В Административном разделе форма разбита на закладки:

  • Закладка Редактирование - собственно редактор;

    1 - панель инструментов визуального редактора.

    2 - панель переключения режимов редактирования.

    3 - рабочая область.

    4 - панели задач.

    5 - панель отображения свойств объектов.

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

  • Закладка Свойства предназначена для ввода и редактирования значений свойств страницы, например, для управления значениями тегов META: ключевыми словами (keywords) и описанием (description) страницы. Свойства, заданные в полях этой формы, будут использованы только для редактируемой страницы.
  • Закладка Меню содержит форму, которая позволяет в меню текущего раздела сайта (т.е. раздела, в котором создается страница) добавить пункт, ссылающийся на созданную страницу.

Редактирование страниц и разделов

Для того, чтобы перейти из Публичного раздела к редактированию текущей страницы (раздела) в Административном разделе, выберите в меню Изменить страницу пункт В панели управления.

В самом Административном разделе переход к редактированию страницы осуществляется из Менеджера файлов:


Для режимов правки файлов Редактировать как текст и Редактировать как PHP доступен режим редактирования кода с нумерацией строк и подсветкой синтаксиса.

Для его включения необходимо в настройках модуля Управление структурой (Настройки > Настройки продукта > Настройки модулей > Управление структурой) отметить опцию Использовать редактор кода с подсветкой синтаксиса.

Документация по теме:



Управление свойствами страниц и разделов

Управление свойствами страницы

Управление свойствами в Административном разделе осуществляется в форме:

Эта форма находится:
  • при создании либо редактировании страницы в текстовом режиме в Свойствах страницы:
  • при создании либо редактировании страницы в режиме HTML-редактора на закладке Свойства страницы:

Управление свойствами раздела в Административном разделе

Управление производится с помощью пункта Свойства папки в контекстном меню папки, либо из контекстной панели, меню Дополнительно:

Откроется окно настроек свойств каталога

Создание типов свойств

Перед тем, как приступать к управлению значениями свойств страниц, нужно создать необходимые типы свойств. Создание типов свойств выполняется на странице настроек модуля Управление структурой (Настройки > Настройки продукта > Настройки модулей > Управление структурой):

Типы для каждого сайта

  • в поле Тип указывается тип (символьный идентификатор) создаваемого свойства. Тип свойства указывается латинскими символами и служит для проверки или использования значения свойства в коде продукта;
  • в поле Название указывается произвольное название свойства. Отображается пользователям в форме настройки свойств страниц или разделов сайта.
Примечание: Типы свойств могут быть заданы отдельно для каждого сайта.

Для этого:

  • Отметьте опцию Использовать индивидуальные настройки для каждого сайта;
  • В списке Настройки для сайта выберите желаемый сайт;
  • Заполните поля Типы свойств.
  • Типы для каждого сайта


Документация по теме:

Управление правами доступа

Управлять правами доступа в «1С-Битрикс: Управление сайтом» возможно и с публичной, и с административной части. В «Битрикс24» права задаются только из административного раздела.


Задание прав доступа с Административной части

Управление доступом к разделу

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

И в открывшейся форме на закладке Доступ указать доступ для групп пользователей.

В рамках физической структуры можно воспользоваться еще и контекстным меню папки:

Управление доступом к странице

Управление доступом к странице возможно только в рамках физической структуры сайта через контекстное меню, команда Права на доступ продукта (см. иллюстрацию выше).

В рамках физической структуры можно изменять права в групповом режиме:

Подробнее про управление правами доступа к файлам смотрите в главе Управление доступом, урок Управление доступом к папкам и файлам.

Документация по теме:



Загрузка и поиск файлов

Для загрузки файлов перейдите с помощью Менеджера файлов в папку, в которую нужно загрузить файл

Перейти к загрузке файлов можно с помощью кнопки , расположенной на контекстной панели Менеджера файлов:

После чего откроется сама форма загрузки файлов:

Форма "Загрузка файлов"

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

Примечание: По умолчанию в настройках системы установлено ограничение на размер загружаемого файла в 2 мегабайта. Если есть необходимость изменить это ограничение, то это можно сделать в файле php.ini в параметре upload_max_filesize.

Примечание! Система поддерживает использование файлов с именами как на латинице, так и на кириллице, без ограничений по регистру. Недопустимо только использование спецсимволов: \ / ? * < > " '.

Поиск файлов

В рамках файловой структуры есть механизм поиска файлов, размещающийся на контекстной панели в виде кнопки Поиск. Нажатие на эту кнопку открывает окно поиска:

Поиск ищет как по имени, так и по содержимому. Ограничения можно наложить следующие:

  • По папке или сайту
  • Дате изменения;
  • Размеру файла;
  • Регистру.

Кнопка Подсчёт покажет общее число файлов, удовлетворяющих указанным условиям поиска.

С помощью поиска можно произвести замену слова или фразу в файле. Для этого воспользуйтесь закладкой Замена.

Документация по теме:



Расширенный режим настройки меню

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

  • Перейдите в Административной части в раздел, в котором нам нужно скрыть нужный пункт меню.
  • Найдите в списке файлов файл нужного меню: Меню типа ****. В колонке действий выберите Редактировать меню. Откроется форма редактирования меню в упрощенном режиме.

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

  • Щелкните кнопкой мыши на пункте Расширенный режим на контекстной панели формы редактирования меню.

    Форма перейдет в расширенный режим:

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

    Примечание: Подробное описание полей формы можно посмотреть на странице пользовательской документации.

  • В поле Тип условия выберите Для групп пользователей. Форма перезагрузится, и откроются поля ограничения доступа по пользовательским группам.
  • Выберите группу пользователей. Ограничение доступа работает по разрешительному принципу. Иными словами, пункт меню будет виден для тех групп, которые выбраны в этом поле.
  • Сохраните внесенные изменения.

По аналогичному принципу можно ограничить доступ к пунктам меню по другим типам условий.

Примечание: Если скрыть только пункт меню, но не запретить доступ к разделу, то обычный пользователь сможет зайти в раздел, если он знает адрес раздела.


Документация по теме:



Шаблонизация контента статических страниц

На проектах с большим содержанием статических страниц возникает задача оптимизации труда контент-менеджеров. Решить эту задачу можно с помощью создания шаблонов страниц.

Есть несколько вариантов шаблонизации контента статики:

  • Использование сниппетов
  • Пассивный шаблон
  • Активный шаблон

  • Использование сниппетов

    Самый простой способ шаблонизации, доступный и самим контент-менеджерам. Работа со сниппетами описана в курсе Контент-менеджер.

    Сниппеты рекомендуется хранить в папке \bitrix\templates\_ваш шаблон_\snippets\, хотя они могут располагаться и в шаблоне по умолчанию.


    Пассивный шаблон

    Пассивный шаблон - это простой файл, который хранит контент, вставляемый на вновь создаваемую страницу. Они хранятся в шаблоне сайта: \bitrix\templates\_ваш_шаблон_\page_templates\_имя_шаблона_.php

    Для создания шаблона:

    • Создайте в папке \bitrix\templates\_ваш_шаблон_\page_templates\ файл, например, new.php. Пример содержимого файла (Вызов файлов header.php и footer.php - обязательны!):
      <?
      require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
      $APPLICATION->SetTitle("Title");
      ?>
      
      

      Контент-менеджер! Наполни страницу содержанием!

      <p><img src="/132.png" /></p> <table cellspacing=0 cellpadding=0> <tbody> <tr bgcolor="white"> <td bgcolor="#8C8C8C"> <table cellspacing="1" cellpadding="5"> <tbody> <tr bgcolor="silver"><td colspan="2"><b></b> </td></tr> <tr bgcolor="white"> <td><b></b></td> <td></td> </tr> <tr bgcolor="#EEEEEE"> <td><b></b></td> <td></td> </tr> </tbody> </table> </td></tr> </tbody> </table> <?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
    • В файле \bitrix\templates\_ваш_шаблон_\page_templates\.content.php пропишите ваш новый файл шаблона:
      use Bitrix\Main\Localization\Loc;
      Loc::loadMessages(__FILE__);
      $TEMPLATE["new.php"] = Array("name"=>Loc::getMessage("new"), "sort"=>4);
      Код на старом АПИ:
    • В файле \bitrix\templates\_ваш_шаблон_\lang\ru\page_templates\.content.php пропишите название вашего шаблона:
      $MESS['new'] = "Новый шаблон";

    После этих действий контент менеджер получит возможность использовать новый шаблон при создании страниц:

    Примечание: Создание нового шаблона требуется достаточно редко. В большинстве случаев можно просто отредактировать штатный шаблон standard.


    Активный шаблон

    В системе возможно использование активных шаблонов. Активный шаблон - это шаблон, который при создании страницы (раздела) запрашивает дополнительные данные:

    Пример активного шаблона размещён в виде папки \bitrix\templates\.default\page_templates\forum в дефолтном шаблоне дистрибутива "1С-Битрикс: Управление сайтом".

    В файле \bitrix\templates\.default\page_templates\forum\template.php можно посмотреть пример оформления шаблона и создать по его образцу собственный.


    Настройки модуля Управление структурой

    Модуль Управление структурой настраивается в Административной части на странице Настройки > Настройки продукта > Настройки модулей > Управление структурой

    Нажмите на рисунок, чтобы увеличить

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

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

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

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

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

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

    На вкладке Доступ распределяются права доступа к модулю для групп пользователей.

    Подробнее о настройке модуля читайте в пользовательской документации.


    Визуальный редактор

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

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

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


    Подключение редактора

    Чтобы редактором страниц по умолчанию был визуальный HTML-редактор, необходимо его выбрать в настройках модуля Управление структурой.

    Внимание! Все пользователи, которым необходимо вносить хоть какие-нибудь изменения в [dw]Публичной части сайта[/dw][di] Панель управления - наш основной инструмент по работе с содержимым сайта. Находясь на вкладке Сайт, контент-менеджер может вносить изменения в публичную часть сайта и сразу видеть результат. Это значительно облегчает повседневную работу.
    Подробнее...[/di] должны иметь доступ на чтение к папке /bitrix/admin. Это папка, в которой расположен визуальный HTML-редактор. Без этого редактирование будет возможно только в текстовом режиме.


    Визуальный редактор в модулях системы

    Подключение визуального редактора в модуле Управление структурой дает общее разрешение на его использование. Но для разных модулей использование визуального редактора можно настроить по отдельности в [dw]настройках модулей[/dw][di] Подключение визуального редактора на примере настроек модуля Информационные блоки:
    [/di]. Это можно сделать у большинства модулей, например:

    • Информационные блоки;
    • Веб-формы;
    • Обучение;
    • Опросы, голосования;
    • Подписка, рассылки
    • и другие.

    Настройка визуального редактора

    Настройка визуального редактора

    Системные настройки визуального редактора производятся в настройках модуля Управление структурой (Настройки > Настройки продукта > Настройки модулей > Управление структурой) на закладке Визуальный редактор.

    Нажмите на рисунок, чтобы увеличить

    Первой опцией в настройках визуального редактора является выбор самого редактора. Вы можете пользоваться новой версией редактора, либо вернуться к старой (до версии 9.5). Здесь и далее мы будем иметь в виду и описывать новую версию. С работой в старой версии Вы можете ознакомиться в курсе [dw]Интерфейс до версии 9.5.[/dw][di] Рассмотрим внешний вид редактора и его панели подробнее. Визуальный редактор, открываемый из Публичной части и из Административного раздела несколько различается по функционалу. Будем описывать окно редактора в Административном разделе, т.к. в нем доступен несколько более широкий набор кнопок и возможностей, чем в Публичной части.

    Подробнее...[/di]

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

    Визуальный редактор предоставляет возможность проверки орфографии введенного текста только с помощью pSpell (проверка производится в браузере, при условии если pSpell установлен на сервере).

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

    Значения остальных опций понятно интуитивно, а также подробно описаны в Документации.

    Документация по теме:


    Настройки отображения компонентов

    Настройки отображения компонентов

    По умолчанию пользователю предоставляется полный [dw]список компонентов[/dw][di] [/di], которые он может размещать на редактируемой странице.

    Эту возможность администратор сайта может ограничить. Для этого:

    • Перейдите на страницу настроек модуля Управление структурой (Настройки > Настройки продукта > Настройки модулей > Управление структурой).
    • Заполните поле Разрешенные компоненты.

    Ограничение работает так: если в поле нет ни одного компонента, то разрешены все. Если в поле добавлен хотя бы один компонент, то будет разрешен только он (все остальные запрещены). Иными словами, для запрета доступа к единственному компоненту в это поле нужно внести все компоненты, которые разрешены. При добавлении компонентов можно использовать маски вида: news.*. Все компоненты, попадающие под эту маску, будут разрешены к использованию. Каждое название компонента или регулярное выражение вводится с новой строки.

    Для пользователей этот запрет внешне будет проявляться в том, что в визуальном редакторе при вызове панели Компоненты будут [dw]видны только разрешенные компоненты.[/dw][di] [/di]

    Поле работает только с системными компонентами, то есть компонентами из пространства имен bitrix. Если Ваш компонент размещен не в папке www\bitrix\components\... (в структуре папок на веб-сервере), то он будет проигнорирован.

    После ввода разрешенных компонентов для всех пользователей (в том числе и для администратора сайта) при редактировании страниц и сохранении изменений все неразрешенные компоненты будут [dw]удалены[/dw][di] Краткая информация по компоненту [/di] со страницы.

    В самом же визуальном редакторе в списке компонентов будут присутствовать только лишь разрешенные компоненты.



    Сниппеты в визуальном редакторе

    Сниппеты в визуальном редакторе

    Работа со [dw]сниппетами[/dw][di] Сниппет - это заранее подготовленный фрагмент текста или кода, этакие заготовки. Предположим, что вам каждый день приходится вставлять на страницы сайта одну и ту же таблицу или форму. Вы можете сохранить эту таблицу в сниппетах и затем простым перетаскиванием размещать ее в нужном месте. [/di] подробно рассмотрена в уроке [dw]Внешний вид редактора[/dw][di]Например, вам часто приходится размещать на страницах сайта фрагмент, который включает в себя заголовок, текст и небольшую таблицу. Добавим этот фрагмент в сниппеты, это сэкономит значительное количество времени. Сниппеты редактируются, добавляются и удаляются прямо в визуальном редакторе. Мы можем создать целую структуру сниппетов для того, чтобы было удобнее ориентироваться в заготовках.
    Подробнее...[/di] курса Контент-менеджер.

    Физически сниппеты хранятся в папке /snippets/ соответствующего шаблона либо в шаблоне по умолчанию (.default), которая обычно содержит:

    • Файл .content.php - перечисление всех созданных сниппетов в данном шаблоне. И для каждого из сниппетов хранится заголовок (title) и описание (description).
      <?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
      <?
      $SNIPPETS = Array();
      $SNIPPETS["snippet0001.snp"] = Array("title"=>"Таблица", "description"=>"");
      ?>
    • Файл .htaccess - настройки прав доступа к сниппетам;
    • Коды самих сниппетов (файлы *.snp). Они могут храниться в подгруппах.
    • Изображение для сниппета, хранится в подкаталоге /snippets/images/ и далее директория, дублирующая расположение самого сниппета. Имя изображения совпадает с именем сниппета. Например, сниппет расположен в папке /test1/table.snp. Тогда изображение к нему будет располагаться в папке /images/test1/table.png (или другое расширение изображения).

    Работа с визуальным редактором

    Работа с визуальным редактором

    Работать с визуальным редактором можно и в публичном разделе, и в административном.

    В курсе [dw]"Контент-менеджер"[/dw][di] В любой работе важен хороший инструмент. И работа с веб-сайтами не исключение. "1С-Битрикс: Управление сайтом" обладает мощным встроенным WYSIWYG редактором для работы со страницами сайта. Благодаря визуальному редактору мы прямо в браузере выполняем многие операции: от простого редактирования текста до настройки компонентов. По сути, с помощью визуального редактора мы способны редактировать любую информацию на сайте.
    Подробнее...[/di] подробно рассказано про возможности визуального редактора и принципы работы с ним в Публичном разделе.

    Однако его можно вызвать и в Административном разделе (принципы работы остаются теми же) при редактировании страницы.

    Для того, чтобы перейти к редактированию страницы в Административном разделе, нужно выбрать соответствующую команду в [dw]Публичном разделе[/dw][di] [/di] или в [dw]Административном разделе.[/dw][di] [/di]

    При редактировании страницы в Административном разделе появится специальное меню для работы с существующей страницей, а также сам [dw]визуальный редактор[/dw][di]Визуальный редактор может работать в двух режимах. Визуальный режим - более простой и интуитивно понятный вариант. Мы сразу видим как будут выглядеть элементы на странице. Второй вариант - режим исходного кода. Он предназначен для опытных пользователей и позволяет произвести дополнительную настройку (например, задать значения параметров).
    Подробнее...[/di]:

    Нажмите на рисунок, чтобы увеличить


    Работа с php-скриптом

    Работа с php-скриптом

    Примечание: Правом на работу с произвольным php-скриптом обладает только администратор сайта.

    В HTML-редакторе можно разместить произвольный php-скрипт следующим способом: перейдя в [dw]режим редактирования исходного кода[/dw][di] [/di] (или смешанный режим) и написав требуемый код. Тогда в режиме визуального редактирования (или [dw]в соответствующем поле смешанного режима[/dw][di] [/di] ) появится тот же ярлык , содержание php-кода которого можно будет редактировать в режиме работы с исходным кодом и в области Свойства:

    Внимание! Есть некоторые тонкости при прерывании html-кода php-скриптом.

    Например, можно писать так:
     <a href="<? echo 'www.oursite.ru';?>" title="Посетите сайт">OurSite</a>
    Аналогично, и с рисунками (тег img).

    Перечислим атрибуты, которые обрабатываются для ссылок, рисунков и аудио:
    для тега <a> атрибуты: href, title, class, style
    для тега <img> атрибуты: src, alt, class, style
    для тега <audio> атрибуты: src, autoplay, control, loop, preload
    Т.е. вместо этих атрибутов можно вставлять <? ...... ?>

    Код таблицы тоже можно прерывать php-скриптом:
     <table >
    <? ........ ?>
    <tr>
    <? ........ ?>
    <td>
    </td>
    <? ........ ?>
    </tr>
    <? ........ ?>
    </table>

    Важно то, что визуальный редактор не показывает php-код в начале и в конце страницы. Например, строки в начале кода главной страницы не будут показаны при редактировании этой страницы с помощью визуального редактора:

    <?
    require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
    $APPLICATION->SetPageProperty("title", "Демонстрационная версия продукта «1С-Битрикс: Управление сайтом 6.0»");
    $APPLICATION->SetPageProperty("NOT_SHOW_NAV_CHAIN", "Y");
    $APPLICATION->SetTitle("Новости интернет-магазина");
    ?>

    Код, вызывающий файл footer.php, тоже не будет показан в HTML-редакторе:

    <?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>


    Управление сайтами

    Управляем несколькими сайтами

    Важной особенностью системы «1C-Битрикс: Управление сайтом» является поддержка многосайтовости, что позволяет создать несколько сайтов на одной копии продукта (при этом, в соответствии с условиями лицензионного соглашения, все сайты должны работать с использованием одной базы данных и единого ядра продукта). Каждый сайт может характеризоваться собственным доменным именем, внешним видом, языком интерфейса и информационным наполнением.

    Примечание: в редакции "Старт" вы можете создать два сайта с неограниченным количеством страниц. В других редакциях количество сайтов и страниц неограниченно.

    Сравнить возможности разных редакций можно здесь.

    Что имеется в виду под словом "сайт".


    Способы настройки многосайтовой системы

    Технически существуют два способа настройки многосайтовости системы:

    1. Многосайтовость на одном домене. Продукт и все сайты работают под управлением одной копии веб-сервера Apache. В данном способе конфигурации каждый сайт должен быть размещен в отдельном подкаталоге внутри единого каталога, например:
      • /home/www/allsites/s1/
      • /home/www/allsites/s2/
    2. Многосайтовость на разных доменах. Каждый сайт работает под управлением отдельной копии веб-сервера Apache или отдельного виртуального веб-сервера. Данный способ требует дополнительной настройки сервера.

    Подробное описание предложенных способов настройки приводится в главе Конфигурирование многосайтовости учебного курса Многосайтовость.

    Примечание: Если возникла необходимость удалить сайт, то помните, что это действие не происходит автоматически. Чтобы это сделать, вы должны удалить все инфоблоки и другие объекты системы, связанные с вашим сайтом.

    Обратите внимание! Встроенный конструктор [dw]Сайты 24[/dw][di] Сайты 24 — встроенный в CMS "1С-Битрикс: Управление сайтом" конструктор сайтов, позволяющий создавать веб-страницы без программирования.
    Сайты 24 идеально подходит для создания неограниченного числа страниц, лендингов и полноценных сайтов и взаимодействия с вашим интернет магазином.
    Подробнее...[/di] фактически добавляет страницы к существующим сайтам и позволяет отдельно публиковать их.

    Документация по теме:


    Управление сайтами и пример создания

    Управление сайтами

    Управление сайтами осуществляется из административного раздела системы на странице Список сайтов (Настройки > Настройки продукта > Сайты > Список сайтов):

    Нажмите на рисунок, чтобы увеличить

    Каждый сайт, работающий под управлением системы, представляется в виде отдельной записи.

    Перейти к редактированию параметров сайта можно с помощью пункта Изменить в контекстном меню записи.

    Внимание! При удалении сайта помните, что это действие не происходит автоматически. Чтобы это сделать, Вам нужно удалить все инфоблоки и другие объекты системы, связанные с этим сайтом (подробнее читайте в уроке Удаление сайтов).


    Как создать новый сайт

    • Перейдите в Административный раздел на страницу Настройки > Настройки продукта > Сайты. В Рабочей области откроется Список сайтов.
    • Выполните команду Добавить сайт на Контекстной панели. В Рабочей области откроется форма Добавление сайта.
    • Заполните поля:
      • ID – поставьте произвольный двузначный код (только латинскими буквами и цифрами);
      • Поставьте флажок Активен;
      • Введите название сайта, каким оно будет отображаться в Административной части. Название сайта не обязательно должно быть на латинице, вы можете дать название и на русском языке;
      • Установите флажок По умолчанию. Это делается, если сайт не единственный в списке сайтов и нужно, чтобы он открывался по умолчанию;
      • Доменное имя - введите доменное имя (имена), которое будет у вашего сайта (если его еще нет, то поле можно оставить пустым);
      • Папка сайта - поставьте просто /;
      • Сортировка - можно ввести любое численное значение;
      • В поле Язык определяется то, на каком языке будут выводиться системные сообщения в Административной части.
      • Региональные настройки - указание системе как отображать параметры времени, даты и другие в соответствии с культурными особенностями региона, на который рассчитан сайт.
      • Выбирать кодировку сайта нужно внимательно, после анализа многих факторов.

        Примечание: Иногда для указания кодировки используют упрощенное название win-1251. В нашем случае это не допустимо, так как может вызвать ошибку, связанную с некорректным названием кодировки.

      • Название веб-сайта - каким оно будет отображаться для пользователей;
      • URL сервера введите адрес сайта (localhost - для локальной установки);
      • E-Mail адрес по умолчанию введите адрес, который будет использоваться в системных сообщениях, например, во всех почтовых шаблонах в качестве адреса отправителя.
    • Почтовые шаблоны - поле позволяет создать шаблоны, на основе которых будут генерироваться почтовые сообщения сайта.
    • Шаблон - любой из имеющихся. Это поле обязательно для заполнения, если шаблона нет, его нужно создать.

      Для чего нужен шаблон

    • Сохраните вновь созданный сайт. Форма создания сайта закроется, откроется список имеющихся сайтов, в котором отобразится созданный сайт.

    Примечание: Подробнее описание значений полей формы смотрите в пользовательской документации.



    Удаление сайтов

    Удаление сайта возможно только из Административного раздела со страницы Список сайтов (Настройки > Настройки продукта > Сайты > Список сайтов). Перед удалением сайта необходимо удалить сущности, которые имеют отношение к удаляемому сайту (или снять привязку с них).

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

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

    Ошибка при удалении сайта

    Примеры ошибок, возникающих при удалении сайтов
    Ошибка при удалении в CForumNew::OnBeforeLangDelete (forum) Не удалён форум
    Ошибка при удалении в CIBlock::OnBeforeLangDelete (iblock) Не удалены инфоблоки. Привязанные инфоблоки могут находиться в разных типах инфоблоков.
    Ошибка удаления. Возможно есть ссылающиеся объекты. Не удалены сущности, ссылающиеся на удаляемые объекты. Например, при удалении инфоблока, являющегося торговым каталогом не отвязаны инфоблоки, являющиеся торговыми предложениями для удаляемого инфоблока.
    Ошибка при удалении в CSalePersonType::OnBeforeLangDelete (sale) Ошибка связана с наличием типов плательщиков привязанных к сайту.
    В заказах используется тип плательщика с ID=* Не удалены заказы, относящиеся к удаляемым типам плательщиков
    Ошибка при удалении в CRubric::OnBeforeLangDelete (subscribe) Не удалены привязанные к сайту рассылки.

    Список сущностей системы, имеющих привязку к сайтам и которые могут запретить удаление сайта:

      Контент

    • Инфоблоки (Контент> Инфоблоки > Типы инфоблоков > Название инфоблока)
    • Привязка одного инфоблока к другому в качестве торгового предложения. (Контент> Инфоблоки > Типы инфоблоков > Название инфоблока, закладка Торговый каталог)
    • Привязка одного инфоблока к другому в качестве источника для полей Привязка к разделам и Привязка к элементам и других. (Контент> Инфоблоки > Типы инфоблоков > Название инфоблока, закладка Свойства)
    • Маркетинг

    • Правила работы с корзиной (Маркетинг > Товарный маркетинг > Правила работы с корзиной > Правила работы с корзиной)
    • Скидки на товар (Маркетинг > Товарный маркетинг > Скидки на товар > Скидки на товар)
    • Накопительные скидки (Маркетинг > Товарный маркетинг > Накопительные скидки)
    • Список рассылок Email-маркетинга (Маркетинг > Email-маркетинг > Список рассылок)
    • Список триггерных рассылок (Маркетинг > Триггерные рассылки > Список рассылок)
    • Привязка баннеров (Маркетинг > Баннерная реклама > Баннеры)
    • Контракты (Маркетинг > Баннерная реклама > Контракты)
    • Магазин

    • Заказы (Магазин > Заказы либо Магазин > Покупатели > Список покупателей)
    • Склады (Магазин > Складской учет > Склады)
    • Складские документы (Магазин > Складской учет > Документы)
    • Службы доставки (Магазин > Настройки > Службы доставки)
    • Налоги (Магазин > Настройки > Налоги > Список налогов)
    • Привязка налоговых ставок к налогам (Магазин > Настройки > Налоги > Ставки налогов)
    • Типы плательщиков (Магазин > Настройки > Типы плательщиков)
    • Аффилиаты (Магазин > Аффилиаты > Аффилиаты)
    • Планы комиссий (Магазин > Аффилиаты > Планы)
    • Пирамиды (Магазин > Аффилиаты > Пирамида)
    • Сервисы

    • Группы опросов (Сервисы > Опросы > Дополнительно > Группы опросов)
    • Веб-формы (Сервисы > Веб-формы > Настройка форм)
    • Выпуски рассылки (Сервисы > Рассылки > Выпуски)
    • Подписчики (Сервисы > Рассылки > Подписчики)
    • Список рассылок (Сервисы > Рассылки > Список рассылок)
    • Справочники техподдержки (Сервисы > Техподдержка > Справочники > Название справочника)
    • Уровни техподдержки (Сервисы > Техподдержка > Уровни поддержки)
    • Обращения (Сервисы > Техподдержка > Обращения)
    • Темы Социальной сети (Сервисы > Социальная сеть > Темы)
    • Форумы (Сервисы > Форумы > Список форумов)
    • Группы блогов (Сервисы > Блоги > Группы блогов)
    • Учебные курсы (Сервисы > Обучение > Курсы)
    • Привязка Учебной группы к курсу (Сервисы > Обучение > Учебные группы)
    • Почтовые ящики (Сервисы > Почта > Почтовые ящики)
    • Почтовые сервисы (Сервисы > Почта > Почтовые сервисы)
    • Настройки

    • Правила сортировки (Настройки > Поиск > Правила сортировки)
    • Почтовые шаблоны (Настройки > Настройки продукта > Почтовые события > Почтовые шаблоны)

    Управление пользователями

    От чего зависят права пользователей

    Каждый посетитель сайта относится к одной или нескольким группам пользователей сайта. Какой уровень прав есть у группы, такой же уровень прав есть и у пользователя. Если пользователь приписан к нескольким группам, то он обладает максимальным уровнем прав из доступных для него в рамках этих групп.

    Примеры прав пользователя, состоящего в нескольких группах

    Система разграничения прав доступа на сайтах "1С-Битрикс: Управление сайтом" - двухуровневая:

    • уровень 1: доступ к каталогам и файлам;
    • уровень 2: доступ к модулям системы и логическим операциям в модулях.

    Управление этими уровнями прав выполняется отдельно друг от друга.


    Регистрация пользователя в системе

    При регистрации в системе пользователь получает личные регистрационные данные (логин и пароль) и приписывается к одной или нескольким группам.

    Если в системе разрешена самостоятельная регистрация, то при регистрации пользователя ему создаётся учётная запись с добавлением в группу по умолчанию, [dw]указанную в настройках[/dw][di]Указание группы для самостоятельной регистрации[/di] Главного модуля (Настройки > Настройки продукта > Настройки модулей > Главный модуль). В дальнейшем администратор может изменить приписку пользователя к группе.

    Примечание: Самостоятельную регистрацию пользователей можно включить при установке портала с помощью соответствующей опции или же после установки в настройках Главного модуля.

    После того, как пользователь авторизуется в системе, вверху страницы в публичном разделе сайта будет показана [dwi include_control_panel]административная панель[/dwi], содержащая набор команд для управления сайтом, если доступ к ней разрешен.

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


    Документация по теме:


    Пользователи

    Список пользователей

    Управление учетными записями пользователей в системе выполняется на странице Список пользователей (Настройки > Пользователи > Список пользователей):

    Нажмите на рисунок, чтобы увеличить

    Для добавления нового пользователя служит кнопка Добавить пользователя, расположенная на контекстной панели.

    Предупреждения для администраторов "Битрикс24 в коробке"


    Изменение учётной записи

    Форма редактирование параметров пользователя вызывается с помощью двойного клика левой кнопкой мыши по записи пользователя, либо с помощью пункта Изменить в контекстном меню. С помощью команды Авторизоваться администратор может в один клик выйти из своего аккаунта и открыть форму авторизации под выбранным аккаунтом.

    Форма управления учетной записью пользователя имеет следующий вид:

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

    В больших проектах с несколькими администраторами есть смысл вести историю изменений учётных записей. Для этого используется опция Сохранять историю изменения полей профиля пользователя в настройках Главного модуля. Сами изменения отображаются на странице Настройки > Пользователи > История профилей.


    Учётная запись администратора

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

    Если по каким-то причинам пароль к администраторскому аккаунту утерян, то восстановите его.



    Если пропадает авторизация пользователя

    Если пропадает авторизация пользователя

    Возможные причины проблемы:

    1. Лишние переносы строк (или иные символы) в скриптах конфигурации.
    2. Файлы с сессиями продукта создаются, но PHP не хватает прав, чтобы к ним обратиться.
    3. Установлен лимит времени на бездействие пользователя, при превышении которого сессия удаляется.
    4. Значение параметра Маска сети для привязки сессии в настройках безопасности группы пользователей.
    5. Значение параметра session.cookie_domain в файле php.ini на сервере.
    6. Неверно прописан домен в настройках главного модуля и для сайта отдельно.
    7. При переносе сайта не скопировался файл /.access.php.
    8. При многосайтовости вас выкидывает на форму авторизации при переходе по публичным страницам сайта.
    9. Авторизация не учитывается на вашем домене.
    10. Проблема в работе сервера (нужна поддержка сессий в php, должна быть указана папка сохранения сессий и права на запись в эту папку).

    Примечание: если работа в административном режиме прерывается появляющейся формой авторизации, то чтобы дать себе возможность что-то поправить в настройках сайта, после авторизации не совершайте никаких действий порядка 10-30 секунд, и, возможно, форма авторизации не появится.



    Группы пользователей

    Управление пользователями

    Управление группами пользователей выполняется на странице Группы пользователей (Настройки > Пользователи > Группы пользователей):

    Нажмите на рисунок, чтобы увеличить

    Примечание: В дистрибутивах разных редакций и решений списки групп по умолчанию могут быть разными.

    В системе существует две обязательные группы пользователей: Все пользователи и Администраторы:

    • по умолчанию к группе Все пользователи относятся все незарегистрированные посетители сайта с правом только на просмотр публичных страниц сайта (кроме страниц закрытых разделов);
    • к группе Администраторы относятся администраторы сайта, обладающие полным набором прав на доступ к управлению системой (в том числе, доступом к управлению правами других пользователей).
    Параметры данных групп пользователей могут быть изменены (название, описание, уровень прав для группы Все пользователи), но сами группы не могут быть удалены из системы.

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

    Подробное описание [dw]формы создания и редактирования группы[/dw][di] [/di] приведено в пользовательской документации продукта.

    Вкладка Параметры

    В этой вкладке производится [dw]быстрая приписка[/dw][di] [/di] пользователей к той или иной группе

    Однако быстрая приписка пользователей к той или иной группе возможна, только если на сервере зарегистрировано не более 50 пользователей. Если число пользователей в группе планируется очень большим, то добавление пользователей удобнее будет делать через страницу [dw]списка пользователей[/dw][di] [/di] (Настройки > Пользователи > Список пользователей), так как на ней есть форма поиска.

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

    Значения остальных полей этой вкладки понятны интуитивно.

    Вкладка Безопасность

    На вкладке [dw]Безопасность[/dw][di] [/di] не рекомендуется изменять настройки без четкого понимания того, что вы делаете. Особенно на действующем сайте, так как она определяет политику безопасности для текущей группы.

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

    При изменении параметра Время жизни сессии нужно искать оптимум между потребностью в постоянном доступе авторизованных пользователей на сайте и производительностью. Не нужно устанавливать большое время сессии. Папка сессий (определяется настройками PHP) будет очень большая, следовательно, будет медленный старт сессии. Рекомендуется ставить значение в диапазоне 20-30 минут.

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

    Пример настройки вкладки Безопасность группы пользователей.

    Вкладка Доступ

    На этой вкладке можно задать права доступа к модулям системы. Допустим, вам необходимо, чтобы контент-менеджер не имел возможности управлять блогами и форумами, так как для этого предусматривается создание отдельных администраторов. Запретим доступ созданной группе на управление, оставив за ними право на чтение, создание блогов (как обычным пользователям) и просмотр административной части (вдруг из редактора "вырастет" администратор).

    Примечание. Некоторые модули предусматривают дополнительную настройку прав доступа к контенту (Инфоблоки и Веб-формы). Ознакомиться с настройками доступа к этим модулям вы можете в [ds]этом уроке.[/ds][di] Настройка прав доступа выполняется в форме редактирования свойств инфоблока на закладке Доступ (Контент > Информ. блоки > Типы информ. блоков > <название_типа_инфоблока> <название_инфоблока>).

    В модуле Веб-формы предусмотрено управление доступом к результатам заполнения веб-формы на уровне Статусов результатов (результатов заполнения веб-формы).
    Подробнее...[/di]


    Пример создания группы Контент-менеджер

    Чтобы корректно настроить права на пользователя во вновь созданной группе Контент-менеджер, надо выполнить следующие действия:

    • Создать группу пользователей.
      • В настройках доступа модуля Управление структурой установить уровень доступа Редактирование файлов и папок;
      • Для этой группы пользователей установить право Чтение на папку /bitrix/admin/ (чтобы отображались административные страницы);
      • В настройках доступа инфоблока надо ему дать право Изменение, при доступе Чтение инфоблок просто не будет отображаться.
    • Добавить во вновь созданную группу пользователя или пользователей.


    Документация по теме:


    Уровни доступа для стандартных групп пользователей

    Таблица прав доступа по умолчанию

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

    Следующие модули не включены в таблицу, так как настройка прав доступа для них не выполняется. По умолчанию полный доступ к настройкам этих модулей задан для группы Администраторы:

    Существуют также две стандартные группы пользователей, не включенные в таблицу:

    • Пользователи, имеющие право голосовать за рейтинг
    • Пользователи имеющие право голосовать за авторитет
    Их права на доступ к модулям совпадают с группой "Все пользователи (в том числе неавторизованные)", за исключением дополнительных прав: права голосовать за рейтинг и права голосовать за авторитет соответственно.

    Модуль, права доступа

    Стандартные группы пользователей

    Администраторы

    Все пользователи (в том числе неавторизованные)

    Зарегистрированные пользователи

    Администраторы интернет-магазина

    Контент-редакторы

    Главный модуль
    Описание прав доступа
    Полный доступДоступ закрытИзменение своего профиляПолный доступ к управлению интернет-магазином и параметрами торгового каталогаИзменение своего профиля
    AD/LDAP (ldap)
    Описание прав доступа
    Полный доступЗакрыт
    Email-маркетинг (sender)
    Описание прав доступа
    Полный доступЗакрыт
    Wiki (wiki)
    Описание прав доступа
    Полный доступЧтение страниц
    XMPP сервер (xmpp)
    Описание прав доступа
    Полный доступЗакрыт
    Блоги (blog)
    Описание прав доступа
    Полный доступЧтение блогов
    Валюты (currency)
    Описание прав доступа
    Полный доступЗакрыт
    Веб-аналитика (statistic)
    Описание прав доступа
    Полный доступДоступ закрыт
    Веб-формы (form)
    Описание прав доступа
    Полный доступДоступ закрыт
    Документооборот (workflow)
    Описание прав доступа
    Полный доступДоступ закрыт
    Интеграция с Битрикс24 (b24connector)
    Полный доступДоступ закрыт
    Интернет-магазин (sale)
    Описание прав доступа
    Полный доступДоступ закрытОбработка заказовДоступ закрыт
    Торговый каталог (catalog)
    Описание прав доступа
    Полный доступДоступ закрытРедактирование ценДоступ закрыт
    Контроллер (controller)
    Описание прав доступа
    Полный доступДоступ запрещен
    Монитор производительности (perfmon)
    Описание прав доступа
    Полный доступДоступ закрыт
    Облачные хранилища (clouds)
    Описание прав доступа
    Полный доступДоступ закрыт
    Обучение (learning)
    Описание прав доступа
    Управление правами; редактирование / удаление / создание / привязывание / отвязывание уроков и курсов как в качестве родителя, так и в качестве потомкаПросмотр
    Опросы, голосования (vote)
    Описание прав доступа
    Полный доступЗакрыт
    Перевод (translate)
    Описание прав доступа
    Полный доступЗакрыт
    Подписка, рассылки (subscribe)
    Описание прав доступа
    Полный доступЗакрыт
    Поисковая оптимизация (seo)
    Описание прав доступа
    Полный доступДоступ закрыт
    Почта (mail)
    Описание прав доступа
    Полный доступЗакрыт
    Проактивная защита (security)
    Описание прав доступа
    Полный доступДоступ закрыт
    Баннерная реклама (advertising)
    Описание прав доступа
    Полный доступ Доступ закрыт
    Сайты 24 (landing)
    Описание прав доступа
    Полный доступ Доступ запрещен
    Социальная сеть (socialnetwork)
    Описание прав доступа
    Полный доступРабота в публичной части
    Техподдержка (support)
    Описание прав доступа
    Полный доступДоступ закрыт
    Торговый каталог (catalog)
    Описание прав доступа
    Полный доступДоступ закрыт
    Управление структурой (fileman)
    Описание прав доступа
    Полный доступДоступ закрыт
    Учет рабочего времени (timeman)
    Описание прав доступа
    Полный доступ
    В соответствии с субординацией:

    сотрудники могут редактировать свой рабочий день;

    руководители могут управлять рабочими днями и отчетами

    Форум (forum)
    Описание прав доступа
    Полный доступ
    Закрыт

    Документация по теме:



    Как восстановить пароль администратора

    Как восстановить пароль администратора

    Несомненно, администратор сайта должен обладать хорошей памятью. Особенно если сайтов много. И для каждого сайта свой пароль. И занимается администратор сайтами не одновременно, а периодически.

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

    Способ первый

    1. Пароль восстанавливается для пользователя с ID=1 (т.к. это первый пользователь, зарегистрированный в системе, и в связи с этим обладающий правами администратора). Поэтому для начала вспомните, какой логин был у этого пользователя (по умолчанию устанавливается admin). Уточнить первого пользователя можно с помощью скрипта:
      $rsUser = CUser::GetByID(1);
      $arUser = $rsUser->Fetch();
      echo "<pre>"; print_r($arUser); echo "</pre>";
      
    2. Далее сохраните следующий скрипт в php-файл c любым именем:
      <?
      require($_SERVER['DOCUMENT_ROOT']."/bitrix/header.php");
      echo $USER->Update(1,array("PASSWORD"=>'Bitrix*123456'));
      echo $USER->LAST_ERROR;
      require($_SERVER['DOCUMENT_ROOT']."/bitrix/footer.php");
      ?>
    3. Закачайте созданный скрипт через FTP в корневой каталог сайта www/имя сайта/... и откройте его в браузере. После этого у пользователя с ID=1 (по умолчанию - администратор) установится пароль: Bitrix*123456
    4. Теперь авторизуйтесь на сайте под прежним логином (см. п. 1) и стандартным паролем (см. п. 3). В панели управления установите свой новый пароль.

    Если доступ для неавторизованных пользователей закрыт, то перед процедурой восстановления пароля надо поправить файл .access.php в корне сайта, заменив:

    $PERM["/"]["*"]="D";
    
    на:
    $PERM["/"]["*"]="R";
    

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


    Способ второй

    1. Cохраните следующий скрипт в php-файл c любым именем:
      <? 
      require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
      
      global $USER;
      $USER->Authorize(1);
      
      require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");  
      ?>
    2. Закачайте созданный скрипт через FTP в корневой каталог сайта www/имя сайта/... и откройте его в браузере.
    3. Авторизуйтесь на сайте (при этом ни логин, ни пароль не будут запрашиваться), и в панели управления установите свой пароль.

    Внимание! Обязательно удалите залитый файл со скриптом после восстановления пароля!



    Как закрыть доступ к сайту другому администратору

    Как закрыть доступ к сайту другому администратору

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

    Чтобы подрядчик не смог восстановить свой доступ (см. урок Как восстановить пароль администратора), выполните три действия:

    1. Сначала найдите [dw]Пользователя с ID=1[/dw][di] [/di] (Настройки > Пользователи > Список пользователей) и смените E-mail и пароль:

      Примечание: Пользователь с ID=1 по умолчанию является администратором. Конечно, можно лишить его этих прав, сняв [dw]соответствующую галку.[/dw][di] [/di] Однако мы настоятельно рекомендуем этого не делать, так как Вы сами потом не сможете восстановить пароль администратора, если возникнет такая необходимость.

    2. Смените пароль доступа по [dw]FTP,[/dw][di] FTP (File Transfer Protocol — протокол передачи файлов) – это протокол передачи файлов по сети. Именно протокол FTP позволяет клиенту обращаться к файлам и папкам, которые хранятся на сервере. [/di] чтобы подрядчик не смог зайти на Ваш сервер.
    3. Проверьте у всех остальных пользователей (Настройки > Пользователи > Список пользователей) наличие полных прав на Главный модуль (есть хоть и маленькая, но все-таки вероятность того, что подрядчик создал своего тестового пользователя и дал ему права администратора).


    Импорт пользователей

    Импорт пользователей

    Для добавления целого списка пользователей в систему служит специальная страница административного раздела Импорт пользователей.

    Перейдите на страницу Импорт пользователей (Настройки > Пользователи > Импорт пользователей). Откроется форма импорта:

    Нажмите на рисунок, чтобы увеличить

    Выберите нужный источник данных и нажмите кнопку Далее.

    Обратите внимание! Во время загрузки можно сохранить старую привязку пользователей к их группам либо указать, чтобы все пользователи привязались к какой-нибудь указанной группе портала. Выборочное изменение привязки пользователей из одного списка по разным группам невозможно.

    Документация по теме:


    Импорт пользователей из CSV-файла


    Для добавления целого списка пользователей в систему служит специальная страница административного раздела Импорт пользователей (Настройки > Пользователи > Импорт пользователей).

    Нажмите на рисунок, чтобы увеличить

    Важно! CSV-файл должен быть создан в кодировке сайта. Кодировку можно посмотреть в форме создания/редактирования сайта (Настройки > Настройки продукта > Сайты > Список сайтов).

    Примечание: Создавать CSV-файлы рекомендуется в программе MS Excel. Если вы создали файл в другой программе, то рекомендуется открыть и проверить файл в MS Excel.


    Подготовка файла CSV

    CSV-файл должен быть подготовлен заранее. Он должен иметь следующий формат:

    заголовок
    данные
    данные
    данные
    

    Каждая строка файла — это одна строка таблицы. Заголовок может состоять из любого количества записей, расположенных в одной строке. Он указывает тип данных, содержащихся в разделе, который следует после заголовка. Значения в строках файлов (как заголовка, так и данных) разделяются разделительным символом (delimiter).

    Пример заголовка данных пользователей

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

    Например, если заголовок файла имеет следующий вид:

    LAST_NAME;PERSONAL_PHOTO;NAME;SECOND_NAME;WORK_POSITION;

    а в какой-либо из строк нет данных для части полей, скажем, 2, 4 и 5, то строка с данными должна иметь вид:

    Иванов;;Андрей;;

    Поля, в которых нет данных, просто отмечены разделителем.


    Перед форматированием CSV-файла учтите следующие аспекты:

    • Разделитель (delimiter) может быть любым: запятая (,), точка с запятой (;), пробел или табуляция. Нельзя вводить пробелы между значениями. Если в качестве разделителя выбран пробел, то необходимо следить за тем, чтобы не было двойных пробелов между значениями.
    • Если запятая является частью значения (например: свойства объекта перечислением через запятую), заключите значение в двойные кавычки "рыжий,красный,зеленый".
    • Если двойные кавычки являются частью значения, заключите значение в пару двойных кавычек. Например, "Иван" в CSV-файле должно выглядеть следующим образом: ""Иван"".
    • Пустые строки в CSV-файле не допускаются.
    • Регистр не учитывается в заголовках, строковых значениях, логине.
    • Пароли вводятся с учетом регистра.
    • Логические значения могут быть представлены следующим образом: Y — истина; N — ложь.
    • Данные, расположенные в строке данных после последнего распознанного значения в строке заголовка, игнорируются. Например, если в строке заголовка файла указано 10 значений, а в строке данных упоминается 12 значений, последние 2 будут отброшены.
    • Элементы данных, значения которых не указаны, обрабатываются как пустые строки.
    • Формат времени должен быть установлен в формате языка сайта. Например: MM/DD/YYYY HH:MI:SS (для английского языка), либо DD.MM.YYYY HH:MI:SS (для русского языка).


    Экспорт пользователей из системы

    Если вы хотите выгрузить пользователей, то выполните следующее:

    • Перейдите на страницу Список пользователей (Настройки > Пользователи > Список пользователей).
    • Нажмите на кнопку Excel, чтобы выгрузить данные из списка.
    • После выгрузки адаптируйте файл под требования CSV-формата. В частности:
      • удалите итоговые строки внизу таблицы;
      • в заголовке замените названия значений на правильные латинские названия в соответствии с Таблицей типов данных, приведенной ниже;
      • проверьте правильность заполнения полей данными в соответствии с Таблицей типов данных, приведенной ниже. (Например, значения пола должны быть указаны M и F, а не М и Ж).
    Таблица типов данных

    Важно! Для импорта пользователей из CSV-файла минимально необходимое условие - это указание имени (NAME) и фамилии пользователя (LAST_NAME).

    Пример CSV-файла

    Чтобы гарантировать отсутствие ошибок в ходе импорта, проверьте, что данные в файле соответствуют формату, указанному в начале этой главы. Проверить правильность формата файлов можно, открыв CSV-файл в MS Excel, и просмотреть результат:

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

    После проверки CSV-файла можно приступать к импорту.


    Выполнение процедуры импорта

    В форме импорта пользователей в качестве источника данных выберите CSV-файл и нажмите кнопку Далее.

    Заполните поля второго шага импорта (закладка Параметры импорта):

    Настройка параметров импорта

    • Файл данных – укажите путь до CSV-файла.
    • Разделитель полей – укажите разделитель, который использовался в файле.
    • Привязать пользователей к группам – выберите группу (группы с помощью Ctrl), к которой нужно привязать пользователей из файла.
    • Путь к картинкам относительно корня сайта – путь к папке с картинками, относительно которой будут указаны пути значений PERSONAL_PHOTO и WORK_LOGO. Если поле пустое, то в значениях PERSONAL_PHOTO и WORK_LOGO необходимо указать полный путь относительно корня сайта.
    • Привязать пользователей к разделам информационного блока – выберите инфоблок, к которому будут привязаны пользователи, имеющие данные в значении IBLOCK_SECTION_NAME_*. Указать можно только один инфоблок. Если один и тот же пользователь должен быть привязан к разным инфоблокам, то привязку нужно осуществить впоследствии вручную.<
    • Разрешить пользователям авторизовываться через LDAP-сервер – укажите имя сервера, через который будет проводиться авторизация. При необходимости можно перейти к созданию сервера сразу с этого шага по ссылке Создать.
    • Оповестить пользователя, если был указан e-mail - оповещать пользователей о регистрации на сайте с помощью выбранного шаблона, если в CSV-файле был указан e-mail.
    • Игнорировать пользователей, логин которых уже существует в системе - укажите эту опцию, чтоб при импорте не добавлялись пользователи с логинами, которые уже существуют в системе.

    Нажмите кнопку Далее. На следующем шаге выполняется автоматический импорт пользователей. После завершения импорта будет выведено сообщение о числе добавленных пользователей.

    Просмотр импортированных данных

    Для просмотра импортированных данных в административном разделе перейдите на страницу Список пользователей (Настройки > Пользователи > Список пользователей). Откроется таблица со всеми пользователями системы.

    Если импорт прошел неправильно, то необходимо удалить все записи, исправить CSV-файл и повторить описанные действия заново.

    Импорт пользователей из LDAP-directory

    Импорт пользователей из LDAP-directory

    Для добавления целого списка пользователей в систему служит специальная страница административного раздела Импорт пользователей (Настройки > Пользователи > Импорт пользователей).

    Для импорта пользователей из Active Directory / LDAP выполните следующее:

    • На странице Импорт пользователей в качестве источника данных выберите Active Directory / LDAP и нажмите кнопку Далее.
    • На втором шаге импорта (закладка Параметры импорта) в выпадающем списке выберите сервер, который будет использован для импорта:

      Примечание: Если сервер еще не настроен, то необходимо его создать. Описание процедуры создания сервера приведено в курсах Администрирование. Модули и Администратор сервиса Битрикс24 (коробочная версия).

    • После выбора сервера в форме появятся импортируемые поля. Снимите флажки с дополнительных полей, которые не нужно импортировать.

      Настройка параметров импорта

    • Нажмите кнопку Далее. Мастер перейдет к третьему шагу. Будет автоматически произведен импорт, система сообщит об его завершении и количестве добавленных записей.

    Примечание: Если пользователь заблокирован и существует на сайте, то его данные обновляются при импорте из AD/LDAP. Если пользователь неактивен и на сайте не существует, то он не импортируется на сайт.


    Управление доступом

    Главные принципы управления доступом

    Управление доступом в рамках системы подразумевает:

    • доступ к модулям,
    • доступ к элементам динамического контента,
    • доступ к файлам и папкам.

    Доступ для конкретного пользователя осуществляется в рамках Группы пользователей.
    То есть, чтобы пользователь получил определённые права, необходимо включить его в группу с нужным уровнем прав. Если пользователь входит в несколько групп, то его уровень доступа определяется суммой прав этих групп.

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

    Внимание! При включении пользователя в новую группу для получения всего возможного уровня прав ему необходимо заново авторизоваться в системе.

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

    • В Wiki, в стороннем файле, на недоступной для обычных пользователей странице должны быть описаны регламенты доступа для групп и пользователей, подключённых через функционал расширенных прав.
    • Когда в рамках проекта принимается решение о том, что теперь конкретный пользователь или пользователи группы "такой-то" имеют право добавлять/изменять/удалять новости "такого-то" раздела, то эта информация добавляется в регламент. Важно: указывается срок жизни этого правила.
    • После обновления регламентов "вручную" или через бизнес-процессы ставится задача ИТ службе. Служба исполняет это решение централизовано (AD/LDAP) или в конкретном проекте.


    Как быстро закрыть доступ к публичной части

    Если возникла необходимость экстренного закрытия публичной части сайта, воспользуйтесь служебной процедурой на странице Настройки > Настройки продукта > Настройки модулей > Главный модуль:


    Уровни доступа

    Разделять и управлять!

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

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

    Примеры:

    • операция Управление пользователями только разрешенных групп позволяет не администраторам управлять пользователями из указанных групп
    • операция Ограниченная модификация файлов с PHP-кодом позволяет не администраторам настраивать параметры компонентов и редактировать файлы с PHP в визуальном режиме


    Создание уровней доступа и управление ими

    Управление уровнями доступа осуществляется в административном разделе на странице Уровни доступа (Настройки > Пользователи > Уровни доступа):

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

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

    Добавление уровня доступа

    Отметим некоторые особенности данной формы:

    • поля Название и Модуль являются обязательными для заполнения;
    • в поле Привязка выбирается: 
      • Модуль - в этом случае уровень доступа можно будет установить для указанного модуля;
      • либо Файл/Папка - в этом случае создаваемый уровень доступа будет возможно настроить для файлов или папок.

    Также для создания нового уровня доступа можно воспользоваться пунктом контекстного меню элемента Копировать. При нажатии будет создана копия выбранного элемента и новый уровень доступа откроется на редактирование. При этом если был скопирован системный уровень доступа, то вновь созданный уровень будет уже пользовательским.

    В зависимости от выбранного модуля и типа привязки отображаются свои возможные действия на закладке [dw]Включаемые операции[/dw][di] Изменение уровня доступа [/di].

    После сохранения уровень доступа будет выведен в форме настроек Главного модуля (Настройки > Настройки продукта > Настройки модулей > Главный модуль), и в форме редактирования группы пользователей на закладке Доступ (Настройки > Пользователи > Группы пользователей).

    Управление правами доступа пользователей осуществляется с помощью [dw]настройки прав групп[/dw][di] Редактирование группы [/di], к которым относятся пользователи (в форме настройки параметров группы).

    Документация по теме:



    Доступ к модулям

    Управление правами доступа к модулям

    Настройка прав доступа к модулям системы позволяет определить диапазон допустимых действий пользователя над модулем и его контентом. Управление правами доступа к модулям выполняется:

    • в форме настройки параметров группы пользователей на закладке Доступ (Настройки > Пользователи > Группы пользователей):

      Форма настройки параметров группы пользователей

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

    • в форме настройки параметров модуля (Настройки > Настройки продукта > Настройки модулей):

      Форма настройки параметров модуля

      Значение По умолчанию определяет уровень доступа для всех групп для которых не установлено специально какое-то иное значение. Для установки такого иного значения необходимо выбрать в левом столбце нужную группу пользователей, а в правом - нужный уровень доступа. Ссылка Добавить право доступа добавляет в список новые строки.

    Отдельные модули позволяют осуществлять дополнительную настройку прав доступа к контенту (см. урок Доступ к элементам контента).

    Пример

    Кроме того, для модулей Реклама, баннеры и Техподдержка настройка прав доступа пользователей выполняется на уровне [dw]ролей.[/dw][di] Например, для пользователей модуля Реклама, баннеры доступны следующие роли:
    • рекламодатель – доступ к административной части модуля, просмотр доступных контрактов и управление принадлежащими к ним рекламными баннерами;
    • менеджер баннеров – управление баннерами определенных контрактов (без права изменения параметров контрактов);
    • администратор рекламы – полный доступ к управлению рекламой, в том числе рекламными контрактами, а также уровнем прав других пользователей.
    [/di]

    Подробное описание ролей приводится в пользовательской документации продукта в разделах соответствующих модулей.



    Доступ к элементам контента


    Некоторые модули предусматривают дополнительную настройку прав доступа к контенту:


    Модуль Информационные блоки

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

    Настройка прав доступа выполняется в форме редактирования свойств инфоблока на закладке Доступ (Контент > Информ. блоки > Типы информ. блоков > <название_типа_инфоблока> <название_инфоблока>).

    Нажмите на рисунок, чтобы увеличить


    Простой режим


    В простом режиме права доступа настраиваются для всего информационного блока в целом.

    Например, чтобы пользователи группы Контент-редакторы имели право на создание и редактирование новостей инфоблока Новости компании, нужно в настройках инфоблока Новости компании установить для группы Контент-редакторы право доступа Изменение.

    Если при попытке изменения доступа появляется сообщение "Внимание! Заданный уровень доступа переопределяется уровнем доступа по умолчанию", то это означает, что выставляемое право находится на более низком уровне иерархии, чем право доступа по умолчанию, и система не даст его установить.

    Переопределение уровня доступа

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

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

    Если доступ к инфоблоку для определенной группы закрыт, то пользователи из этой группы [dw]не увидят содержимое[/dw][di] Доступ к инфоблоку закрыт [/di] в публичной части.

    Кроме того, закрытое содержимое не будет видно в поиске для этой группы пользователей.


    Расширенный режим


    После установки флажка в поле [dw]Расширенное управление правами[/dw][di] [/di] нажмите кнопку Применить, и форма перезагрузится.

    Теперь можно задать права для инфоблока по умолчанию. Эти права будут применяться до тех пор, пока в форме создания/редактирования конкретного раздела или элемента не будет указан другой уровень прав.

    С помощью ссылки Добавить выберите нужную группу или конкретного пользователя, для которых хотите поменять права доступа и установите нужные права.

    Для задания прав к конкретному разделу или элементу перейдите к форме редактирования элемента, на закладку [dw]Доступ[/dw][di] [/di].


    Модуль Веб-формы

    В модуле Веб-формы предусмотрено управление доступом к результатам заполнения веб-формы на уровне Статусов результатов (результатов заполнения веб-формы):

    Для настройки прав доступа к статусам выполните следующее:
    • перейдите на страницу Список форм (Сервисы > Веб-формы > Настройка форм);

    • Примечание
    • Перейдите к редактированию параметров формы, дважды кликнув по строке с названием формы или выбрав пункт контекстного меню Изменить;
    • Перейдите к просмотру статусов формы, нажав кнопку [dw]Статусы[/dw][di] Статусы результатов [/di] на контекстной панели;
    • Перейдите к редактированию параметров статуса, дважды кликнув по строке с его названием или выбрав в пункте контекстного меню Изменить, затем выберите вкладку [dw]Доступ.[/dw][di] Права доступа к результатам в текущем статусе [/di]
    • Для каждого статуса определяются группы пользователей, обладающие правом на работу с результатом веб-формы в данном статусе.

    • Пример организации прав доступа.

    Права на файлы

    Права на файлы

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

    Результат должен быть таким: нужны права на чтение/запись из скрипта на все файлы и папки, начиная от корня сайта, для пользователя, под которым запущен Apache. При этом на разделяемом хостинге другие пользователи на этой же машине не должны иметь права читать ваши файлы или писать в них из своих скриптов. Также желательно, чтобы файлы, закачанные по FTP, могли быть перезаписаны из скрипта.

    Проблема в том, что у каждого хостинг-провайдера своя политика безопасности и свои настройки: одни ограничивают доступ к чужим файлам даже при 777 (право доступа), другие запускают процесс Apache под своим пользователем для каждого виртуального хоста, и т.д.

    Поэтому вопрос необходимо решать с хостинг-провайдером.


    Проблемы с неправильными правами и их решение

    Unix/Linux - многопользовательская система, это значит, что в системе одновременно могут работать несколько пользователей в своих папках со своими файлами. Соответственно, разные пользователи имеют разные права на доступ к файлам и папкам.

    Для загрузки файлов по FTP и работы с ними через веб-интерфейс используются разные программы (ftp клиент и веб-сервер), и для операционной системы это разные пользователи.

    Для решения проблемы взаимной записи необходимо установить специальные права на файлы и папки (требуемые права зависят от того, под какими пользователями работают ftp клиент и веб-сервер, к каким группам принадлежат).

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

    Наиболее часто встречаемые проблемы, связанные с правами на файлы и папки:

    • При изменении файлов через FTP не удается сохранить изменения
    • Файлы загружаются через ftp, но при попытке их изменения в продуктах Bitrix Framework появляется ошибка записи
    Примечание: Установка прав через клиент ftp с поддержкой рекурсивного изменения прав на папки не является хорошим вариантом. Потому что, например, для изменения прав на 100 файлов потребуется отправить специальную команду как минимум 100 раз (если есть подпапки - то ещё и для них). В дополнение к этому передаётся еще и множество служебной информации. В итоге эта операция может занять довольно продолжительное время даже при хорошем канале Интернет.

    Обратите внимание:
    • чтобы избежать проблем с правами при установке продукта - лучше всего воспользоваться скриптом BitrixSetup. Он скачает и распакует дистрибутив с нашего сайта, при этом файлы будут принадлежать веб-серверу и проблем при работе не возникнет;
    • ftp и ssh сервисы в большинстве случаев позволяют авторизоваться под одним и тем же пользователем, значит можно закачать файл через ftp, а изменить права через ssh;
    • пользователь может изменить права только на свои файлы. Это значит, что если вы не можете изменить файл непосредственно в системе, то не стоит пытаться применять веб скрипт. Права необходимо изменять через ftp/ssh. И наоборот;
    • панель управления на хостинге чаще всего с целью безопасности работает под третьим пользователем, поэтому в борьбе с правами она скорее всего не поможет.


    Установка прав на создаваемые Bitrix Framework файлы

    Права, с которыми создаются файлы и папки, вы можете установить в файле /bitrix/php_interface/dbconn.php:

    define("BX_FILE_PERMISSIONS", 0664);
    define("BX_DIR_PERMISSIONS", 0755);


    Управление доступом к папкам и файлам

    Зачем это нужно

    Система предусматривает возможность отключения просмотра физической структуры сайта в Административном разделе. Это может быть полезно по следующим соображениям:

    • если у какой-то группы пользователей есть такие права администрирования, которые в принципе могут привести к негативным последствиям в случае неграмотных действий;
    • если квалифицированный администратор сайта в отъезде, отпуске и т. д., то полезно скрыть физическую структуру, оберегая проект от непредвиденных случайностей;
    • чтобы контент-менеджеры не пребывали в недоумении, почему одни и те же страницы, разделы могут быть отображены дважды (в рамках физической и логической структуры): пусть работают только с логической структурой.


    Как отключить просмотр физической структуры

    Для отключения просмотра физической структуры перейдите на закладку Настройки страницы Настройки модуля (Настройки > Настройки продукта > Настройки модулей > Управление структурой) и установите флажок в поле [dw]Не отображать раздел "Файлы и папки"[/dw][di] [/di] в меню "Структура сайта"

    Примечание: Возможна ситуация, когда в файловом менеджере продукта не отображаются файлы и папки и без включения функции Не отображать раздел "Файлы и папки" в меню "Структура сайта". Это может произойти
    • либо в результате ошибки в настройках сайта (Настройки > Настройки продукта > Сайты > Список сайтов). Значение поля Путь к корневой папке веб-сервера для этого сайта не соответствует реальному пути к DOCUMENT_ROOT.
    • либо на корневую папку сайта (DOCUMENT_ROOT) установлены права недостаточные для чтение её содержимого. В данном случае надо установить на папку наиболее полные права.


    Как настроить права доступа к управлению структурой

    С помощью поля со списком [dw]Показать права на доступ для[/dw][di] [/di], расположенного на контекстной панели, можно показать текущее право определенной группы пользователей на доступ к папкам и файлам системы.

    Настройка прав доступа к управлению структурой сайта выполняется в Менеджере файлов (Контент > Структура сайта).

    Чтобы выполнить настройку прав доступа к файлам и папкам, нужно:

    • Перейти в раздел Файлы и папки (Контент > Структура сайта > Файлы и папки)
    • отметить нужные элементы в Колонке флажков;
    • выбрать действие [dw]Права на доступ продукта[/dw][di] [/di] на панели групповых операций и нажать кнопку Применить:

      В [dw]форме настройки прав доступа[/dw][di] Форма настройки прав доступа [/di] указывается уровень доступа каждой группы пользователей к выбранным файлам и папкам.

    Права, которые могут быть назначены Группам пользователей

    Для настройки прав доступа к текущей директории (например, к корневой папке) нужно воспользоваться кнопкой Свойства папки, расположенной на контекстной панели:


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

    Задание прав на примере группы Редакторы сайта

    Управление доступом к файлам и папкам возможно и из публичного раздела. Об этом подробнее смотрите в уроке Управление правами доступа курса Контент-менеджер.

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

    • для нужных [dw]каталогов[/dw][di] Доступ запрещен [/di]
    • или [dw]отдельных файлов[/dw][di] Доступ запрещен [/di]
    • Внимание! Все пользователи, которым необходимо вносить хоть какие-нибудь изменения в Публичной части сайта, должны иметь доступ на чтение к папке /bitrix/admin. Это папка, в которой расположен визуальный HTML-редактор. Без этого редактирование будет возможно только в текстовом режиме.


      Пример решения проблемы

      Была правильно создана группа и к ней приписан пользователь. Группе назначены следующие права доступа к административным частям модулей:

      • Главный модуль - полный доступ;
      • Управление структурой - полный доступ.

      Но в административной части сайта пользователи созданной группы не имеют доступа к страницам и при авторизации выдается [dw]сообщение об ошибке[/dw][di] Доступ запрещен [/di].

      Решение: Для получения доступа вам необходимо установить права на чтение папки /bitrix/admin/:

      Примечание: По умолчанию новые пользователи имеют только право чтения для всех папок сайта, кроме папки /bitrix/admin/.


      Важно запомнить!

      • Права групп пользователей на доступ к директории сайта могут быть унаследованы всеми вложенными папками и файлами
      • Все пользователи, которым требуется вносить хоть какие-то изменения в Публичной части сайта, должны иметь доступ на чтение к папке /bitrix/admin.


      Документация по теме:



      Дополнительная проверка прав доступа


      Bitrix Framework позволяет использовать условия для отображения тех или иных элементов сайта, а также разграничения прав доступа к этим элементам для различных групп пользователей.

    • Настройка шаблона сайта
    • Настройка пунктов меню
    • Настройка доступа к элементам инфоблока

    • Настройка шаблона сайта

      Например, в зависимости от группы пользователей, к которой относится текущий пользователь, может показываться конкретный шаблона дизайна страниц сайта. Такое условие задается в форме редактирования сайта (Настройки > Настройки продукта > Сайты > Список сайтов):

      Или другой пример, проверка группы пользователей, к которой относится текущий пользователь по PHP выражению:

      !$GLOBALS['USER']->IsAuthorized() && (!isset($_SERVER['REMOTE_USER']) || strlen($_SERVER['REMOTE_USER']) <= 0)

      Также, в дистрибутиве «Битрикс24 в коробке» уже задан пустой шаблон, который отображается для неавторизованных пользователей.


      Настройка пунктов меню

      В зависимости от группы пользователей, к которой относится текущий пользователь, отображаются и пункты меню. Данный тип условий задается в расширенном режиме редактирования меню (подробно про настройку меню смотрите в уроке Расширенный режим настройки меню):

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


      Настройка доступа к элементам инфоблока

      Ряд компонентов системы допускает задание ограничений на доступ к контенту. Например, можно ограничить доступ к детальному просмотру новостей. Рассмотрим это на примере комплексного компонента Новости.

      Нажмите на рисунок, чтобы увеличить

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

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


      Документация по теме:



      Управление интерфейсом

      Система Bitrix Framework имеет возможности по настройке административного интерфейса, поддерживает работу с многоязычным интерфейсом в административном разделе, а также позволяет создавать проекты на различных языках.

      Внимание! Перед клиентами коробочной версии Битрикс24 часто возникает задача переключения языка меню, без дублирования контента. Штатно это реализовать нельзя, нужна доработка как настроек портала, так и файлов меню.

      Документация по теме:


      Управление настройками интерфейса

      Пользовательский интерфейс системы Bitrix Framework позволяет настраивать и запоминать настройки интерфейса для каждого зарегистрированного пользователя, имеющего доступ в административный раздел.

      При изучении интерфейса системы необходимо понимать, что существуют два вида настроек: пользовательские и административные.

      Примечание: Дополнительную информацию по настройке интерфейса форм смотрите в следующих уроках:


      Пользовательские настройки

      Почти на каждой странице административного раздела на контекстной панели расположена кнопка Настроить , по нажатии которой будет вызван диалог Настройка списка:

      Система сохранит произведенные настройки для конкретного пользователя и данный список для этого пользователя будет открываться каждый раз в заданном виде. Пользователь может настроить каждый из списков в административной части "под себя".


      Административные настройки

      Административные настройки

      Административный уровень настроек по умолчанию задается:

      • в общем случае на странице Интерфейс (Настройки > Настройки продукта > Интерфейс);
      • в частном случае для каждой формы в диалоге Настройка списка каждой конкретной формы.

      В свою очередь административные настройки имеют два уровня:

      • первый уровень - это уровень, который идет с поставкой системы (системный уровень настроек по умолчанию);
      • второй уровень - это уровень, который может задать администратор (административный уровень настроек по умолчанию).

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

      Для настройки общего административного уровня настроек по умолчанию откройте страницу Интерфейс (Настройки > Настройки продукта > Интерфейс > Персональные настройки):

      Описание закладки Настройки

      Ссылки на закладке Удаление позволяют:

      Удаление настроек интерфейса

      • Очистить все собственные настройки интерфейса - удалить все собственные (то есть установленные со снятой опцией Установить данные настройки по умолчанию для всех пользователей) настройки и установить заново все настройки административного уровня "по умолчанию";
      • Очистить все настройки по умолчанию - установить все настройки на системном уровне по умолчанию;
      • Очистить персональные настройки всех пользователей - установить все настройки на административном уровне по умолчанию.

      Поведение мыши по умолчанию

      По умолчанию, пользовательский интерфейс системы реализует следующие операции в ответ на действия, совершаемые при помощи мыши:

      • левый клик на кнопке меню действий или правый клик на строке таблицы отчета - вывод меню действий:

        или
      • Ctrl + правая кнопка - выводит стандартное меню браузера.
      • двойной клик на строке таблицы отчета - открывает сущность, отображаемую в строке, для редактирования;
      • Shift + двойной клик на строке таблицы отчета - открывает сущность для редактирования в новом окне.

      Добавление пункта меню в административный раздел

      Есть два варианта:

      1. Дополнительные пункты меню могут быть созданы через раздел управления Избранное (Настройки > Избранное). В данном разделе можно указать название пунктов меню и ссылки на нужные страницы.

        Добавление пункта меню "Избранное"

        Добавленные страницы будут доступны через отдельные пункты меню в разделе Избранное в публичной части сайта:

        Меню "Избранное" в публичном разделе

        Избранное в Административном разделе в Эрмитаже v.9.5
      2. Административное меню может также управляться пользователем, как и меню в публичном разделе. Т.е. к стандартным пунктам меню для каждого модуля могут быть добавлены свои пункты и целые разделы меню.

        Чтобы создать свои пункты и разделы в административном меню, нужно выполнить следующие действия:

        • Через интерфейс управления структурой сайта перейти в папку /bitrix/admin/ (Контент > Структура сайта > Файлы и папки > bitrix > admin).
        • С помощью меню Добавить создайте меню типа [left] Левое меню.
        • В новом меню ввести название раздела и необходимые пункты меню:
          • Создание раздела меню

            Для создания раздела меню нужно перейти в расширенный режим и ввести название пункта и в поле Параметры ввести новые параметры:

            SEPARATOR = Y
            SECTION_ID = <код>
            SORT = 1000

            где:

            • SEPARATOR указывает, что этот пункт должен быть оформлен как раздел;
            • SECTION_ID определяет символьный код своего раздела меню, например "my_menu";
            • SORT это глобальный индекс сортировки для показа данного пункта в общем меню;
            Пример:

          • Создание пункта меню

            Для создания обычного пункта меню нужно задать его название, ссылку, а также указать в поле Параметры мнемоническое имя того раздела меню, где будет показан пункт. Например:

            SECTION_ID = catalog

            Если надо вставить пункт в свой подраздел, поле SECTION_ID не указывается.
            Сортировка пунктов внутри подраздела будет выполняться в соответствии со значениями индекса сортировки для каждого пункта.

            Пример:

            Примечание: Подробную информацию про меню можно посмотреть на странице документации для разработчиков Административное меню.

      Языки интерфейса

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

      Примечание: Русский, английский и немецкие языки не ставятся через систему обновлений. Для использования их в административной части необходимо установить соответствующие дистрибутивы.

      Так выглядит Административный интерфейс на русском языке

      Так выглядит Административный интерфейс на английском языке

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

      Языки административного интерфейса также используются для определения, на каком языке будут выводиться текстовые сообщения визуальных компонентов, а также служебные сообщения системы в публичном разделе каждого сайта (т.е. для определения основного языка сайта). Язык указывается для каждого сайта на странице настроек (Настройки > Настройки продукта > Сайты > Список сайтов):

      Параметры

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

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

      Выбор языка на административной панели интерфейса в Эрмитаже v.9.5

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


      Управление языками и Региональные настройки

      Bitrix Framework позволяет создавать сайты с использованием разных языков в интерфейсе и с учётом разных культурных традиций. Штатно в дистрибутиве используются два языка: русский и английский. Остальные языки добавляются по мере необходимости (требуется активная лицензия на сайт).

    • Языки
    • Региональные настройки
    • Языки

      Управление языками интерфейса системы выполняется на странице Языки интерфейса (Настройки > Настройки продукта > Языковые параметры > Языки интерфейса). В списке отображены языки доступные для выбора как язык административного интерфейса. На выбранном языке будут отображаться системные сообщения: информационные сообщения, сообщения об ошибках, заголовки таблиц, надписи на кнопках управления и т.д.

      Пример добавления языка в систему

      Рассмотрим добавления в систему нового языка на примере испанского (для Латинской Америки) языка. Для этого:

      1. Создадим учетную запись языка (кнопка [dw]Добавить язык[/dw][di][/di] на контекстной панели страницы Языки интерфейса).

        Добавление языка

        Значения полей ясны из названий, если возникло непонимание, обратитесь к пользовательской документации. Одно обязательное пояснение:

        ID - символьный идентификатор языка используется для загрузки соответствующих языковых файлов, поэтому он должен совпадать с идентификатором языка в системе обновлений. Например, языковые файлы для испанского (для Латинской Америки) языка доступны на сервере обновлений с идентификатором la. Поэтому при создании испанского языка используйте в поле IDla. Список идентификаторов языков приведен в документации для разработчиков.

      2. После сохранения запись нового языка будет добавлена в общий список на странице [dw]Языки интерфейса[/dw][di]Список языков[/di].
      3. Также в кнопке для переключения языков на административной панели появится выбор добавленного языка:

      4. Далее выполните [dw]загрузку языковых файлов[/dw][di] Загрузка производится через штатную систему обновлений.
        Подробнее...[/di] для созданного языка.

      Региональные настройки

      Региональная настройка - набор параметров, которые имеют разные значения в зависимости от культурных особенностей той или иной местности. Например: формат даты и времени, формат имени, первый день недели и другие.

      Создание региональных настроек выполняется на странице Региональные настройки (Настройки > Настройки продукта > Языковые параметры > Региональные настройки).

      Значения полей описаны в документации. После создания региональной настройки её используют при создании языка интерфейса и при [dw]создании сайта[/dw][di]В форме создания сайта есть поле выбора Региональных настроек.
      Подробнее...[/di].

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

      Внимание! Установка Формата даты и Формата даты и времени должна соответствовать параметрам даты и времени, используемым в настройке компонентов и при кастомизации. При несовпадении форматов данные будут отображаться с ошибками.

      Кодировка языка также определяет кодировку вводимого контента (содержимого) модулей. Например, для русского языка используется кодировка Windows-1251. Иногда используют упрощенное написание: win-1251. Это недопустимо, так как возможно некорректное отображение текста сайта.

      Примечание: Если в системе используется кодировка UTF-8, то используемые в системе языки также представляются в кодировке UTF-8.

      Документация по теме:


      Загрузка языковых файлов

      Многоязычный интерфейс административного раздела реализуется за счет использования языковых файлов. Загрузка и обновление языковых файлов для новых и/или уже используемых в системе языков выполняется через Систему обновлений (Marketplace > Обновления платформы):

      Страница "Cистема обновлений"

      При переходе на закладку Список обновлений будет отображено:

      • список обновлений языковых файлов для уже используемых языков (секция Рекомендуемые обновления таблицы);
      • список языковых файлов для неустановленных в системе языков (секция Опциональные обновления таблицы). Данные языковые файлы также могут быть загружены и сохранены в системе. При создании учетных записей для соответствующих языков эти файлы будут установлены автоматически.

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

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

      Внимание! Русский, английский и немецкий языки загрузить нельзя. Для их использования надо выбирать соответствующие дистрибутивы продукта.


      Пример загрузки языковых файлов

      Рассмотрим пример загрузки языковых файлов для, например, испанского языка. Для этого:

      1. Создайте в системе испанский язык.
      2. Перейдите на страницу Система обновлений (Marketplace > Обновления платформы).
      3. На закладке Список обновлений открывшейся странице отметьте языковые файлы для испанского языка, которые будут загружены в систему:

        Нажмите на рисунок, чтобы увеличить

      4. Для загрузки выбранных файлов служит кнопка Установить обновления.

      Управление языковыми сообщениями

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

      Перевод языковых файлов может быть выполнен следующими способами:

      • вручную, путем редактирования соответствующих файлов;
      • с помощью модуля Перевод.

      Модуль Перевод предоставляет удобный интерфейс для поиска и перевода языковых сообщений и позволяет:

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

      Для того чтобы просмотреть распределения языковых сообщений по файлам, нужно перейти на страницу Перевод языковых файлов (Настройки > Локализация > Просмотр файлов):

      Страница "Перевод языковых файлов"

      Для отображения количества непереведенных фраз необходимо нажать на кнопку Показать различия:

      Страница "Перевод языковых файлов"

      Примечание: Если в настройках модуля Перевод отмечена опция Автоматически считать разницу в языковых файлах, то при переходе на страницу Перевод языковых файлов количество непереведенных фраз будет отображаться автоматически. Но на больших проектах включать эту опцию не рекомендуется, лучше считать разницу в файлах поэтапно, по каждой папке. В противном случае может быть получена ошибка 504 Gateway Timeout, свидетельствующая о превышении времени ожидания ответа от сервера.

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

      Страница "Перевод языковых файлов"

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

      Перейти к форме выполнения перевода языковых сообщений можно также непосредственно со страницы, на которой эти сообщения используются (как в публичной, так и административной части сайта). Для этого в адресную строку браузера нужно добавить параметр show_lang_files=Y. В результате внизу страницы будет отображен список языковых файлов, сообщения которых используются на данной странице:

      Список языковых файлов

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

      Например, найдем языковое сообщение Авторизация, используемое в форме авторизации. Для этого введем фразу Авторизация в поле для поиска и нажмем кнопку OK:

       

      В результате будет получен список файлов, содержащих искомую фразу:

      Ссылка с текстом фразы позволяет перейти непосредственно к редактированию текста сообщения.

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


      Примечание: Подробнее о реализации механизма локализации, загрузке и выгрузке файлов локализации см. курс Разработчик Bitrix Framework.


      Настройка вида страницы ошибки 404

      При запросе пользователем страницы, отсутствующей на сервере, последний автоматически генерирует страницу с надписью, подобной этой:

      Причин появления такой страницы может быть несколько:

      • некорректная ссылка на сайте;
      • неправильно введенный пользователем адрес;
      • документ, на который ведет ссылка, был удален.

      Можно сделать так, чтобы в таких случаях пользователь видел не техническую страницу, а заранее вами заготовленную. Для этого в корневом разделе сайта (Контент > Структура сайта > Файлы и папки) найдите файл 404.php и в его меню действий выберите Редактировать как php. Внесите необходимые изменения в его содержимое (в примере ниже удалён компонент Карта сайта и добавлен текст) и сохраните их, после чего, в случае ошибки 404, будет показываться созданная вами страница:


      Примечание: в данном файле не рекомендуется размещать слишком тяжелый код. К тому же, заменять его на 404.html нельзя, потому что данный файл участвует в работе ЧПУ.


      Работа с инструментами

      Для того, чтобы вы могли проверить ваш сайт на соответствие техническим требованиям «1С-Битрикс: Управление сайтом» в административном меню имеется набор специальных инструментов. Они служат для обнаружения проблем в работе сайта и помогают избежать появления ошибок в дальнейшем.

      В этой главе содержится описание возможностей данных инструментов и способов их использования.

      instrum.png

      Документация по теме:


      Проверка системы

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

      Форма расположена на странице Проверка системы (Настройки > Инструменты > Проверка системы).

      Примечание:
      1. Не осуществляется проверка структуры базы для Oracle и MS SQL.
      2. Проверка не осуществляется в модулях, в которых присутствует точка в имени: в модулях Marketplace.
      3. Тест ничего не знает об архитектуре сети и он пытается протестировать систему на основе той информации, что есть. Соответственно, при проверке на локальной установке могут возникать ошибки, связанные с необходимостью внешнего сканирования, например, ошибка сокетов.

      Закладка Тестирование конфигурации

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

      Каждый тест сопровождается подробной информацией, которую можно прочитать по кнопке в строке теста. Откроется окно с комментариями:

      Здесь же есть ссылка на Журнал проверки системы. С помощью журнала можно понять причину ошибки.

      Примечание: Файлы журналов проверки не хранятся. Доступен всегда только файл последней проверки.

      Закладка Проверка доступа

      Здесь выполняется проверка доступности дисков физической системы не только на чтение, но и на запись. Это необходимо для управления структурой сайта, загрузки файлов, а также для работы системы обновлений, которая обновляет ядро сайта до последней версии. Проверку можно осуществлять по трем критериям:

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

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


      Закладка Техподдержка

      С помощью этой мини-формы можно быстро и оперативно связаться со службой технической поддержки компании "1С-Битрикс". Для этого нужно заполнить требуемые поля формы, подробно описав суть проблемы.

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


      Другие возможности проверки системы

      • Проверка сайта без авторизации
      • Инструмент представляет возможность протестировать конфигурацию даже если не работает авторизация или сайт не открывается из за нарушения сжатия (на экране отображаются крякозябры). Для этого достаточно создать пустой файл site_checker_debug в папке /bitrix. После этого откройте страницу http://you_site.ru/bitrix/admin/site_checker.php

        Внимание! После решения проблемы обязательно удалите файл site_checker_debug и убедитесь, что проверка сайта без авторизации не доступна. Если открыть проверку сайта с авторизацией - файл site_checker_debug удаляется автоматически.

      • Исправление ошибок базы данных
      • Выполняется, если при тестировании конфигурации в структуре базы данных будут найдены ошибки:

        BD_ispr.png

        За первоисточник берётся кодировка соединения с базой. В большинстве случаев она правильная, т.к. в иначе вся информация на сайте просто будет нечитаема.

        Кодировка базы - это важный параметр, но не влияющий непосредственно на отображение данных. Новые таблицы (после обновления или переустановки модулей) будут создаваться в этой кодировке. Т.е. проблемы появляются в будущем.

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


      Настройки PHP

      Страница Настройки PHP (Настройки > Инструменты > Диагностика > Настройки PHP) служит для отображения информации о текущих настройках PHP. Для получения информации используется функция phpinfo().

      Настройки PHP

      SQL запрос и Командная PHP строка

      SQL запрос

      Форма SQL запрос (Настройки > Инструменты > SQL запрос) предназначена для выполнения SQL запросов к базе данных. Возможно выполнение любых запросов на языке SQL.

      Важно! Система не устанавливает никаких ограничений на SQL запросы, поэтому будьте крайне внимательны при выполнении запросов типа UPDATE, DELETE, DROP и т.п.

      Командная PHP-строка

      Форма Командная PHP-строка (Настройки > Инструменты > Командная PHP-строка) предназначена для исполнения некоторого кода, вызывающего функции API Битрикса без создания новых страниц на сайте. Доступно несколько закладок для выполнения разного кода одновременно.


      Проверка и оптимизация БД

      Проверка БД

      На странице Проверка / восстановление таблиц (Настройки > Инструменты > Диагностика > Проверка БД) вы можете проверить и восстановить таблицы базы данных. Использование скрипта проверки и восстановления базы данных позволит оперативно восстановить работу сайта.

      Внимание! Восстановление таблиц работает только для базы данных MySQL и таблиц типа MyISAM.

      Внимание! Не открывайте эту страницу одновременно в нескольких копиях - это может повредить вашу базу данных. Операция может занять длительное время, если размер базы данных велик!

      Отчет о проверке базы банных

      Примечание: В случае если повреждены таблицы статистики и нет возможности перейти в административный раздел, сбор статистики может быть временно отключен с помощью параметра ?no_keep_statistic_LICENSE-KEY=Y. В параметре указывается лицензионный ключ сайта.

      Существует возможность использования скрипта проверки и восстановления базы данных без перехода в административный раздел.

      Для этого при обращении к странице восстановления необходимо указать два параметра: имя (login) и пароль (password) на доступ к базе данных. Например: http://www.mysite.ru/bitrix/admin/repair_db.php?login=DB_Login& password=DB_Password.

      По умолчанию значения данных параметров хранятся в файле /bitrix/php_interface/dbconn.php.

      Иногда возникает ситуация, когда сайт перестает отвечать и посетителям отображается пустая страница. В этом случае рекомендуется открыть файл /bitrix/php_interface/dbconn.php, содержащий параметры соединения с базой данных, и установить значение параметра $DBDebug = true;

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

      Оптимизация

      На странице Оптимизация БД (Настройки > Инструменты > Диагностика > Оптимизация БД) вы можете оптимизировать и проанализировать таблицы базы данных. Это повысит эффективность обработки запросов сервером базы данных.

      Внимание! Не открывайте эту страницу одновременно в нескольких копиях - это может повредить вашу базу данных. Операция может занять длительное время. Желательно выполнять ее при наименьшей нагрузке на сайт.

      Журнал событий

      На странице Журнал событий (Настройки > Инструменты > Журнал событий) вы можете просмотреть события сайта.

      Примечание: Детальное описание значений полей журнала событий смотрите на странице пользовательской документации.

      События, которые будут записываться в журнал, можно определить:

      • в настройках главного модуля на закладке Журнал событий (Настройки > Настройки продукта > Настройки модулей > Главный модуль),
      • в настройках модуля Инфоблоки (Настройки > Настройки продукта > Настройки модулей > Информационные блоки),
      • в настройках модуля Форум (Настройки > Настройки продукта > Настройки модулей > Форум),
      • в настройках модуля Облачные хранилища (Настройки > Настройки продукта > Настройки модулей > Облачные хранилища),
      • в настройках модуля Управление структурой (Настройки > Настройки продукта > Настройки модулей > Управление структурой),
      • в настройках Информационного блока (Контент > Инфоблоки > Типы инфоблоков > конкретный инфоблок),

      Примечание: Ряд модулей, например Контроллер, Проактивная защита, Техподдержка и другие ведут собственные журналы.

    Документация по теме:


    Прочие настройки

    В главе приведено описание настроек функционала, не попавшего по классификации в другие разделы.

    Настройки кеширования

    Система Bitrix Framework включают в себя разные технологии кеширования:
  • Кеширование компонентов
  • Неуправляемое кеширование
  • Управляемое кеширование
  • HTML кеш
  • Кеширование меню
  • Примечание: Отдельным видом кеширования является Композитный сайт. Эта технология описана в отдельном курсе

    Основные настройки кеширования расположены на странице Настройки кеширования (Настройки > Настройки продукта > Автокеширование).

    Настройки кеширования компонентов задаются отдельно для каждого в диалоге Параметры компонента.

    Диалог "Параметры компонента"

    Примечание: Подсказка, расположенная ниже настроек времени кеширования в параметрах компонента отображает состояние текущих настроек ядра. Ссылка Изменить настройки кеширования позволяет перейти на страницу Настройки кеширования в административном разделе сайта.

    Документация по теме:


    Кеширование компонентов и меню

    Автокеширование (кеширование компонентов)

    Использование технологии Автокеширования позволяет быстро подготовить сайт и компоненты проекта к работе в условиях стрессовых нагрузок или адаптировать сайт к работе.

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

    Внимание! При использовании режима Автокеширования, обновление информации, выводимой компонентами, происходит в соответствии с параметрами отдельных компонентов.

    Управление автокешированием располагается на закладке Кеширование компонентов:

    Закладка "Кеширование компонентов"

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

    Примечание: При включении режима автокеширования компонентов, компоненты с настройкой кеширования Авто + Управляемое будут переведены в режим работы с кешированием.

    Чтобы обновить содержимое закешированных объектов на странице, вы можете:

    1. Перейти на нужную страницу и обновить ее содержимое, используя кнопку Сбросить кеш на панели инструментов:

      Кнопка "Сбросить кеш"

      Примечание: Когда сбрасываете кеш кнопкой Обновить кеш страницы, имейте в виду, что компонент может использовать привязку к группам для хранения кеша (опция Учитывать права доступа) и тогда кеш сбросится только у тех пользователей, которые входят в те же группы, что и вы. Это касается и администратора сайта.

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

      Пример: Незарегистрированные пользователи будут по-прежнему видеть не актуальную страницу после нажатия кнопки Обновить кеш страницы при установленной опции Учитывать права доступа.

      Пункт меню Обновить кеш компонентов кнопки Сбросить кеш заставляет все компоненты, расположенные на странице, сбросить свой кеш. Кнопка (пункт) Обновить кеш страницы сбрасывает кеш всей страницы.

    2. В режиме Правки сайта использовать кнопки для очистки кеша в панели отдельных компонентов.

      Очистка кеша отдельных компонентов

    3. Использовать автоматический сброс кеша по истечении времени кеширования, для чего в настройках компонента выбрать режим кеширования Кешировать или Авто + Управляемое.
    4. Использовать автоматический сброс кеша при изменении данных, для чего в настройках компонента выбрать режим кеширования Авто + Управляемое.
    5. Перейти к настройкам выбранных компонентов и перевести их в режим работы без кеширования. (Значение Не кешировать в поле Тип кеширования)
    Резюме:

    В зависимости от настроек кеширования компоненты ведут себя по-разному:

    • При выборе опции Авто + Управляемое - автоматически обновляют кеш в течение заданного времени или при изменении данных.
    • Если выбрана опция Кешировать и время кеширования больше нуля, то они всегда работают в режиме кеширования.
    • Если выбрана опция Не кешировать и время кеширования равно нулю, то компоненты всегда работают без кеширования.

    Кеширование меню

    Для кеширования меню применяется специальный алгоритм, который учитывает тот факт, что большая часть посетителей - это незарегистрированные пользователи. Кеш меню управляемый и обновляется при редактировании меню или изменении прав доступа к файлам и папкам через административный интерфейс и API. Обычные пользователи вообще не заметят, что существует какой-то алгоритм кеширования.

    Примечание: Если производить правку меню вручную, то также потребуется скинуть вручную и кеш меню.

    Управляемое и неуправляемое кеширование

    Управляемое кеширование

    Технология управляемого кеширования или тегированный кеш (Сache Dependencies) автоматически обновляет кеш компонентов при изменении данных. Если управляемое кеширование включено, вам не потребуется вручную обновлять кеш компонентов, например, при изменении новостей или товаров, изменения сразу станут видны посетителям сайта. Управляемый кеш хранится в файлах каталога /bitrix/managed_cache/.

    Это сильно упрощает работу контент-менеджера и ускоряет работу сайта за счет того, что измененный редактором контент уже отдается из кеша.

    Внимание! Не все компоненты могут поддерживать управляемое кеширование.

    Включение управляемого кеширования производится на закладке Управляемый кеш.

    Примечание: Технология Сache Dependencies, как и весь продукт, может хранить кеш как в файлах, так и используя Memcached, APC, eAccelerator (eAccelerator не совместим с PHP v5.3+ и больше не поддерживается в продуктах «1C-Битрикс» с версии ядра 15.0.13. Подробнее см. в блоге разработчиков). Для этого достаточно изменить один из конфигурационных параметров.

    Для часто обновляемого большого массива данных использование тегированного кеша неоправданно.

    Неуправляемое кеширование

    Фактически это возможность задать правила кеширования ресурсоемких частей страниц. Результаты кеширования сохраняются в виде файлов в каталоге /bitrix/cache/. Если время кеширования не истекло, то вместо ресурсоемкого кода будет подключен предварительно созданный файл кеша. Кеширование называется неуправляемым, поскольку кеш не перестраивается автоматически после модификации исходных данных, а действует указанное время после создания, которое задается в диалоге Параметры компонента.

    Настройки неуправляемоего кеширования в диалоге "Параметры компонента"


    HTML кеш

    Внимание! С версии 16.0.14 главного модуля данный вид кеширования устарел и заменён технологией Композитный сайт. При использовании редакции Первый сайт необходимо очистить кеш компонентов.
    С версии 18.0.5 Композитный сайт недоступен для "Битиркс24 в коробке".

    HTML кеш

    Примечание: HTML кеширование не поддерживается на многосайтовости на разных доменах.

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

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

    Ограничения в использовании: Не рекомендуется включать HTML кеш (или включать обдуманно, по разделам) для проектов, которые используют Веб-аналитику и модуль Рекламы.

    При включенном HTML-кешировании происходят следующие процессы:

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

    Очистка кеша происходит:

    • Автоматически, если сохраняемый объем приводит к превышению дисковой квоты кеша.
    • При любом изменении данных в административной части системы происходит полная очистка кеша.
    • Если в публичной части сайта происходит POST данных (например, добавление комментария или голосование). В этом случае сбрасывается соответствующая часть кеша.

    Для неавторизованных пользователей происходит удаление сессии при переходе на закешированные страницы. В результате этого:

    • Не ведется учет статистики.
    • Модуль Реклама будет работать только в момент создания кеша. (Это не относится к внешней динамической рекламе (Begun и пр.).)
    • Для неавторизованных пользователей результаты сравнения товаров не будут сохранены.

    Рекомендуется обязательно задать дисковую квоту в настройках HTML-кеширования во избежание DOS-атаки по дисковому пространству.

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

    Управление HTML-кешированием

    Управление HTML кешем располагается на закладке HTML кеш:

    Закладка "HTML кеш"

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

    Для сохранения настроек используется кнопка Сохранить настройки HTML кеша.

    Для установки значений параметров равными значениям по умолчанию используется кнопка Установить настройки по умолчанию.

    Примечание: Файлы настроек и сами файлы кеша хранятся в папке /bitrix/html_pages/. Удаление этой папки и её содержимого не приведёт к сбою в работе системы, просто сбросятся настройки и сбросится сам кеш.

    Почему может не работать HTML кеш?

    Суть работы HTML кеша заключается в том, что он работает только для пользователя "впервые" зашедшего на сайт, у которого нет ID сессии. То есть например, если администратор вышел из системы, то HTML кеш работать не будет. Следовательно, если на странице есть функционал, который не может работать без старта сессии, то на таких страницах не будет работать этот вид кеширования. Пример такого функционала - CAPTCHA.

    Примечание: если компонент CAPTCHA размещён в шаблоне сайта, то кеширование не будет работать для всего сайта.

    Проверить работает или нет HTML-кеширование на какой-то конкретной странице можно добавив в URL страницы параметр ?show_page_exec_time=Y. Если внизу страницы появится надпись типа Время создания страницы: 0.****сек., то значит кеширование не работает. (Рекомендуется делать это в режиме инкогнито.)


    Очистка файлов кеша

    Очистка файлов кеша

    Закладка Очистка файлов кеша (Настройки > Настройки продукта > Автокеширование) используется для удаления файлов кеша, содержащих устаревшую или сбойную информацию:

    Закладка "Очистка файлов кеша"

    • Только устаревшие - Файлы, время жизни которых закончилось;
    • Все - Все файлы кеша;
    • Меню - Меню может быть закешировано, если происходят проверки доступа к различным пунктам меню, разделам. Данный пункт позволяет очистить этот кеш;
    • Весь управляемый - Все файлы раздела /bitrix/managed_cache/;
    • Все страницы HTML кеша - Удаление страниц HTML кеша.

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

    Если растет папка /bitrix/cache/

    В данной папке находятся файлы не управляемого кэша.

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

    При назначении прав на файлы и папки используются значения констант BX_FILE_PERMISSIONS и BX_DIR_PERMISSIONS из /bitrix/php_interface/dbconn.php, но часто срабатывает маска прав на сервере и чтобы избежать этого необходимо прописать в этом же скрипте:

    umask(000);
    @umask(~BX_DIR_PERMISSIONS);

    Смайлы

    Раздел Смайлы (Сервисы > Смайлы) - системный раздел для смайлов, используемых модулями системы.

    Примечание: На данный момент переход на системные смайлы главного модуля совершён не полностью. Часть модулей использует собственные наборы смайлов, детальнее об этом смотрите в описании соответствующих модулей.

    Для работы со смайлами используются понятия Галереи смайлов и Набор смайлов. Число Галерей и Наборов не ограничено. Каждая из Галерей может быть использована в любом из модулей. Выбор осуществляется в настройках модуля. Настройки Главного модуля являются настройками по умолчанию для остальных модулей:


    В дистрибутиве по умолчанию присутствует Стандартная галерея с Основным набором. Они неудаляемы, но при необходимости можно удалить из них все смайлы. Однако при обновлении системы смайлы восстановятся, а добавленные - затрутся. Поэтому рекомендуется создавать пользовательские галереи.

    Каждая Галерея может содержать в себе несколько наборов. Пользователь может использовать любой из имеющихся наборов, переключившись на нужный:

    Один и тот же смайл может быть использован только в одной галерее.

    Примечание: "Смайлом" для системы является не конкретная картинка или ID, а её написание. Соответственно, вы не можете использовать одно и то же написание в разных наборах в рамках одной галереи, для этого вам понадобится создать отдельную галерею.

    Создание галереи

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

    Создание набора

    Для создания набора достаточно заполнить поля формы с указанием Галереи к которой они относятся и произвести импорт архива смайлов.

    Для импорта необходимо заранее подготовить архив в формате ZIP. В простейшем виде архив может представлять из себя набор картинок, лежаших в корне архива. Но при использовании архива в таком виде импорт будет произведен по списку файлов с использованием меток в названии файла (если они есть). Варианты меток: "smile_" - смайл, "icon_" - иконка, "_hr" - высокое разрешение (применяется так же и для сверхвысокого разрешения Ultra HD).

    Например, при импорте в набор с кодом test файла smile_green_hr.png будет интерпретирован как "Смайл в высоком разрешении", а код вставки в редактор будет :test/green:.

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

    Чтобы избежать этого в архиве необходимо предусмотреть служебные файлы в формате csv. (В системе есть пример архива, который расположен по пути: /bitrix/admin/fileman_admin.php?lang=ru&path=/bitrix/modules/main/install/smiles)

    Служебных файлов должно быть как минимум два:

    • install.csv - данные для загрузки;
    • install_lang_**.csv - языковой файл, где ** - код языка, например, ru для русского.

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

    Поля в файлах в старом формате (до 15.5.2)

    Поля в файлах в текущем формате

    Так же доступно ручное добавление смайлов, в ходе которого его необходимо привязать к тому или иному набору. При ручной загрузке невозможно загрузить смайл в разрешении Ultra HD.

    Документация по теме:


    Сжатие css и js файлов

    Одним из способов повышения производительности является использование штатной функции объединения и сжатия css и js файлов, которое включается в настройках главного модуля (Настройки > Настройки продукта > Настройки модулей > Настройки главного модуля, раздел Оптимизация CSS) :

    При включении этой опции в идеальном случае на странице подключается 3 css и 3 js файла:

    1. /bitrix/cache/css/SITE_ID/TEMPLATE_NAME/kernel/styles.css - содержит css файлы ядра (файлы подключаемые из /bitrix/js). Данный набор css уникален для шаблона сайта. И накапливает в себе все нужные файлы по мере открытия разных страниц. Соответственно после "прогрева" кеша на сервере, на стороне клиента для всех страниц сайта загружается один раз.

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

    2. /bitrix/cache/css/SITE_ID/TEMPLATE_NAME/template_MD5(список файлов)/styles_MD5(от меток времени файлов).css. Этот набор содержит css файлы относящиеся к шаблону, в том числе файлы стилей подключенные в header.php и footer.php. Массив стилей формируется путем анализа файлов подключенных до рабочей области и после нее. Данный набор стилей в рамках шаблона сайта не уникален и может быть несколько вариантов. В идеале один или два.
    3. /bitrix/cache/css/SITE_ID/TEMPLATE_NAME/page_MD5(список файлов)/styles_MD5(от меток времени файлов).css . Этот набор содержит css файлы относящиеся к рабочей области и не уникален для шаблона сайта. То есть наборы для страниц формируются исключительно из наборов стилей в них участвующих, что снижает их вариативность. К тому же это самые маленькие по размеру наборы.

    Для js файлов действует полностью аналогичный алгоритм.

    Примечание: Слияние и сжатие файлов косвенно влияет на результаты выдачи в поисковых машинах. Файлы css и js влияют на время загрузки страницы поисковиком, что в свою очередь влияет на индексацию и ранжирование этой страницы. Это касается как Google так и Яндекса: поисковый робот полностью выгружает страницу вместе со всеми скриптами и стилями, замеряет время загрузки и сравнивает со средним временем загрузки страниц в соответствующей тематике.

    Включение опции Подключать минифицированные версии CSS и JS файлов позволяет уменьшить размеров файлов css, js и html. В процессе сжатия все комментарии к коду, переносы строк, лишние табы и пробельные символы удаляются. Это позволяет сэкономить от 10 до 20% от оригинального размера файла.

    Опция Создавать сжатую копию объединенных CSS и JS файлов позволяет экономить ресурсы сервера. При её использовании создается сжатый файл, для того чтобы NGNIX не сжимал файл js и css "на лету", а брал уже готовый файл.


    Агенты

    Агенты - это [dw]технология[/dw][di]О технологии агентов в курсе Разработчик Bitrix Framework...[/di], позволяющая запускать произвольные PHP функции (агенты) с заданной периодичностью. В самом начале загрузки каждой страницы система автоматически проверяет, есть ли агент, который нуждается в запуске и в случае необходимости - исполняет его.

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

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

    Список используемых в системе агентов приводится на странице Список агентов (Настройки > Настройки продукта > Агенты):

    Для создания нового агента служит кнопка Добавить агента, расположенная на контекстной панели.

    Примечание: Подробное описание полей формы смотрите на странице пользовательской документации.

    Документация по теме:



    CAPTCHA

    CAPTCHA (от англ. "Completely Automated Public Turing test to tell Computers and Humans Apart" - "полностью автоматизированный публичный тест Тьюринга для различия компьютеров и людей") - компьютерный тест, используемый для того, чтобы определить, кем является пользователь системы: человеком или компьютером. Основная идея теста: предложить пользователю такую задачу, которую с лёгкостью может решить человек, но которую несоизмеримо сложнее решить компьютеру. В основном это задачи на распознавание символов.


    Внимание! Для работы CAPTCHA на сервере должна быть установлена библиотека FreeType library и Библиотека GD (функции imagecreatetruecolor и imagejpeg). Проверить их наличие можно на странице Проверка системы.

    Настройка CAPTCHA

    Форма Настройка CAPTCHA (Настройки > Настройки продукта > CAPTCHA) предназначена для настройки защиты от автоматических регистраций.

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

    Примечание: Подробное описание полей формы смотрите на странице пользовательской документации CAPTCHA.

    CAPTCHA необходимо настраивать так, чтобы исключить, по возможности, автоматическое распознавание. Рекомендуемые параметры:

    • Прозрачность текста в процентах - 40-50%,
    • угол отклонения от вертикали - от -30 до 30,
    • добавить нелинейные искажения,
    • шрифт лучше поменять на bitrix_captcha.ttf или какой-то другой не очень распространенный.

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

    Ниже даны примеры CAPTCHA, затрудняющие автоматическое распознавание:


    Примечание: Возможна установка пользовательских шрифтов в папку /bitrix/modules/main/fonts/. Поддерживаются файлы шрифтов в формате *.ttf. Некоторые шрифты могут отображаться некорректно!

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

  • Подключение CAPTCHA в настройках модуля
  • Подключение CAPTCHA в параметрах компонента
  • Подключение CAPTCHA в форме редактирования
  • Подключение CAPTCHA в своих скриптах, модулях или компонентах
  • Подключение CAPTCHA в настройках модуля

    Для таких модулей, как Блоги, Wiki и.т.д., CAPTCHA подключается прямо в настройках модуля.

    Рассмотрим пример использования CAPTCHA в настройках Главного модуля:

    Настройки главного модуля

    Опция Использовать CAPTCHA при регистрации позволяет включить использование CAPTCHA при регистрации новых пользователей.

    Подключение CAPTCHA в параметрах компонента

    CAPTCHA возможно подключить и для отдельных компонентов, например, Добавление элементов инфоблока (комплексный компонент), Каталог (комплексный компонент) и.т.д.

    Рассмотрим пример использования CAPTCHA в компоненте Форма обратной связи:

    Параметры компонента "Форма обратной связи"

    Опция Использовать защиту от автоматических сообщений (CAPTCHA) для неавторизованных пользователей позволяет включить CAPTCHA только для данного компонента.

    Примечание: Обычно настройки CAPTCHA в параметрах компонента используются для неавторизированных пользователей.

    Подключение CAPTCHA в форме редактирования

    В некоторых случаях использование CAPTCHA задается в форме создания/редактирования, например, Создание и редактирование блога, Создание и редактирование форума и.т.д.

    Рассмотрим пример использования CAPTCHA в политике безопасности группы пользователей:

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

    Внимание! Если в шаблоне компонента не предусмотрен вывод CAPTCHA, то возможна ситуация, когда система (при малом значении в поле Количество попыток ввода пароля до показа CAPTCHA) как бы "забывает" пароль пользователя не давая ему авторизоваться в системе. При этом при входе в административную часть (ваш_сайт/bitrix/admin/) авторизация осуществляется.

    Это происходит потому, что при последовательном неправильном наборе пары логин/пароль и при малом значении в поле Количество попыток ввода пароля до показа CAPTCHA) система ждёт ввода верного кода CAPTCHA. А пользователь этого не делает, так как шаблон не предусматривает вывод CAPTCHA.

    Подключение CAPTCHA в своих скриптах, модулях или компонентах

    Документация по теме:


    ЧПУ

    Обработка адресов (UrlRewrite) применяется для того, чтобы скрипт мог отвечать не только по своему физическому, но и по любому другому указанному адресу. Например, можно задать такие настройки обработки адресов, что скрипт, лежащий в файле /fld/c.php и отвечающий по адресу:

    /fld/c.php?id=15

    будет отвечать также по адресу:

    /catalog/15.php

    Адрес, по которому будет отвечать скрипт, не должен физически существовать на сервере. Если такой адрес физически существует, то будет вызван скрипт по этому адресу. Система обработки адресов запущена в этом случае не будет.

    Механизм переопределения адресов можно использовать для переопределения любых URL, а не только связанных с компонентами.

    При добавлении на страницу компонента с поддержкой ЧПУ (если файл сохраняется с помощью API) автоматически создается правило переопределения адреса. Если страница создается не с помощью API, а, например, записывается через FTP, то необходимо выполнить пересоздание правил (кнопка на панели инструментов на странице управления правилами).

    Управление правилами преобразования адресов производится на странице: Настройки > Настройки продукта > Обработка адресов > Правила обработки. При необходимости можно создавать правила вручную в файле urlrewrite.php в корневой папке сайта.

    Для создания правил необходимо изучить хотя бы основы PCRE (Perl-совместимые регулярные выражения) и ознакомиться со всевозможными примерами разбора url-адресов с помощью масок.

    Особенности работы с правилами

    Система допускает создание нескольких правил для одного файла. Часто бывает лучше написать два-три понятных правила, чем объединить их через ИЛИ и сделать одно громоздкое правило "на все случаи жизни", которое непонятно как потом менять.


    В Bitrix Framework правило с более длинным условием (CONDITION) применяется первым, если условие подходит. Система сортирует все правила по условиям сначала по алфавиту и длине так, чтобы применить правила с более длинными условиями первыми, как более частные. А правила с короткими условиями в следующую очередь, как более общие. Таким образом, правило для элемента ^/news/([0-9a-zA-Z_-]+)/([0-9]+)/.* будет применяться первым (как правило с более длинным условием) и, если условие не подходит, то применится правило для раздела с ^/news/([0-9a-zA-Z_-]+)/.*.

    Примечание: Рекомендуется всегда добавлять .* в конец Условия если оно задано. Это не будет избыточным символом, так как без них правило не будет работать в случае добавления в строку системой дополнительных параметров. Например, при добавленном параметре ?clear_cache=Y.


    Рекомендуется писать правила единообразно, так как из двух правил для раздела и детального просмотра, имеющих условия ^/news/([0-9a-zA-Z_-]+)/.* и ^/news/([\w-]+)/([\d]+)/.* не понятно, какое из правил сработает первым, поскольку длина обоих правил 26 символов и оба начинаются с /news/.

    Если правило для детального просмотра элемента написано ^/news/([\w-]+)/([\d]+)/.* то и правило для просмотра раздела нужно писать аналогично ^/news/([\w-]+)/.* чтобы правила не перемешивались при автоматической сортировке. Или, если писать для просмотра элемента ^/news/([0-9a-zA-Z_-]+)/([0-9]+)/.*, то тогда и для раздела использовать ^/news/([0-9a-zA-Z_-]+)/.*.

    Внимание! Придерживаться единообразия при написании правил внутри раздела важнее, чем стараться сократить количество самих правил за счёт использования ИЛИ в условии и непредсказуемо удлиняя их, сбивая сортировку правил.


    Учтите, что сортировка правил по длине условий производится при изменении их через административную часть (Настройки > Настройки продукта > Обработка адресов > Правила обработки), в том числе и когда добавляется через визуальный редактор компонент с ЧПУ. А при обработке ЧПУ-запроса просто перебирается массив правил из /urlrewrite.php в той последовательности, в которой они там находятся. И поиск длится до первого совпадения. То есть, если вы вручную изменили массив ЧПУ-правил в /urlrewrite.php и разместили запись с условием #^/news/([0-9a-zA-Z_-]+)/.*# выше #^/news/([0-9a-zA-Z_-]+)/([0-9]+)/.*#, то до второго условия дело никогда не дойдет, не смотря на то, что оно длиннее.


    При решения вопроса как лучше формировать ЧПУ элемента в каталоге — по ID или по символьному коду:
    /catalog/poleznye_shtuki/121.html
    или
    /catalog/poleznye_shtuki/ochen-poleznaya-zelenaya-shtuka-s-plazmennym-nabaldashnikom-i-ruchkoi.html
    учтите, что первый вариант понятнее, получение элемента по ID быстрее, чем по символьному коду, его удобнее диктовать и сложнее ошибиться. Но второй вариант гораздо выгоднее с точки зрения SEO.


    Если в адресах используются численные значения ID элемента (/main/news/12/), то возможна ситуация, когда численное значение будет иметь и символьный код раздела. В этом случае правило сработает не правильно. Для детальных страниц лучше бы использовать подобный принцип: /[секции]/элемент.php, тогда и проблем с ЧПУ не будет. Например, лучше использовать условие #^/([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/([0-9]+)\.php.*#, чем условие #^/([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/([0-9]+)/.*#


    При наличии в URL кириллицы могут возникнуть дополнительные проблемы, связанные с тем, что диапазон русских символов не является непрерывным. В этом случае надо использовать вместо логичного для латиницы условия ^/test/([0-9a-zA-Zа-яА-Я_-]+)/.*# такой вариант: #^/test/([0-9a-zA-Zа-пр-яА-ЯёЁ_-]+)/.*#.


    Примерный порядок действий, если правило должно работать, но не работает.

    1. Проверьте правильность создания правила
    2. Проверьте, возможно у вас срабатывает условие, которое находится в urlrewrite.php выше.
    3. Убедитесь, что подключается именно указанный в правиле файл, а не какой-нибудь другой.
    4. Сразу после подключения header.php добавьте для проверки код:
      echo '<pre>'.print_r($_REQUEST, true).'</pre>';
      Заодно увидите что у вас попадает в $_REQUEST.
    5. Если файл открывается правильный и в $_REQUEST порядок, тогда следует проверить параметры компонента и настройки инфоблока (доступ закрыт, деактивирован элемент, действительно нет элемента с данным ID и так далее).

    Документация по теме:


    Тест для проверки проведенной настройки

    • Перейдите на страницу Настройки > Настройки продукта > Обработка адресов > Правила обработки:

    • Выберите пункт Новая запись, нужный сайт и заполните форму следующим образом:
      Условие: #^/sef_test/# 
      Компонент: ничего не указываем 
      Файл: /index.php (нужно указать файл, который фактически будет работать) 
      Правило: ничего не указываем. 

      Сохраните изменения.

    • Перейдите по адресу в разделе /sef_test/.
      Например, http://localhost/sef_test/test.html.

      Если ЧПУ работает, то вы должны увидеть содержимое страницы, указанной в поле Файл в правиле переопределения.

    Примеры правил

  • Нужно, чтобы страница вида:
    /gospel/pericope/?ELEMENT_ID=545&SECTION_ID=208

    откликалась на адрес вида:

    /gospel/pericope/545/208/

    Создайте правило с параметрами:

    • Условие: #^/gospel/pericope/([0-9]+)/([0-9]+)/#
    • Компонент:
    • Файл: /gospel/pericope/index.php
    • Правило: ELEMENT_ID=$1&SECTION_ID=$2

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

    Например, для ЧПУ-пути /some_sef_folder/section_code/, где section_code - символьный код секции. ЧПУ-правило будет:

       array(
          "CONDITION"   =>   "#^/some_sef_folder/([0-9a-zA-Z-]+)/.*#",
          "RULE"   =>   "SECTION_CODE=$1",
          "ID"   =>   "",
          "PATH"   =>   "/real_script_path/index.php",
       ),

    В скрипте /real_script_path/index.php в настройках компонента параметру символьного кода секции нужно указывать $_REQUEST['SECTION_CODE']

    Для ЧПУ-пути /some_sef_folder/section_code/element_id.php, где section_code - символьный код секции, а element_id - целочисленный код элемента. ЧПУ-правило будет:

       array(
          "CONDITION"   =>  "#^/some_sef_folder/([0-9a-zA-Z-]+)/([0-9]+)\.php.*#" ,
          "RULE"   =>  "SECTION_CODE=$1&ELEMENT_ID=$2" ,
          "ID"   =>   "",
          "PATH"   =>  "/real_script_path/index.php" ,
       ),

    В скрипте /real_script_path/index.php компоненту нужно передавать $_REQUEST['SECTION_CODE'] и $_REQUEST['ELEMENT_ID'] соответственно.

    some_sef_folder - ЧПУ-путь, может не существовать реально на сервере.
    real_script_path - путь к реальному скрипту-обработичку на сайте, который будет генерировать результат.


  • Для случаев:
    1. Один из разделов каталога (site.ru/каталог/название_раздела1/) выводить по адресу site.ru/другое_название_раздела1/
    2. Одну из статей (site.ru/статьи/название_статьи1/) выводить по адресу site.ru/другое_название_статьи1/
    3. Один из подразделов (site/раздел/подраздел/) выводить по адресу site.ru/новое_название/
    4. Одну из статей (site.ru/раздел/статьи/название_статьи2/) выводить по адресу site.ru/другое_название_статьи2/

    Подойдёт правило:

    • Условие: /другое_название_раздела1/
    • Компонент:
    • Файл: #^/каталог/название_раздела1/#
    • Правило:

    Пример приведёт для первого случая, остальные варианты аналогичны.


  • Есть правило:
    • Условие: #^/([^/]*)-([^-]*)#
    • Компонент:
    • Файл: /catalog/index.php
    • Правило: PARENT_SECTION_CODE=$1&SECTION_CODE=$2&

    Пути вида: http://site.com/код раздела_код подраздела не обрабатываются этим правилом.

    Причина: знак минус в выражении [^-] воспринимается как служебный, обозначающий диапазон, а служебные символы нужно предварять знаком "\", т.е. писать вместо минуса "\-". Однако этого недостаточно если код подраздела состоит не только из символов, например: "1-xxxx", "2-xxxx".

    Причина в первом квантификаторе в первых круглых скобках, действие которого нужно ограничить знаком "?". Конечное условие: #^/(R.*?)\-(.*)/#


  • Два правила.

    Правило:

    • Условие: #^/cat/([a-z0-9\_]+)/([a-z0-9\_]+)*#
    • Компонент:
    • Файл: /cat/test.php
    • Правило: SECTION_CODE=$1&ELEMENT_ID=$2

    для site.ru/cat/razdel/element/ откроет тоже самое, что и для site.ru/cat/razdel/

    Лучше сделать два правила. (Использование двух правил допускается системой).

    Первое:

    • Условие: #^/cat/([a-z0-9\_]+)/(\d+)/\?(.*)?#
    • Компонент:
    • Файл: /cat/test.php
    • Правило: SECTION_CODE=$1&ELEMENT_ID=$2&$3

    Второе:

    • Условие: #^/cat/([a-z0-9\_]+)/([a-zA-Z]{1}[a-zA-Z0-9]*)/\?(.*)?#
    • Компонент:
    • Файл: /cat/test.php
    • Правило: SECTION_CODE=$1&ELEMENT_CODE=$2&$3

  • Надо сократить урл. Например, вместо http://epic.tm/catalog/men/ выводить http://epic.tm/men/.

    1) Создайте файл /catalog/list.php следующего вида:

    <?
    require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
    $APPLICATION->SetTitle("Показ раздела");
    ?>
    
    <pre><?print_r($_REQUEST);?></pre>
    
    <?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>

    2) Добавьте правило в /urlrewrite.php:

       array(
          "CONDITION"   =>  "#^/([^\\/]+)/($|index\\.php|\\?.*)#" ,
          "RULE"   =>  "SECTION_CODE=$1" ,
          "ID"   =>   "",
          "PATH"   =>  "/catalog/list.php" ,
       ),

    3) Откройте в браузере страницу http://epic.tm/men/. Если у вас показывается страница /catalog/list.php, значит, всё сделано правильно. Разместите на этой странице вызов компонента bitrix:catalog.section и настройте компонент.

    4) Поправьте поле "URL страницы раздела" в настройках соответствующего инфоблока.


  • Как настроить ЧПУ если используется catalog:sections и element:detail вместо комплексного компонента. Ссылки на разделы каталога должны иметь вид /catalog/section-name/, а на товары /catalog/section-name/element-name/.

    1) Создайте два правила:

    • Условие: #^/catalog/([\w,-]+)/([^/]*)#
    • Компонент:
    • Файл: /catalog/index.php (в этом файле у вас вызов компонента catalog.sections)
    • Правило: SECTION_CODE=$1
    и
    • Условие: #^/catalog/([\w,-]+)/([\w,-]+)/([^/]*)#
    • Компонент:
    • Файл: /catalog/detail.php (в этом файле у вас вызов компонента element.detail)
    • Правило: SECTION_CODE=$1&ELEMENT_CODE=$2

    2) В настройках инфоблока каталога укажите:
    URL страницы раздела: #SITE_DIR#/catalog/#SECTION_CODE#/
    URL страницы детального просмотра: #SITE_DIR#/catalog/#SECTION_CODE#/#ELEMENT_CODE#/

    3) В настройках компонентов укажите:
    Код раздела: ={$_REQUEST["SECTION_CODE"]} (для компонента catalog.sections) Код раздела: ={$_REQUEST["ELEMENT_CODE"]} (для компонента element.detail)


  • Обработка адресов поддерживает регулярные замены. Пример объединения трех правил (для трех языков) в одно:
    • Условие: #^/([de|ru|ua]+)/products/test/([0-9]+)(.*)#
    • Компонент:
    • Файл: /$1/products/test/index.php
    • Правило: SECTION_CODE=$2

  • Если в системе обработки адресов зарегистрировано правило:
    • Условие: #^/gallery/#
    • Компонент:
    • Файл: /max/images/index.php
    • Правило:

    и пользователем запрошена страница /gallery/38.php, которая физически не существует, то система обработки адресов подключит скрипт /max/images/index.php.


  • Если в системе обработки адресов зарегистрировано правило:
    • Условие: #^/index/([0-9]+)/([0-9]+)/#
    • Компонент:
    • Файл: /newforum/index.php
    • Правило: mode=read&CID=$1&GID=$2

    и пользователем запрошена страница /index/5/48/, то будет подключен скрипт /newforum/index.php?mode=read&CID=5&GID=48.


  • Если в системе обработки адресов зарегистрировано правило:
    • Условие: #(.+?)\\.html(.*)#
    • Компонент:
    • Файл:
    • Правило: $1.php$2

    и пользователем запрошена страница /about/company.html?show, то будет подключен скрипт /about/company.php?show.

  • Документация по теме:


    Обеспечение безопасности

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

    В значительной мере безопасность проекта закладывается при его создании. Тем не менее от администратора зависит:

    • Использование надежных паролей для пользователей, имеющих доступ в административную часть.
    • Обеспечение надежного хранения админских паролей, паролей доступа по FTP. (Предпочтительно использование SFTP/SCP)
    • Обеспечение доступа на сайт по SSL.
    • Грамотная работа с модулем Проактивная защита.
    • Грамотное использование штатных систем безопасности Bitrix Framework.
    Внимание! Статистика Техподдержки Bitrix Framework показывает что основная проблема со взломами сайтов - это вирусы на административных компьютерах. Можно порекомендовать использовать регулярно обновляемые антивирусы, регулярно обновлять компоненты системы (браузер, флеш, Java, саму систему и прочее).

    Документация по теме:

    Безопасная авторизация

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

    Безопасная авторизация - функция, обеспечивающая зашифрованную передачу пароля пользователя. Шифрование пароля не является заменой SSL. Безопасная авторизация защищает от перехвата пароля только при прослушивании трафика.

    Если у злоумышленника есть возможность изменять трафик, то шифрование не поможет. При разработке функции исходили из того, что изменить трафик сложнее, чем прослушать его (тот же открытый WiFi). Более того, шифрование паролей не защищает от перехвата сессии, но у сессии есть свои механизмы защиты (привязка к IP, частое изменение кода сессии). В целом можно сказать, что уровень защиты повысился, но лучше использовать SSL.

    Подключается Безопасная авторизация в настройках главного модуля на закладке Авторизация:

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

    По нажатию на Сгенерировать ключ происходит генерация ключа RSA.

    RSA (буквенная аббревиатура от фамилий Rivest, Shamir и Adleman) — криптографический алгоритм с открытым ключом.

    Размер ключа зависит от библиотек, установленных на сервере. По умолчанию используется модуль PHP openssl, который создаёт 1024-битный ключ. Его и рекомендуется использовать. Если модуль не установлен, то возможно использование bcmath с генерацией 512-битного ключа. Если нет ни того ни другого модуля, включить шифрование нельзя.

    Генерация ключа выполняется один раз. Повторную генерацию производить необходимо, если есть подозрения в компрометации ключа.

    Внимание! На браузерах клиентских компьютеров должно быть разрешено использование Javascript.

    Алгоритм работы

    1. Вместе с формой авторизации клиенту передается открытый ключ.
    2. Перед отправкой формы авторизации, Javascript перехватывает отправку, зашифровывает пароль, с использованием открытого ключа, и отправляет на сервер.
    3. Сервер, принимает шифротекст, расшифровывает его с использованием секретного ключа, и проводит аутентификацию пользователя.

    Настройка HTTPS-соединения

    Перевод сайта на работу по протоколу https обеспечивает защиту от атак, основанных на прослушивании сетевого соединения. Действия по такому переводу не сложны, но требуют определённых знаний. В административном разделе "1С-Битрикс: Управление сайтом" создана специальная страница с указанием последовательности работ по настройке HTTPS соединения. Поясним каждый из пунктов этого списка.

    Нажмите на рисунок, чтобы увеличить

    Внимание! Для выполнения работ администратор должен иметь полный доступ к проекту.

    Подготовить сайт к переходу на HTTPS

    • Изменить ссылки, используемые в проекте, с абсолютных на относительные.

      Требуется в каждом файле проекта поменять ссылки вида http://_ваш_сайт/bitrix/admin/*** поменять на /bitrix/admin/***: убрать указание на протокол и домен.

    • Проверить и изменить для контента (видео, картинки), загружаемого со сторонних ресурсов, протокол, по которому проект запрашивает контент.

      Пункт лёгкий для исполнения, если используются стандартные компоненты "1С-Битрикс: Управление сайтом": штатные компоненты работают по умолчанию "как надо". Если используются кастомизированные компоненты, то проверьте , что этот пункт в них выполняется.

      Сложнее ситуация, если используется решение от партнёров "1С-Битрикс". В этом случае нужно либо обратиться к разработчику решения для внесения таких правок, либо произвести эти правки самостоятельно.

      Определить наличие неверных указаний протокола можно с помощью консоли. При открытии страниц сайта будут отображены неверные ссылки:

    • Изменить подключение внешних скриптов с абсолютных на относительные. Внешние скрипты: различные счётчики, виджеты "Обратный звонок" и подобные, обращение к сторонним библиотекам, шрифтам и так далее.

      Если используются внешние скрипты, то нужна уверенность, что они работают корректно. Если это счётчики Google или Yandex или скрипты иного "серьёзного" проекта, то тут, как правило, всё работает правильно. Если разработчик стороннего скрипта недостаточно профессионален, то такие ошибки так же отслеживаются в консоли. Самостоятельное исправление невозможно, нужно либо обратиться к разработчику внешнего скрипта с просьбой исправить его работу, либо поискать другой внешний скрипт, решающий ваши задачи и работающий корректно по протоколу HTTPS.

    Установить SSL-сертификат

    • Выбрать и получить сертификат.

      Простая процедура, просто выберите поставщика, оплатите и получите.

    • Установить полученный сертификат на хостинг.

      Операция требует определённой квалификации. Если она у вас есть - то пояснять вам нечего и незачем вам читать эту страницу. Если квалификации нет, то обратитесь к хостеру: его администраторы установят сертификат.

      Если используется BitrixVM, то установить сертификат можно так.

      Если сертификат из нескольких файлов

    • Проверить доступность сайта через HTTPS-протокол. В консоли не должно быть красных строк.

    Выполнить важные изменения на сайте

    • Установить директиву Host в файле robots.txt на протокол HTTPS.

      Простая операция. В файле robots.txt в директиве Host исправить протокол с http на https.

    • Установить 301 редирект с HTTP на HTTPS.

      301 редирект на HTTPS задаётся в файле .htaccess. Это файл занимает много места в памяти, поэтому через год редиректы рекомендуется удалить. За этот год произойдёт полная переиндексация сайта в поисковых системах.

      Примеры установки редиректа:

      Если используется BitrixVM, то достаточно отключить http в меню виртуальной машины. (Выполняется после подключения ssl-сертификатов в BitrixVM.)

      Внимание! Отключение протокола HTTP - обязательная опция, оставлять его нельзя.

    • Изменить ссылки в файле sitemap.xml.

      Аналогично с файлами проекта изменяются ссылки в файле sitemap.xml. Либо пересоздать этот файл с выбором настройки HTTPS в поле Адрес карты сайта.

    • Примечание: В списке выше указаны основные моменты настройки системы на работу по протоколу HTTPS. Кроме них нужно дополнительно произвести настройки функционала, если этот функционал используется:
      • Если используется CDN, то поставить флажок в поле Сайт работает по https в настройках сервиса Ускорение сайта CDN.
      • Установить флажок в поле Использовать в выгрузке протокол https в выгрузке Yandex. (Рабочий стол > Магазин > Настройки > Экспорт данных).
      • В настройках модуля E-mail маркетинг надо включить https для ссылок в письмах (Настройки > Настройки продукта > Настройки модулей > Email-маркетинг).
      • Указать пути в настройках модуля Push and Pull (Настройки > Настройки продукта > Настройки модулей > Push and Pull).
      • Отключить HTTP в Глобальных действиях Панели управления масштабированием.
      • Изменить настройки URL сайта в форме редактирования сайта, если ваш сайт подключён к Контролеру другого сайта.
      • В случае коробочной версии Битрикс24 к ним добавляются:
      • Установка протокола https в поле Публичный адрес сайта на страницах:
        • Настройки > Настройки продукта > Настройки модулей > Коннекторы для внешних мессенджеров
        • Настройки > Настройки продукта > Настройки модулей > Открытые линии
        • Настройки > Настройки продукта > Настройки модулей > Распознавание лиц
        • Настройки > Настройки продукта > Настройки модулей > Телефония
        • Настройки > Настройки продукта > Настройки модулей > Чат-боты Битрикс24

    Оповестить поисковики об изменениях

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

    • Добавить HTTPS-версию сайта в панель для вебмастеров Яндекс Вебмастера и Google Search Console.

      При этом старый сайт удалять не рекомендуется до тех пор, пока тИЦ не "переедет" на новый сайт. Это примерно два месяца. Теоретически, после того как это произойдёт, можно старый сайт удалить, но рекомендуется оставить его не менее чем на год. В Google сайт лучше не удалять совсем.

    • Изменить адрес в панели Яндекс Вебмастера и Google Search Console.

      Проверка выполнения этого пункта заключается в том, что в строке поиска нужно ввести запрос, по которому будет точно выдан ваш сайт, и проверить какой адрес указал поисковик. Протокол должен быть https. Если это есть, то значит настройка вашего сайта на https успешно завершена.

    Контроль за изменениями в системе

    Следим за изменениями

    Одной из задач обеспечения безопасности в работе сайта является мониторинг изменений в системе. Для осуществления такого мониторинга можно использовать несколько инструментов.


    Журнал событий

    Журнал событий настраивается на одноименной закладке Главного модуля.


    Журнал изменений

    Специальный компонент Журнал изменений (bitrix:event_list), который выводит список изменений:

    • пользователи (добавление);
    • страницы (изменение, добавление, удаление);
    • меню (изменение, создание, удаление);
    • файлы (изменение, добавление, удаление, перемещение, копирование, переименование);
    • разделы (добавление, изменение, удаление, перемещение, копирование, переименование);
    • инфоблоки (добавление, изменение, удаление элементов и разделов);
    • форумы общие и в рамках социальных сетей (сообщение: скрытие,показ, изменение, перенос, удаление; тема: показ, скрытие, прикрепление, открепление, открытие, закрытие, удаление, изменение).

    Для использования компонента создайте отдельную страницу на сайте с доступом к ней для нужной группы пользователей. Разместите на ней указанный компонент и настройте его.

    Для контроля за изменениями в инфоблоках необходимо настроить параметры журнала событий для конкретного инфоблока в его настройках:


    В чём разница?

    Журнал изменений и Журнал событий в чем-то перекликаются. Отличие их в том, что Журнал событий более подходит для мониторинга изменений контента, а Журнал изменений - для мониторинга изменений настройки системы.


    Пример настроек закладки Безопасность группы пользователей

    Одна из задач, которую приходится решать администратору - это обеспечить безопасность работы сайта и удобство работы пользователя. Например, снять с пользователя необходимость частой авторизации.

    Неопытный администратор долгую авторизацию пользователя пытается решить через параметр Время жизни сессии, что не правильно. Долгая жизнь сессии (более 20-30 минут) у множества пользователей неизбежно приведёт к замедлению работы сайта в силу увеличение количества сессий на активных сайтах.

    Гораздо лучше для этого использовать сочетание параметров закладки Безопасность (Настройки > Пользователи > Группы пользователей > {группа_пользователей}).

    Прежде всего устанавливаем маску для Маски сети для привязки сессии. Этот параметр можно задать достаточно строго, так как за короткий период жизни сессии пользователь вряд ли сменит провайдера.

    Примечание: Даже если вы захотите увеличить значение этого параметра, учтите, что увеличить значение больше чем установлено в файле php.ini в параметре session.gc_maxlifetime - невозможно. Для изменения этого параметра необходимо обратиться к администратору сервера.

    Для долгой авторизации можно использовать настройку трёх параметров:

    • Поле Максимальное количество компьютеров, на которых может быть одновременно запомнена авторизация не должно быть большим. Для сотрудников, работающих только в организации, естественно, это - 1. Для тех, кто может входить на сайт с разных компьютеров (рабочий, домашний, мобильные устройства) - число должно быть определено конкретно. Если в одной и той же группе есть пользователи с существенно разным числом компьютеров, то есть смысл подумать о создании новых групп пользователей. (Если руководством проекта задаются строгие требования к безопасности.)
    • Для пользователей, работающих с разных мест имеет значение поле Маска сети для привязки сохраненной авторизации. Оно позволяет сохранять авторизацию используя разных провайдеров. Чем меньше провайдеров используется, тем строже может быть маска. Если постоянно используется один и тот же, то рекомендуется маска 255.255.255.0. Если провайдеров может быть несколько, то маску нужно расширить, скажем, 255.255.0.0. Выбор вместо 0 промежуточных значений (что позволяет повысить безопасность) зависит от конкретных условий работы вашей сети.
    • Значение поля Срок хранения авторизации, запомненной на компьютере пользователя не рекомендуется больше одной недели.

    Пример настройки для группы пользователей, работающих в течение рабочей недели на работе и дома с нескольких компьютеров может быть таким:


    Проблема ботов

    Бот (сокр. от «робот») в интернет-проектах и сервисах - специальная программа, имитирующая деятельность человека. Может использоваться для различных технических нужд: повышения удобства остальных пользователей, совершения однотипных операций владельцами проекта. Однако существует и практика использования ботов, когда остальным участникам неизвестно, что это бот: для троллинга или спама, скрытой записи логов канала, для вандализма.

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

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

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

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

    Боты, "заточенные" под определённую CMS могут реагировать на какие-то присущие ей особенности, например, на стандартный шаблон демонстрационной версии, который, из соображений экономии, владелец сайта не стал менять, а просто "чуть-чуть" подправил под себя.

    Подавляющее большинство ботов регистрируется на сайтах автоматически, без участия человека. В некоторых случаях (когда ресурс особо "ценен" с точки зрения спама или политических манипуляций, но с высокой степенью защиты) регистрацию проводят люди, а аккаунт потом передаётся под управление программам-спамерам.

    Если на сайте регистрируется, допустим, по 20-40 ботов в день (это реальный кейс, причём регистрация шла по нарастающей в арифметической прогрессии), то через полгода, если их сразу не удалить, на сайте будет уже 180 дней х 30 ботов = 5400 профилей (возможно, даже реальных пользователей на сайте не будет столько). Эти аккаунты готовы к программному управлению извне (писать рекламные посты, изменить свой профиль, добавив в него ссылки, плюсовать или минусовать авторитет других и друг друга, писать матом или в личные сообщения и тому подобное).

    Когда число регистрирующихся ботов достигает некоторой большой величины, допустим, 40 штук в день при определённой посещаемости сайта, то приходится прибегать к экстренной мере: временному отключению возможности самостоятельной регистрации в настройках Главного модуля (опция Позволять ли пользователям регистрироваться самостоятельно?).

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

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

    Компания "1С-Битрикс" вряд ли сможет создать решение проблемы ботов "из коробки". Любое такое программное решение боты достаточно быстро научатся обходить. Это просто вопрос денег - заплатить программистам за разработку обхода. Для популярной CMS такие вложения быстро окупятся. Нужно применять своё, "нестандартное" решение, либо использовать комплекс мер.

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

    От ручного спама не защититесь и от написания софта "под вас" тоже, но это обычно сопутствует суперпопулярности. "Ловля на взлете" для раскрученных ресурсов не может быть эффективной на 100%, поэтому и вряд ли оправданы какие-то усложненные регистрации. Нужно периодически ещё проверять базу пользователей.


    Борьба с автоматической регистрацией

    Несколько способов борьбы с автоматической регистрацией ботов.


    CAPTCHA

    CAPTCHA - классический инструмент защиты от автоматической авторизации. Достоинства и недостатки этого метода хорошо известны, но пренебрегать этим методом защиты не нужно. Очень часто простое изменение настроек стандартной CAPTCHA может дать серьезный результат.

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

    Если вас не удовлетворяют возможности штатного функционала CAPTCHA, то можно либо "усилить" этот функционал, либо использовать бесплатный модуль KCAPTCHA для 1С-Битрикс.


    Доступ на сайт через соцсети

    Позволить входить на сайт только через социальные сети. Метод плох тем, что есть люди, которые ими не пользуются. И ещё тем, что не для всех такой способ авторизации кажется приемлемым.


    Поля формы регистрации

    Добавить в форму регистрации невидимое поле и скрыть его с помощью CSS. Скрывать с учётом того, что особо продвинутые боты обнаруживают display: none. Невидимое поле нужно назвать как-нибудь привлекательно для ботов в контексте содержания сайта: Компания, telefpone. К этому полю можно поставить знак *, - бот решит что без его заполнения не отправится форма.

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

    Другой вариант: подменить поле Имя. Для бота будет стандартное, для пользователей - названное вами, а при регистрации менять значения. Алгоритм регистрации не изменится, бот будет по прежнему вводить поле "имя(стандартное)" и не проходить регистрацию.


    Защита по IP

    Как вариант защиты очень часто рекомендуют подключить к сайту список IP адресов спамботов, такие списки благо есть. Но практика показывает, что возможности этого способа защиты существенно ограничены.

    Во-первых, есть вероятность отсеять простого человека который:

    • имеет прокси с этим IP,
    • получил динамический IP который есть в базе (очень малая вероятность),
    • человек, случайно попавший в базу.

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


    Организационные меры защиты

    Возможен такой вариант: пользователь после регистрации попадает в группу Новички с минимальными правами. Он может только заполнить профиль и ответить на форуме. Личные сообщения, постинг ссылок, добавление файлов, открытие новой темы и прочего ему запрещено. Как только он оставит на форуме N сообщений (на выбор администратора), он переходит в группу зарегистрированные пользователи, которая имеет базовые пользовательские права.

    Можно создать и группу Активные пользователи, которые будут иметь расширенный набор прав и туда пользователь попадёт после набора M сообщений.

    Штатно в Bitrix Framework такое реализовать не получится, нужны некоторые доработки. Пример возможного кода:

    //при добавлении сообщения форума, если количество сообщений больше FLS_NUM_POSTS, 
    //то припишем пользователя к специальной группе
    define("FLS_NUM_POSTS", 50);
    define("FLS_FORUM_GROUP", 27);
    AddEventHandler("forum", "onAfterMessageAdd", "FlsOnForumMessageAdd");
    function FlsOnForumMessageAdd($ID, $arFields)
    {
       $arGroups = CUser::GetUserGroup($arFields["AUTHOR_ID"]);
       if(!in_array(FLS_FORUM_GROUP, $arGroups))
       {
          $arProfile = CForumUser::GetByUSER_ID($arFields["AUTHOR_ID"]);
          if(intval($arProfile["NUM_POSTS"]) >= FLS_NUM_POSTS-1)
          {
             //добавим в группу
             $arGroups[] = FLS_FORUM_GROUP;
       
             //запишем новую группу
             CUser::SetUserGroup($arFields["AUTHOR_ID"], $arGroups);
       
             //обновим сессию текущему пользователю
             if($GLOBALS["USER"]->GetID() == $arFields["AUTHOR_ID"])
                CUser::SetUserGroupArray($arGroups);
          }
       }
    }

    В качестве организационных мер можно предусмотреть:

    • Использование подтверждения регистрации по E-mail. Это штатная функция Главного модуля.
    • Регистрацию на сайте с помощью инвайтов. (Платный модуль от партнёров.)
    • Использование платного модуля от партнёров Отправка пароля при регистрации.

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


    Несколько уровней регистрации

    Самый "тяжёлый" способ. Не в плане технической реализации, а в плане удобства для пользователей. Суть проста: выполнение регистрации в несколько этапов.

    Такую регистрацию могут пройти только специально написанные под конкретный проект боты. Либо производится ручная, человеческая регистрация с последующей передачей аккаунта под управление ботам.

    Есть более мягкий вариант, когда авторизация происходит в один этап, но в её конце пользователям предлагается завершить авторизацию, заполнив ещё некоторое количество полей. Авторизовать на сайте пользователей можно и сразу, после заполнения минимума обязательных полей. И дать возможность им пользоваться сайтом. Но те из них, которые не сделали завершение авторизации (то есть не заполнили поля, которые их просили заполнить) попадают под подозрение, что они - боты. В дальнейшем их можно будет удалить или ограничить в правах (поместить в группу подозрительных), пока не заполнят.


    Если боты всё же зарегистрировались

    Если боты всё же зарегистрировались, то придётся их вычислять и удалять. Как определить кто из пользователей - человек, а кто - бот? По поведению. Бото-природу скрыть можно, но трудно.

    Имя и логин. Просматривая список новых зарегистрированных пользователей и обращайте внимание на тех, у кого совпадают имя, фамилия и логин, написанные прямо или задом наперёд с подчёркиванием - это в 99.9999% случаях боты. Обычно, это невменяемые имена, примеры:

    Имя: VoideFaroToor
    Фамилия: VoideFaroToor
    Login: VoideFaroToor

    или:

    Имя: Retp1yr_
    Фамилия: ry1pteR
    Login: Retp1yr

    География посещений. Она должна быть логически понятной. Как пример: если на сайте провинциального города зарегистрировалось большое число пользователей с IP из Южной Америки, то вероятность что эти аккаунты созданы ботами - очень высока. Конечно, в Парагвае могут оказаться бывшие жители провинциального российского города, но не в массовых количествах.

    Время посещения и скорость публикации сообщений. Тут особых комментариев не надо: если пользователь заходит постоянно в 4:30 утра и за 2 минуты публикует 5 длинных и разноплановых сообщений, то это - бот.

    Сторонние инструменты. Яндекс позволяет следить за поведением посетителей с помощью Вебвизор'а. Зайдите и посмотрите что же делал пользователь на сайте. Боты характеризуются очень малой активностью. В то время как живые посетители, довольно активно просматривают страницы.

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

    Чтобы не ошибиться в оценках бот/не бот, определите изначально что значит "рациональное поведение пользователя" именно для вашего проекта. К примеру: сайт знакомств. Пользователь регистрируется чтобы получить некоторые преференции, например просмотр анкет. А будет ли логичным следующее поведение пользователя на таком сайте: зашел на сайт, просмотрел несколько страниц, зарегистрировался, ушел? Нет, не будет. Зарегистрировавшись пользователь пойдет смотреть анкеты, а вот бот скорее всего поступит именно так как написано.

    Более точную карту поведения можно составить проанализировав поведение заведомо известных вам аккаунтов-людей на вашем сайте.


    Рейтинги

    Авторитет – численный показатель признания пользователя сообществом, влияет на значимость голоса человека, когда он голосует за контент. Авторитет так же служит основным механизмом регулирования сообщества через доступность тех или иных функций (в зависимости от авторитета можно настроить право публикации сообщений, комментировать, и так далее).

    Рейтинг – численный показатель, отражающий полезную активность человека, ценность контента для сообщества.

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


    Общая схема работы системы рейтингов, настроенной по умолчанию

    Каждый новый пользователь имеет уже заранее указанный в настройках начальный авторитет, который можно при желании изменить на странице Настройки рейтингов (Сервисы > Рейтинги > Настройки рейтингов вкладка Начальные значения).

    Примечание: После изменения данного параметра потребуется пересчитать рейтинг.

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

    Примечание: Для отдельных пользователей можно вручную указать иное, чем по умолчанию, начальное значение авторитета на закладке Рейтинг страницы настроек пользователя (Настройки > Пользователи > Список пользователей). Там же отображаются текущие значения параметров, связанные с рейтингом пользователя.


    Нормированный вес голоса - это минимальный вес одного голоса в системе, в зависимости от размеров сообщества. Значение авторитета напрямую зависит от нормированного веса голоса.

    Общее количество голосов пользователя рассчитывается по формуле: Авторитет / вес одного нормированного голоса.

    Нормировка от размера сообщества позволяет утверждать, что если в сообществе в 500 человек у вас авторитет равен 100, и в сообществе на 500 000 человек у вас авторитет равен 100, это означает признание вас 10% сообщества.

    Размер сообщества – это число пользователей, которые заходили на сайт не позднее 90 дней (настраивается на закладке Право на голосование страницы Настройки рейтингов (Сервисы > Рейтинги > Настройки рейтингов) с момента расчета рейтинга и имеют право голосовать.

    При голосовании (нажатии мне нравится) пользователь отдает за контент автора количество голосов, равное результату деления авторитета пользователя на значение нормированного голоса.

    Пользователи по умолчанию не могут напрямую голосовать за авторитет. Это возможно лишь косвенно, согласно правилу обработки голосов Автоматическое голосование за авторитет пользователя (Сервисы > Рейтинги > Правила обработки), по которому, на основе суммы голосов, оставленных за контент пользователя, происходит изменение его авторитета.

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

    Примечание: Для рейтинга (не авторитета) можно произвести настройки (Сервисы > Рейтинги > Список рейтингов секция Критерии рейтингования) так, что пользователи могут голосовать как за контент, так и напрямую за сам рейтинг.

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


    Расчет рейтингов

    Рейтинги рассчитываются автоматически каждый час с помощью соответствующих агентов, но если необходимо посмотреть изменение рейтинга после каких-либо его изменений, то можно Пересчитать рейтинг вручную с помощью меню действий на странице Список рейтингов (Сервисы > Рейтинги > Список рейтингов).

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

    Внимание! После изменения общих настроек рейтингов потребуется пересчет всех рейтингов.


    Особенности рейтингов:
    • Для некоторых компонентов необходимо в параметрах включить поддержку рейтингов с помощью соответствующей опции, чтобы в публичной части сайта отображались кнопки оценки контента. Там же можно выбрать их оформление для конкретного компонента. Значение По умолчанию берется из настроек рейтингов.
    • Рейтинг контента влияет на поиск. Чем больше рейтинг - тем выше в поисковой выдаче будет расположен контент. Такой режим поведения включается на странице настроек модуля Поиск с помощью опции При ранжировании результатов учитывать рейтинг.

    Различия системы рейтингов в продуктах «Битрикс24 в коробке» и «1С-Битрикс: Управление сайтом»:
    • В корпоративном портале система авторитета строится на основе субординации. Так количество голосов, отдаваемое сотрудником при голосовании за контент, зависит от его положения в иерархии компании. Голос начальника будет состоять из суммы голосов подчиненных и его собственного. Расчет добавочных голосов за авторитет по структуре компании осуществляется с помощью соответствующего правила обработки (Сервисы > Рейтинги > Правила обработки).

      Поддержка субординации (для авторитета включена по умолчанию) настраивается на вкладке Интранет формы редактирования рейтинга (Сервисы > Рейтинги > Список рейтингов).

    • В подсказке с проголосовавшими сотрудниками за контент (при наведении курсора на символ ) в корпоративном портале список сначала строится по субординации, а если авторитет одинаков (например, равноценные начальники или обычные сотрудники), то уже по принципу "чей контент больше нравится, тот и выше". В БУС же список строится только по принципу "чей контент больше нравится, тот и выше".
    • В мастере настройки корпоративного портала, например при установке, можно сразу включить рейтинги и настроить внешний вид публичных элементов оценки контента.

    Документация по теме:

    Примеры работы


    Настройка званий на форуме

    Рассмотрим пример настройки системы рейтингов так, чтоб пользователь на форуме получал звание в зависимости от количества нормированных голосов у него.

    • Для начала необходимо отключить опцию Включить бонусную систему в настройках модуля Форум (Настройки > Настройки продукта > Настройки модулей > Форум), это позволит использовать на форуме Рейтинги вместо собственной системы подсчета баллов.

      Примечание: Для форумов используется только Авторитет.

    • На странице Звания (Сервисы > Форумы > Звания) необходимо создать звания, которые будут выдаваться пользователям, в зависимости от количества нормированных голосов у пользователя.

      Примечание: Подробнее про настройку званий можно посмотреть в уроке Звания и баллы.


    Перемещение пользователя в группу в зависимости от рейтингов на примере форума

    • Создадим 2 группы пользователей (Настройки > Пользователи > Список пользователей): Группа 1 и Группа 2.

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

    • Настроим доступ к желаемому форуму для созданных ранее групп на странице Список форумов (Сервисы > Форумы > Список форумов, закладка Доступ) следующим образом:

      • Группа 1: Ответ;
      • Группа 2: Новая тема.

      Примечание: Подробнее про права доступа к форуму смотрите в уроке Форумы.

    • Создадим новые правила обработки (Сервисы > Рейтинги > Правила обработки):

      • Добавление в Группу 1;
      • Удаление из Группы 1;
      • Добавление в Группу 2.

      В качестве Условия выберем Значение авторитета. В поле Кол-во нормированных голосов для разных правил укажем:

      • Добавление в Группу 1 - Больше или равно 0. Тогда все пользователи форума автоматически будут добавлены в эту группу для того, чтобы они смогли отвечать в чужих темах;
      • Удаление из Группы 1 - Больше или равно 10;
      • Добавление в Группу 2 - Больше или равно 10. Перевод пользователей в группу, чтоб они смогли создавать собственные темы на форуме.

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


    Требования законодательства РФ

    С расширением государственного регулирования Интернета в продукты компании 1С-Битрикс добавляется функционал, обеспечивающий требования законодательства.

    Требования законодательства РФ:


    Согласие на обработку персональных данных

    Пользователь, согласно закону ФЗ-152, должен дать согласие на обработку своих персональных данных. Реализация этого требования закона удобно и просто осуществлена в компонентах и Административной части системы "1С-Битрикс: Управление сайтом":

    • Страница Соглашения в Административной части системы.
    • Компонент Форма оформления заказа.
    • Компонент Форма регистрации (в шаблоне flat).
    • Компонент Блоги (комплексный)

    Работа соглашения на примере компонента Форма оформления заказа.

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

    Страница Соглашения

    На странице Соглашения (Настройки > Настройки продукта > Соглашения) выводятся все созданные и используемые соглашения и с неё же можно перейти к списку полученных соглашений от пользователей.

    Нажмите на рисунок, чтобы увеличить

    Создание соглашения

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

    Нажмите на рисунок, чтобы увеличить

    Создание соглашение - несложный процесс. Несколько особенностей:

    • Если нужно нестандартный текст соглашения - используйте тип Собственный.
    • Если нужно просто модифицировать стандартное соглашение, то используйте тип Стандартный, а в открывшихся полях укажите свои варианты текста. Они подменят собой в соглашении аналогичные стандартные блоки.
    • Если компаний в системе несколько, то лучше использовать ручной ввод данных в поле Источник данных. По умолчанию система выводит все компании, которые есть.
    • Если не заполнено поле Email-адрес для жалоб, то система будет использовать адрес по умолчанию из настроек главного модуля.

    Просмотр списка согласий

    Для каждого соглашения можно просмотреть [dw]список согласий[/dw][di][/di].

    Нажмите на рисунок, чтобы увеличить

    Список согласий не подразумевает удаления согласия. Фильтр поможет найти нужное согласие в общем списке

    Получение согласия пользователя

    Для получения согласия пользователя в компоненте включите опцию Запрашивать согласие (на примере sale.order.ajax):

    Нажмите на рисунок, чтобы увеличить

    Заключение

    Выполнение требований закона ФЗ-152 реализуется штатными средствами системы. Для этого достаточно создать соглашение с нужным текстом и настроить компоненты.

    Документация по теме:


    Согласие в собственных компонентах

    Включение поддержки соглашений в собственных компонентах рассмотрим на примере компонента подписки на рассылку sender.subscribe.

    Добавление секции в настройки компонента

    В файле параметров вашего компонента .parameters.php достаточно объявить параметр "USER_CONSENT" => array() и появится раздел с параметрами настройки:

    <?
    if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
    $arComponentParameters = array(
        "GROUPS" => array(
        ),
        "PARAMETERS" => array(
         "AJAX_MODE" => array(),
         "USER_CONSENT" => array(),
        )
    );

    Теперь в настройках компонента появились секция Согласие пользователя:

    Вывод в форме

    Для вывода используется компонент [dw]main.userconsent.request[/dw][di]Системный компонент, в документации не описывается. Расположен: /bitrix/components/bitrix/main.userconsent.request[/di]. Компонент умеет сохранять полученное согласие. Он выводит чекбокс с подписью, по нажатию на которую выводится окно с текстом соглашения. Окно с текстом адаптивное и уже сделано и под мобильные устройства:

    Компонент main.userconsent.request нужно подключить в шаблоне вашего компонента перед кнопкой отправки формы. Есть два вида форм:

    • стандартная get/post отправка формы с событием submit;
    • отправка через ajax и иные механизмы, реализованные в js, то есть без события submit у формы.

    В этих формах компонент используется по разному.

    Простая форма с событием submit

    В этом случае подключаем компонент перед кнопкой отправки формы:

    <form method="POST">
        <input name="EMAIL" placeholder="Email">
        <input name="PHONE" placeholder="Телефон">
        <input name="NAME" placeholder="Имя">
        <br>
        <?if ($arParams['USER_CONSENT'] == 'Y'):?>
         <?$APPLICATION->IncludeComponent(
          "bitrix:main.userconsent.request",
          "",
          array(
              "ID" => $arParams["USER_CONSENT_ID"],
              "IS_CHECKED" => $arParams["USER_CONSENT_IS_CHECKED"],
              "AUTO_SAVE" => "Y",
              "IS_LOADED" => $arParams["USER_CONSENT_IS_LOADED"],
              "REPLACE" => array(
               'button_caption' => 'Подписаться!',
               'fields' => array('Email', 'Телефон', 'Имя')
              ),
          )
         );?>
        <?endif;?>
        <input type="submit" name="subscribe" value="Подписаться!">
    </form>

    Указанные в примере параметры $arParams появятся в шаблоне вашего компонента при наличии в .parameters.php блока "USER_CONSENT" => array().

    В параметре REPLACE передается:

    • button_caption - название кнопки отправки формы;
    • fields - массив названий полей, которые попадут в текст соглашения.

    Форма без события submit(ajax и другие)

    В компонент в параметре SUBMIT_EVENT_NAME передаётся название события, при котором появится окно запроса согласия.

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

    <div id="my_container">
        <input type="text" placeholder="Электронный адрес" name="EMAIL">
        <input type="submit" id="fire_event" value="Отправить">
        <br>
        <?if ($arParams['USER_CONSENT'] == 'Y'):?>
            <?$APPLICATION->IncludeComponent(
                "bitrix:main.userconsent.request",
                "",
                array(
                    'ID' => $arParams["USER_CONSENT_ID"],
                    "IS_CHECKED" => $arParams["USER_CONSENT_IS_CHECKED"],
                    "IS_LOADED" => "Y",
                    "AUTO_SAVE" => "N",
                    'SUBMIT_EVENT_NAME' => 'my-event-name',
                    'REPLACE' => array(
                        'button_caption' => 'Отправить',
                        'fields' => array('Электронный адрес')
                    ),
                )
            );?>
        <?endif;?>
    </div>
        
    <script type="text/javascript">
    BX.ready(function () {
    
        var submitBtn = BX('fire_event');
        BX.bind(submitBtn, 'click', function(){
            BX.onCustomEvent('my-event-name', []);
        });
    
        if (!BX.UserConsent)
        {
            return;
        }
        var control = BX.UserConsent.load(BX('my_container'));
        if (!control)
        {
            return;
        }
        
        BX.addCustomEvent(
            control,
            BX.UserConsent.events.save,
            function (data) {
                console.log('js event:', 'save', data);
                // успешно!
                // отправляем ajax 
                // или другие действия
            }
        );
        
    });
    </script>

    Сохранение согласия

    В параметрах компонента есть параметр AUTO_SAVE. Если его значение равно Y, то согласие автоматически сохраняется компонентом. Если вам нужно сохранить согласие самим, то передайте значение N. А для ручного добавления согласия вызовите следующий код:
    \Bitrix\Main\UserConsent\Consent::addByContext( 
           $arParams["USER_CONSENT_ID"]
       );

    Push and Pull


    Что такое Push and Pull

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

    Модуль [dwi include_8261565]Push and Pull[/dwi] обеспечивает отправку мгновенных команд. Так как этот функционал организован в виде отдельного модуля, то любой другой модуль (в том числе и модули сторонних разработчиков) может, используя API, отправлять мгновенные нотификации и сообщения клиентам.

    Работа этого модуля требуется для полной функциональности:

    • Мобильного приложения - задачи, события в календаре, мгновенные сообщения и т.д. обновляются/добавляются мгновенно без обновления страницы.
    • Голосований и опросов - обновление результатов голосования в режиме online.
    • Блогов - мгновенное обновление счетчика лайков у сообщений и комментариев
    • Веб-мессенджера - мгновенные сообщения в личной и групповой переписке без необходимости ждать опроса сервера, уведомление о том, что сообщение прочитано и пишется ответ, возможность совершать звонки и видеозвонки.

    Примечание: Если при просмотре ленты у пользователя вместо правильного текста появляются нечитаемые символы, то скорее всего, в браузере жестко указана какая-либо кодировка. Необходимо указать автоматический выбор кодировки (Вид > Кодировка > Авто).

    Администрирование модуля

    Администрирование модуля (настройка) описано в курсе Администратор. Модули.



    Как работает Push-сервер


    Когда пользователь входит на сайт, его браузер, настольное или мобильное приложение устанавливают и держат постоянное соединение с Push-сервером.

    Обычно это делается с помощью [dw]WebSocket[/dw][di]Веб-сокеты - это технология, позволяющая открыть постоянное двунаправленное
    сетевое соединение между браузером пользователя и сервером.
    С его помощью вы можете отправить сообщение на сервер и получить ответ
    без выполнения http запроса.
    Причем этот процесс будет событийно-управляемым.

    websocket.jpg[/di], который используют 95% современных браузеров. А если технология WebSocket не поддерживается браузером, то используется [dw]Long Polling[/dw][di]Другое название способа - "Очередь ожидающих запросов". Краткая схема такова:
    1. Отправляется запрос на сервер
    2. Соединение не закрывается сервером, пока не появится событие
    3. Событие отправляется в ответ на запрос
    4. Клиент тут же отправляет новый ожидающий запрос

    longpolling.jpg [/di] — постоянный долгий опрос. Это [dw]ajax-запрос[/dw][di]AJAX (Asynchronous Javascript And Xml») – технология обращения к серверу без перезагрузки страницы[/di], который в течение 40 секунд ждет ответа от сервера. В случае получения ответа или при наступлении таймаута, запрос повторяется.

    Для "1С-Битрикс: Управление сайтом" разработан собственный Push-сервер:


    Push-сервер.png

    Схема работы Push-сервера

    • Пользователь пишет какое-то сообщение на портале.
    • Сообщение поступает на [dw]NGINX-сервер[/dw][di]NGINX-сервер - мощный веб-сервер, использующий не-потоковую, управляемую событиями архитектуру[/di]. Он обрабатывает и держит множество TCP и HTTPS-соединений, занимается балансировкой нагрузки и выполняет другие важные функции, такие как кеширование HTTP и использование в качестве обратного прокси.
    • Сообщение отправляется в PHP-часть бэкенда, там оно сохраняется, а потом транслируется в Push-сервер.
    • Push-сервер состоит из восьми процессов приложения Node.js - 6 процессов обслуживают входящие соединения, 2 процесса отвечают за публикацию сообщений.
    • Все восемь процессов Node.js-приложения имеют постоянное соединение с [dw]Redis[/dw][di]Redis - нереляционное хранилище на основе пар «ключ‑значение». В нем могут храниться не только ключ-значение, но и ключ-словарь, ключ-список, то есть более сложные структуры данных. Подробнее...[/di]. В Redis сохраняются все сообщения, статистика по каналам и состояние онлайна.
    • В самом сообщении содержатся все атрибуты данных, то есть автор, адресат и т.д. Один из двух процессов, отвечающих за публикацию сообщений, принимает это сообщение, обрабатывает его и публикует в Redis.
    • Redis записывает сообщение и оповещает другие шесть процессов о том, что поступило новое сообщение и его можно разослать подписчикам.
    • Для работы с WebSocket используется [dw]open-source[/dw][di]Открытое программное обеспечение, свободный софт — программное обеспечение, пользователи которого имеют права на его неограниченную установку, запуск, свободное использование, изучение, распространение и изменение, а также распространение копий и результатов изменения[/di] модуль Node.js под названием ws.
    • Для безопасной работы с push-сервером каждый пользователь получает уникальный идентификатор канала при подсоединении. Это случайная строка из 32 символов и добавленная к ней специальная подпись, уникальная для этого конкретного идентификатора канала. Сами каналы регулярно меняются, как и их идентификаторы.
    • Сам канал хранится на сервере 24 часа, но запись в него осуществляется не более 12 часов. Остальное время хранения необходимо для того, чтобы пользователь смог получить ранее отправленные сообщения. Ведь если вечером ноутбук "уснул" с одним идентификатором канала, то утром он "проснется" с ним же и обратится на сервер. После отправки сообщений сервер закрывает старый канал и создает для этого пользователя новый.

    Варианты работы Push-сервера «1С-Битрикс»

    Для работы "1С-Битрикс: Управление сайтом" и "Битрикс24 в коробке" рекомендуется использовать виртуальную машину BitrixVM, где всё уже настроено. Если по каким-то причинам использование BitrixVM невозможно, то в используемом окружении необходимо настроить push-сервер.

    Скачать исходные файлы Push-сервера из нашей виртуальной машины можно по адресу: /opt/push-server/.

    Настройки хранятся в файле config/config.json .

    Один из примеров настройки и запуска Push-сервера на стороннем окружении приведен в уроке.

    Документация по теме:



    Push and Pull - настройка модуля


    Если ваш Битрикс установлен на виртуальной машине BitrixVM версии 7.1 или старше, то у вас нет необходимости настраивать модуль Push and Pull. В виртуальной машине уже поставляется отдельный Push-сервер, он настроен и сконфигурирован и работает "из коробки".

    На странице настроек Настройки > Настройки продукта > Настройки модулей > Push and Pull расскажем лишь о некоторых полях, значения которых вы можете поменять по желанию:


    Нажмите на рисунок, чтобы увеличить


    • При заполнении поля Максимальное кол-во отправленных команд за одно подключение к серверу учтите, что его значение зависит от настройки large_client_header_buffers сервера NGINX. Значение этой настройки в 8 kb соответствует возможности отправить 100 команд. Зависимость этого значения и числа команд - прямо пропорциональная: если нужно отправить, например 200 команд за одно соединение, то в large_client_header_buffers сервера NGINX должно стоять 16 kb.

      Большое число значений поля Максимальное кол-во отправленных команд за одно подключение к серверу нужно при большом среднем числе получателей сообщений. Зависимость от общего числа пользователей корпоративного портала здесь прямая, но пропорциональность устанавливать надо опытным путём конкретно для вашего случая. Если технические возможности позволяют, то можно не рассчитывать пропорциональность, а установить значение поля "с запасом": на 150 пользователей портала использовать 100 команд, на 300 - 200 команд и так далее.

    • При необходимости перенастройте шаблоны путей. Домен в адресе для чтения сообщений можно указать #DOMAIN#: такая нотация будет автоматически заменяться под нужный домен для многодоменных конфигураций. Пример: http://#DOMAIN#:8893/bitrix/sub/.
    • При использовании мобильных устройств включите поле Отправлять PUSH уведомления на мобильные телефоны.
    • Если в системе несколько активных сайтов, то есть возможность выбрать, на каких сайтах модуль не будет работать.

    Примечание: С версии "1С-Битрикс: Управление сайтом" 14.1.2 добавлена поддержка WebSocket, для активации опции необходима поддержка опции на "Сервере очередей".

    Работа модуля Push and Pull Битрикса на виртуальной машине до версии 5.0.


    Как использовать модуль, подробно рассказано в курсе Контент-менеджер в главе Push and Pull.

    Документация по теме:



    Настройка и запуск push сервера на стороннем окружении

    Для работы "1С-Битрикс: Управление сайтом" и "Битрикс24 в коробке" рекомендуется использовать BitrixVM, где всё уже настроено. Если по каким-то причинам использование BitrixVM невозможно, то в используемом окружении необходимо настроить push-сервер. Примеры приведены для CentOs.

    Настройка push-сервера

    1. Подключите подключенный репозиторий bitrix-env:
      cat /etc/yum.repos.d/bitrix.repo 
      [bitrix]
      name=$OS $releasever - $basearch
      failovermethod=priority
      baseurl=http://repos.1c-bitrix.ru/yum/el/$releasever/$basearch
      enabled=1
      gpgcheck=1
      gpgkey=http://repos.1c-bitrix.ru/yum/RPM-GPG-KEY-BitrixEnv

      Примечание: В случае Centos 6 необходим подключенный nodejs репозиторий
      curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - >/dev/null 2>&1

    2. Установите пакеты.

      Примечание: На текущий момент существует проблема с Cenos 7.3, нужно установить вручную пакет http-parser:
      rpm -Uvh https://kojipkgs.fedoraproject.org//packages/http-parser/2.7.1/3.el7/x86_64/http-parser-2.7.1-3.el7.x86_64.rpm
      
      Затем
       yum -y install nodejs push-server 

    Настройка Redis сервера

    1. Измените группу у пользователя Redis. В случае Bitrix окружения это - группа bitrix, в остальных случаях группа соответствует группе с правами которой работает apache или php-fpm сервис.
      usermod -g bitrix redis 
    2. Измените конфигурационный файл для redis сервиса:
       cat /etc/redis.conf  
      # Ansible managed
      unixsocket /tmp/redis.sock
      pidfile /var/run/redis_6379.pid
      logfile /var/log/redis/redis.log
      dir /var/lib/redis
      
      bind 127.0.0.1
      protected-mode yes
      port 6379
      tcp-backlog 511
      unixsocketperm 770
      timeout 0
      tcp-keepalive 300
      daemonize yes
      supervised no
      loglevel notice
      databases 16
      save 86400 1
      save 7200 10
      save 3600 10000
      stop-writes-on-bgsave-error no
      rdbcompression yes
      rdbchecksum yes
      dbfilename dump.rdb
      slave-serve-stale-data yes
      slave-read-only yes
      repl-diskless-sync no
      repl-diskless-sync-delay 5
      repl-disable-tcp-nodelay no
      slave-priority 100
      appendonly no
      appendfilename "appendonly.aof"
      appendfsync everysec
      no-appendfsync-on-rewrite no
      auto-aof-rewrite-percentage 100
      auto-aof-rewrite-min-size 64mb
      aof-load-truncated yes
      lua-time-limit 5000
      slowlog-log-slower-than 10000
      slowlog-max-len 128
      latency-monitor-threshold 0
      notify-keyspace-events ""
      hash-max-ziplist-entries 512
      hash-max-ziplist-value 64
      list-max-ziplist-size -2
      list-compress-depth 0
      set-max-intset-entries 512
      zset-max-ziplist-entries 128
      zset-max-ziplist-value 64
      hll-sparse-max-bytes 3000
      activerehashing yes
      client-output-buffer-limit normal 0 0 0
      client-output-buffer-limit slave 256mb 64mb 60
      client-output-buffer-limit pubsub 32mb 8mb 60
      hz 10
      aof-rewrite-incremental-fsync yes
      maxmemory 459mb
      maxmemory-policy allkeys-lru

      Значение maxmemory зависит от сервера, где устанавливается push-server. В случае BitrixVM, например, этот параметр равен 1/4 от установленной памяти.

      Примечание: В случае Centos 7 меняем настройки службы Redis:
      cat /etc/systemd/system/redis.service.d/custom.conf
      [Service]
      Group=bitrix
      Если не используется окружение Bitrix, выставляем значение группы в нужное вам.

    3. Перезапустите сервис Redis и включите для него автоматический запуск.

      Команда для Centos 7:

       systemctl enable redis && systemctl restart redis 

      Команда для Centos 6:

       chkconfig redis on && /etc/init.d/redis restart 

    Конфигурация Push-server

    1. Измените файл настроек /etc/sysconfig/push-server-multi, добавив опцию WS_HOST - IP адрес хоста, на котором запускается сервис. Если необходимо измените настройки, которые отвечают за количество процессов nodejs, обрабатывающих запрос на получение и публикацию сообщений:
      ID_SUB=5              # max ID for sub service
      ID_PUB=1              # max ID for pub service
    2. Создайте конфигурационные файлы для запускаемых процессов. Одновременно в конфиге будет создан ключ SECURITY_KEY:

      /etc/init.d/push-server-multi reset

      Данный процесс создаст конфигурационные файлы в каталоге:

      ls -al /etc/push-server/push-server-*
      -rw-r--r-- 1 bitrix root   685 Aug 25 14:52 /etc/push-server/push-server-pub-9010.json
      -rw-r--r-- 1 bitrix root   685 Aug 25 14:52 /etc/push-server/push-server-pub-9011.json
      -rw-r--r-- 1 bitrix root   635 Aug 25 14:52 /etc/push-server/push-server-sub-8010.json
      -rw-r--r-- 1 bitrix root   635 Aug 25 14:52 /etc/push-server/push-server-sub-8011.json
      -rw-r--r-- 1 bitrix root   635 Aug 25 14:52 /etc/push-server/push-server-sub-8012.json
      -rw-r--r-- 1 bitrix root   635 Aug 25 14:52 /etc/push-server/push-server-sub-8013.json
      -rw-r--r-- 1 bitrix root   635 Aug 25 14:52 /etc/push-server/push-server-sub-8014.json
      -rw-r--r-- 1 bitrix root   635 Aug 25 14:52 /etc/push-server/push-server-sub-8015.json

      Количество файлов зависит от опций, указанных выше.

    3. Запустите процессы.

      Команда для Centos 7:

      systemctl enable push-server && systemctl start push-server

      Команда для Centos 6:

      chkconfig push-server-multi on && /etc/init.d/push-server-multi start

    Конфигурация NGINX

    1. Настройте upstream серверов для push-server:
      #/etc/nginx/bx/settings/rtc-im_settings.conf
      
      log_format simple '$time_local $status $request';
      # if connection ti not set
      map $http_upgrade $connection_upgrade {
        default upgrade;
        '' 'close';
      }
      
      map $http_upgrade  $replace_upgrade {
        default $http_upgrade;
        ''      "websocket";
      }
      
      # sub services
      upstream nodejs_sub {
        ip_hash;
        keepalive 1024;
        server vm04.ksh.bx:8010;
        server vm04.ksh.bx:8011;
        server vm04.ksh.bx:8012;
        server vm04.ksh.bx:8013;
        server vm04.ksh.bx:8014;
        server vm04.ksh.bx:8015;
      }
      
      # pub services
      upstream nodejs_pub {
        ip_hash;
        keepalive 1024;
        server vm04.ksh.bx:9010;
        server vm04.ksh.bx:9011;
      }

      В качестве имени сервера укажите имя или IP адрес сервера, на котором стоит push-server.

    2. Конфигурационный файл виртуальных серверов:
      # /etc/nginx/bx/site_enabled/rtc-server.conf
      
      server {
          listen 8895 default_server;
          server_name _;
      
          # access_log  /var/log/nginx/access.log  main buffer=64k;
          # access_log  /dev/shm/access.log simple;
          # error_log  /var/log/nginx/error.log  warn;
          access_log off;
      
          add_header "X-Content-Type-Options" "nosniff";
      
          location /server-stat {
              access_log off;
              proxy_pass http://nodejs_pub;
          }
      
          location  /nginx_status {
              stub_status on;
          }
      
          location /bitrix/pub/ {
              # IM doesn't wait
              proxy_ignore_client_abort on;
              proxy_pass http://nodejs_pub;
          }
      
      		include bx/conf/im_subscrider.conf;
      
          location / {
              deny all;
          }
      }
      
      server {
          listen 8893;
          listen 8894 default_server ssl;
      
          access_log off;
          add_header Access-Control-Allow-Origin *;
      
          server_name _;
      
          # ssl settings
          include bx/conf/ssl.conf;
      
          # Include error handlers
          include bx/conf/errors.conf;
      
          # Include im subscrider handlers
          include bx/conf/im_subscrider.conf;
          
          location ^~ /           { deny all; }
      }
    3. Подключите конфиги:
      # /etc/nginx/nginx.conf
      include /etc/nginx/bx/site_enabled/rtc-server.conf;
      include /etc/nginx/bx/settings/rtc-im_settings.conf;
    4. В случае виртуальной машины необходимо удалить конфигурацию старого сервера (push-stream-module) /etc/nginx/bx/conf/im_subscrider.conf и /etc/nginx/bx/site_enabled/push.conf.
    5. Перезапустите NGINX сервер.

    Настройка сайта

    В конфигурационный файл bitrix/.settings.php добавляем настройки вида:

    'pull' => Array(
        'value' =>  array(
            'path_to_listener' => 'http://#DOMAIN#/bitrix/sub/',
            'path_to_listener_secure' => 'https://#DOMAIN#/bitrix/sub/',
            'path_to_modern_listener' => 'http://#DOMAIN#/bitrix/sub/',
            'path_to_modern_listener_secure' => 'https://#DOMAIN#/bitrix/sub/',
            'path_to_mobile_listener' => 'http://#DOMAIN#:8893/bitrix/sub/',
            'path_to_mobile_listener_secure' => 'https://#DOMAIN#:8894/bitrix/sub/',
            'path_to_websocket' => 'ws://#DOMAIN#/bitrix/subws/',
            'path_to_websocket_secure' => 'wss://#DOMAIN#/bitrix/subws/',
            'path_to_publish' => 'http://vm04.ksh.bx:8895/bitrix/pub/',
            'nginx_version' => '3',
            'nginx_command_per_hit' => '100',
            'nginx' => 'Y',
            'nginx_headers' => 'N',
            'push' => 'Y',
            'websocket' => 'Y',
            'signature_key' => 'ANzCW8X3ui4GokEqAh8fwinrSBnWj3dU1V0O3knHlwc224vBdIA8Yg1PhPU1G3tQaTcnorGO9skoWPbLiDV5eqnVcH2RgbKCP65yAHjiFfP4RJh60W9sxqISkcQxWQ0U',
            'signature_algo' => 'sha1',
            'guest' => 'N',
        ),
    ),

    В качестве signature_key указываем настройки из /etc/sysconfig/push-server-multi.

    grep SECURITY_KEY /etc/sysconfig/push-server-multi
    SECURITY_KEY=ANzCW8X3ui4GokEqAh8fwinrSBnWj3dU1V0O3knHlwc224vBdIA8Yg1PhPU1G3tQaTcnorGO9skoWPbLiDV5eqnVcH2RgbKCP65yAHjiFfP4RJh60W9sxqISkcQxWQ0U

    Резервное копирование

    Как известно всем администраторам сайтов, [dw]бэкап[/dw][di]Бэкап сайта (от английского Backup) – резервное копирование содержания сайта и баз данных. Процедура, необходимая для полного восстановления сайта, на случай утери информации в результате взлома сайта или сервера хакерами или на случай выхода из строя жесткого диска сервера.
    Подробнее...[/di] должен быть всегда и много бэкапов не бывает. Кроме защиты данных от повреждения, резервное копирование необходимо также при переносе сайта на удаленный хостинг.

    При работе с CMS Битрикс вы можете хранить резервные копии сайта :


    Каждый из этих способов имеет свои достоинства и недостатки:

    Например, хранение бэкапа на своем локальном компьютере может быть самым дешевым и доступным, но очень ограниченным по объему. К тому же, это не защищает от повреждения данных в результате простого отключения электричества во всем городе, не говоря уж о техногенных катастрофах, стихийных бедствиях и др. Снизить риски поможет дублирование на удаленную площадку - буквально физическое перемещение носителя с копией в другой город (страну, континент). Но это значительно снижает скорость восстановления данных при необходимости.

    Хранение в Облаке 1С-Битрикс - это бесплатно, очень надежно, просто и быстро. Можно настроить регулярное автоматическое резервирование штатными методами системы. Недостаток - ограничение по объему в зависимости от тарифа. Но вы можете по потребности докупать место в облаке без смены тарифного плана.

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



    Возможности резервного копирования:

    • создание архивной версии файлов сайта (формат tar.gz);
    • исключение из архива папки, содержащей ядро продукта;
    • исключение из архива файлов, размер которых превышает некоторое заданное значение;
    • создание дампа базы данных (формат tar.gz);
    • исключение из дампа таблиц статистики и поискового индекса;
    • автоматическое деление архивов на части когда размер несжатых данных превышает 1Гб;
    • архивирование данных в облачные хранилища.

    Документация по теме:


    Резервное копирование в v.12 и выше


    Выполняется резервное копирование на странице Резервное копирование (Настройки > Инструменты > Резервное копирование).

    В старых (до v.12) версиях продукта Резервное копирование выполняется по-другому. Процедура описана в отдельной главе.

    Обратите внимание! Механизм резервного копирования может быть использован только для базы данных MySQL.

    Расписание резервирования и резервные копии в облаке "1С-Битрикс"

    Форма создания резервной копии:

    Нажмите на рисунок, чтобы увеличить

    К вкладке Резервное копирование относятся важные примечания:

    1. Компания "1С-Битрикс" бесплатно предоставляет место в облаке для хранения трех резервных копий на каждую активную лицензию. [dw]Объём пространства в облаке[/dw] [di][/di]зависит от лицензии. Доступ к резервным копиям осуществляется по лицензионному ключу и паролю. Без знания пароля никто, включая сотрудников "1С-Битрикс", не сможет получить доступ к вашим данным.
    2. Если выбрано несколько сайтов для помещения в архив, в корне архива будет лежать первый по списку сайт, а публичные части остальных сайтов будут помещены в папку /bitrix/backup/sites. При восстановлении нужно будет вручную скопировать их в нужные папки и создать символьные ссылки.

    Особенности резервного копирования при многосайтовости

    • Создавать резервные копии можно для любого сочетания существующих в системе файлов. Просто отметьте "птичками" в форме нужные сайты.
    • Этот способ копирования работает только для сайтов, DOCUMENT_ROOT которых различны. То есть для многосайтовости на разных доменах.
    • База данных полностью копируется в архив. Даже тех сайтов, которые не были отмечены "птичками".
    • Восстановление сайтов потребует дополнительных действий со стороны администратора:
        • Учтите, что из выбранных сайтов в состав архива полностью копируется только первый по сортировке в списке сайтов. Соответственно, при восстановлении в полностью работоспособном состоянии восстанавливается только этот сайт.
        • Публичная часть остальных сайтов сохраняется в архиве в папках вида /bitrix/backup/sites/_ID_сайта_. При распаковке архива появится предупреждение, что в нём содержится несколько публичных частей. После распаковки администратор должен будет вручную перенести папки сайтов в соответствующие папки на сервере.
        • Многосайтовость надо восстановить вручную (восстановить симлинки). Только после этого остальные сайты будут работоспособны.

    Вкладка Параметры

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

    Внимание! Если вы не совсем ясно представляете суть настроек параметров, то рекомендуется не пользоваться этой опцией, а оставить настройки по умолчанию

    Нажмите на рисунок, чтобы увеличить

    К вкладке Параметры относятся важные примечания:

    1. Для маски исключения действуют следующие правила:

      • шаблон маски может содержать символы "*", которые соответствуют любому количеству любых символов в имени файла или папки;
      • если в начале стоит косая черта ("/" или "\"), путь считается от корня сайта;
      • в противном случае шаблон применяется к каждому файлу или папке;

      Примеры шаблонов:

      • /content/photo - исключить целиком папку /content/photo;
      • *.zip - исключить файлы с расширением "zip";
      • .access.php - исключить все файлы ".access.php";
      • /files/download/*.zip - исключить файлы с расширением "zip" в директории /files/download;
      • /files/d*/*.ht* - исключить файлы из директорий, начинающихся на "/files/d" с расширениями, начинающимися на "ht".
    2. При размещении резервной копии в облачном хранилище "1С-Битрикс" отключить шифрование нельзя.
    3. Системные ограничения php не позволяют делать размер одной части архива более 2 Гб. Не устанавливайте это значение больше 200 Мб т.к. это существенно увеличивает время архивации и распаковки, оптимальное значение: 100 Мб.

    Подробнее о полях на вкладке Параметры

    • Величина поля [dw]Длительность шага[/dw][di][/di] зависит от параметров, установленных на хостинге (в php.ini). Если точное доступное значение шага неизвестно, то рекомендуются значения не более 30.
    • Если настроено несколько сайтов с разными путями к корневой папке веб-сервера, они сохраняются и восстанавливаются отдельно. При этом полный архив делается один раз. А затем, при архивации других сайтов, необходимо будет [dw]исключить ядро и базу данных[/dw][di][/di] через экспертные настройки. Если восстановление делается на другом сервере, символьные ссылки на папки /bitrix и /upload необходимо будет создать вручную.
    • Если копия будет сохраняться [dw]локально[/dw][di][/di], то можно не использовать опцию [dw]шифрования данных резервной копии[/dw][di][/di], это снизит нагрузку на сервер при создании архива.
    • Суть [dw]Проверки целостности архива после его завершения[/dw][di][/di] в том, что идет "виртуальная" распаковка без создания файлов. То есть это гарантирует, что сам по себе файл получился корректный. Полную гарантию целостности резервной копии можно дать после полного восстановления сайта.
    Примечание: Подробное описание полей формы смотрите на странице пользовательской документации.

    Подробнее про операцию переноса сайта с локальной машины на удаленный хостинг смотрите в уроке Перенос продукта.

    Хранение и шифрование резервных копий

    Где хранить бэкапы сайта - на локальном компьютере, в облаке 1С-Битрикс или в сторонних облачных хранилищах обычно решает администратор в соответствии с политикой компании. А CMS "1С-Битрикс" обеспечивает все эти возможности.

    В списке резервных копий (Настройки > Инструменты > Резервное копирование > Список резервных копий) отмечено, является ли бэкап локальным или облачным. И действия, доступные в контекстом меню, также отличаются:

    Нажмите на рисунок, чтобы увеличить

    Локальный бэкап

    Для сохранения на локальный носитель надо на закладке Резервное копирование выбрать опцию в папке сайта и нажать кнопку Резервное копирование. Архив создастся и сохранится. В имени файла будет содержаться дата создания.

    Нажмите на рисунок, чтобы увеличить

    В рамках файловой структуры сайта [dw]файлы копий хранятся в папке[/dw][di][/di] в папке /bitrix/backup.


    Облачный бэкап

    Можно хранить резервную копию в собственном облачном хранилище или в облачном хранилище, предоставляемом компанией "1С-Битрикс".

    В обоих случаях необходимы:

    • установленный модуль Облачные хранилища (clouds),
    • подключённое какое-либо хранилище,
    • доступный на сервере php модуль mcrypt (иначе отобразится соответствующая ошибка и будет недоступно шифрование).

    Если используется копирование в облако "1С-Битрикс", то дополнительно необходимы:

    Примечание: Хранение бэкапа в облаке "1С-Битрикс" не требует оплаченного и подключённого стороннего облачного хранилища. Однако объем хранимой информации ограничен:
    • «1С-Битрикс: Управление сайтом» - Старт: 1 Гб;
    • «1С-Битрикс: Управление сайтом» - Стандарт: 2 Гб;
    • «1С-Битрикс: Управление сайтом» - Малый бизнес: 4 Гб;
    • «1С-Битрикс: Управление сайтом» - Эксперт: 6 Гб;
    • «1С-Битрикс: Управление сайтом» - Бизнес: 10 Гб;
    • «Битрикс24 в коробке» - Корпоративный портал: 20 Гб;
    • «Битрикс24 в коробке» - Холдинг: 50 Гб.

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

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

    Примечание: Облако "1С-Битрикс" доступно пользователям с активной лицензией. Если лицензия закончилась, то файл бэкапа будет доступен в облаке "1С-Битрикс" в течение двух недель. Но восстановить резервную копию из облака можно только при наличии активного лицензионного ключа.


    Шифрование

    При хранении резервной копии в любом облачном хранилище требуется гарантия безопасности данных. Делается это с помощью шифрования. Для шифрования бэкапа в настройках на закладке Параметры должна быть [dw]включена опция[/dw][di]Шифровать данные резервной копии.

    Примечание: при размещении резервной копии в облачном хранилище "1С-Битрикс" отключить шифрование нельзя.

    Внимание! Пароль пользователя не хранится в системе Bitrix Framework или в компании "1С-Битрикс". При создании бэкапа на сервер компании "1С-Битрикс" передается только хеш пароля пользователя, который позволяет проверить корректность пароля, но не дает возможности распаковать архив.

    Компания "1С-Битрикс" не может восстановить или поменять пароль! Будьте внимательны, без знания этого пароля восстановить бэкап не удастся!

    Список резервных копий привязывается к лицензионному ключу (для многосайтовой установки облачное хранилище будет общее). Если даже произошла "утечка" ключа в чужие руки, то невозможно переполнить хранилище этого ключа: записывать резервные копии можно только с оригинальной установки (допускается еще одна копия для разработки). Повторный ввод ключа блокирует запись бэкапа.

    Если шифрование включено, то перед началом создания резервной копии появится [dw]окно для ввода пароля[/dw][di][/di]. Рекомендуем, чтобы пароль содержал не менее 6 знаков и использовал спецсимволы.

    Примечание: для каждой резервной копии можно задать свой отдельный пароль.

    После задания пароля продолжится создание резервной копии.

    Резервную копию из облака "1С-Битрикс" можно только восстановить. Из стороннего облачного хранилища архив можно скачать на локальный носитель.



    Регулярное резервное копирование

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

    С версии 12.0 в Bitrix Framework возможно создание резервных копий в автоматическом режиме. Параметры автоматического резервного копирования задаются на странице Регулярное резервное копирование (Настройки > Инструменты > Резервное копирование > Регулярное резервное копирование).

    Нажмите на рисунок, чтобы увеличить

    Примечание: Детальное описание полей формы смотрите в документации.

    Настройки автоматического бэкапа

    На странице Регулярное резервное копирование можно:

    • [dw]Включить или выключить[/dw][di][/di] регулярное копирование
    • Указать, [dw]где размещать резервную копию[/dw][di][/di] - локально на сайте, либо в облаках: 1С-Битрикс и в стороннем облаке
    • Задать [dw]расписание копирования[/dw][di][/di]
    • Настроить порядок [dw]сохранения или удаления локальных копий[/dw][di][/di]
    • Указать, какие [dw]части сайта исключать или включать[/dw][di][/di] в резервную копию (аналогично настройкам при ручном архивировании)
    • Настроить [dw]режим архивации[/dw][di][/di]

      Примечание: при автоматическом создании резервной копии, в отличие от ручного создания, приходится хранить пароль пользователя в базе данных в зашифрованном виде. Для шифрования используется лицензионный ключ. То есть несанкционированный доступ к файлу архива возможен, если только злоумышленник получит полный доступ к вашему сайту. Даже если такое произойдёт, то удалить архив сайта с облака "1С-Битрикс" ему не удастся.
    • Выбрать [dw]метод запуска[/dw][di][/di] резервного копирования. Доступен запуск:
        • через облачный сервис 1С-Битрикс
        • с агентами на cron. Нужно настроить выполнение агентов на cron, запуская каждую минуту /bitrix/modules/main/tools/cron_events.php. При этом автоматическое резервирование будет выключено.
        • через прямой запуск /bitrix/modules/main/tools/backup.php. Если по каким-то причинам на проекте не используются агенты, то необходимо настроить на определенное время запуск php скрипта /bitrix/modules/main/tools/backup.php через панель хостинга.

    Как работает автоматическое резервное копирование в зависимости от метода запуска

    • Если выбрано копирование через облачный сервис, то для создания копии не нужно производить никаких дополнительных действий. Это самый простой вариант. Он рекомендуется для несложных проектов с малоопытными администраторами.

      После запуска процесса на странице Настройки > Облако 1С-Битрикс > Расписание резервирования появится ваше расписание, уникальный идентификатор которого передаётся облачному сервису. При наступлении указанного времени создания резервной копии сервис откроет специальную страницу на вашем сайте и передаст ей требуемые параметры, чтобы создать бэкап. Доступ к административной части не требуется и административный раздел может быть закрыт по IP.

      После выполнения копирования, на странице Настройки > Облако 1С-Битрикс > Резервные копии появится список всех создаваемых копий. Эти же копии отобразятся на странице Настройки > Инструменты > Резервное копирование > Список резервных копий. С этой страницы возможно их восстановление.

      Примечание: так как резервное копирование делается на серверах в облаке, на странице Настройки > Облако 1С-Битрикс > Расписание резервирования время создания бэкапа указывается по UTC.

    • Скрипт /bitrix/modules/main/tools/cron_events.php выполняется на cron'е каждую минуту. Сначала он проверяет отправку почты и выполняет системные агенты. Затем, если наступило установленное в настройках время, создаётся резервная копия. Создание копии задано не через агент сознательно: чтобы отправка почты и выполнение агентов могли выполняться независимо от создания резервной копии.

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

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

      Нажмите на рисунок, чтобы увеличить

      Документация по теме:


    Резервное копирование из командной строки


    Возможно, вы предпочитаете использовать запуск из командной строки вместо штатных инструментов резервного копирования? Учтите, что перед выполнением бэкапа вам обязательно необходимо перейти в папку, где установлено «Битрикс: Веб-окружение», иначе не подключатся нужные модули php.


    Пример для Windows

    Если «Битрикс: Веб-окружение» размещено по пути c:\Bitrix\, то нужно перейти в папку:

    cd c:\Bitrix\

    И выполнить бэкап без БД:

    "C:\Bitrix\apache2\zendserver\bin\php.exe" -c "C:\Bitrix\apache2\zendserver\etc\php.ini" -f "C:\Bitrix\www\bitrix\modules\main\tools\backup.php"


    Восстановление сайта из резервной копии

    Для восстановления сайта на странице Список резервных копий (Настройки > Инструменты > Резервное копирование > Список резервных копий) в меню действий выберите пункт [dw]Восстановить[/dw][di][/di].

    Система запустит мастер восстановления из резервной копии:

    • Если архив был сохранен в облаке «1С-Битрикс», то будет предложено выбрать файл с архивом (необходимо ввести лицензионный ключ, если он не был введен ранее в системе) и пароль:

    • Если архив с резервной копией был сохранен локально, то после ввода пароля (если архив запаролен) начнется распаковка архива:

    • После завершения распаковки файлов необходимо будет указать настройки соединения с базой данных, если при создании резервной копии был создан дамп базы данных, или пропустить восстановление базы данных:

      Настройки подключения к MySQL по умолчанию берутся из /home/bitrix/www/bitrix/php_interface/dbconn.php.

      Можно указать собственные параметры подключения к MySQL - в этом случае необходимо еще выбрать опцию Создать базу данных, если не существует.

    • После успешного восстановления базы данных в целях безопасности необходимо Удалить локальную резервную копию и служебные скрипты, нажав на одноименную кнопку::

    • Восстановление завершено:

    Примечание: О переносе сайта с одного сервера на другой можно прочитать в уроке Перенос продукта «1C-Битрикс» v.12.

    Если вы не можете попасть в админку




    Резервное копирование до v 12


    Доступны несколько режимов создания резервной копии:

    • Стандартные режимы создания резервной копии (закладка Стандартные)

      Стандартные режимы создания резервной копии

      В форме представлены типовые режимы создания резервной копии:

      • Стандартный хостинг (подходит для большинства сайтов);
      • Выделенный сервер или VPS (оптимально по времени);
      • Безопасный режим (если другие режимы не работают: без сжатия, с перерывами между шагами).

      Будет создан полный архив публичной части текущего сайта (для многосайтовой конфигурации на разных доменах), ядра продукта и базы данных (только для MySQL), который подходит для полного восстановления системы и переноса на другой сервер.

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

    • Специальные настройки создания резервной копии (закладка Расширенные)

      Форма позволяет произвести настройки создания копии сайта.

      Специальные настройки создания резервной копии


    Созданные файлы можно сразу же скачать с сайта и использовать на другом сервере.

    Скачивание архива

    В рамках файловой структуры сайта файлы копий хранятся в папке /bitrix/backup.



    Для переноса архива сайта на другой хостинг поместите в корневой папке нового сайта скрипт для восстановления restore.php и сам архив, затем наберите в строке браузера <имя_сайта>/restore.php и следуйте инструкциям по распаковке.

    Примечание: Скрипт restore.php можно скачать по ссылке, расположенной вверху, на той же странице Резервное копирование.

    Примечание: Подробное описание полей формы смотрите на странице пользовательской документации.

    Подробнее про операцию переноса сайта с локальной машины на удаленный хостинг смотрите в уроке Перенос продукта.


    Резервное копирование по расписанию

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

    Создание архива - длительный и ресурсоёмкий процесс, на один хит это делать никак нельзя.

    Варианты решения задачи:

    • сделать интерфейс, через который можно запускать создание архива через внешний планировщик (cron);
    • использовать системные инструменты.

    Рассмотрим вариант для Unix.

  • Создаем скрипт
  • Как улучшить
  • Удаление старых архивов
  • Автоматическое восстановление
  • Как пользоваться?
  • Имеем unix подобную систему (Linux, Freebsd и т.д.) и возможность ставить задачи на cron. Традиционно unix предоставляет утилиту tar для создания архивов и bzip для сжатия, а база данных MySQL - утилиту создания дампа базы mysqldump.

    Создаем скрипт

    Архив портала по сути представляет дамп базы данных (содержимое БД в виде файла) и все файлы сайта (включая публичную часть и ядро Bitrix Framework).

    Значит, перейдём в корень портала и дамп базы создадим командой:

    mysqldump -hhost -uuser -ppass dbname > dump.sql

    А архив создадим командой:

    tar -czf archive.tar.gz 

    Теперь если это оформить в простейший скрипт, получим:

    #!/bin/sh
    ###### Config ######
    doc_root=/home/denis/www/test
    host=localhost
    username=username
    password=secret
    database=sitemanager_demo_start
    charset=cp1251
    ###################
    cd $doc_root &&
    mysqldump -h$host -u$username -p$password --default-character-set=$charset $database > $doc_root/bitrix/backup/archive.sql &&
    tar -czf $doc_root/bitrix/backup/archive.tar.gz . &&
    echo OK

    В коде вводятся параметры конфигурации, необходимо указать соответственно свои:

    • путь к корневой папке портала (значение DOCUMENT_ROOT в phpinfo),
    • имя хоста,
    • имя пользователя,
    • пароль и имя БД,
    • кодировку базы данных. Для портала в UTF-8 надо написать utf8, иначе оставить как есть.
    Примечание: Обратите внимание, что пробелы ни перед, ни после "равно" не ставятся.

    Этот вариант скрипта переходит в корень портала, создаёт дамп базы в кодировке, которую мы указали, затем создаёт в папке bitrix/backup архив сайта.

    Конструкция && позволяет прервать выполнение в случае ошибки (например, не удалось подключиться к базе).

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

    Как улучшить

    Можно воспользоваться параметром исключения --exclude для папки bitrix/backup, добавив дамп базы, который лежит в этой папке, отдельным вызовом. Заодно можно упростить настройку скрипта, адаптировав его под Bitrix Framework, ведь мы же знаем, что все данные подключения к базе хранятся в bitrix/php_interface/dbconn.php. Тогда в качестве настройки можно будет использовать только путь к корневой папке портала.

    #!/bin/sh
    doc_root=$1
    name=$2
    if [ -z $doc_root ]; then
       echo Usage: $0 /path/to/document/root [backup_name]
       exit
    fi
    
    if [ -z $name ]; then
       name=backup
    fi
    
    dbconn=$doc_root/bitrix/php_interface/dbconn.php
    
    readcfg() {
       grep $1 $dbconn | sed 's/.*"\(.*\)".*/\1/'
    }
    
    host=`readcfg DBHost`
    username=`readcfg DBLogin`
    password=`readcfg DBPassword`
    database=`readcfg DBName`
    
    utf=`grep 'BX_UTF' $dbconn | grep true`
    
    if [ -z "$utf" ]; then
       charset=cp1251
    else
       charset=utf8
    fi
    
    backup_dir=$doc_root/bitrix/backup
    
    if [ ! -e $backup_dir ]; then
       mkdir $backup_dir
    fi
    
    cd $doc_root && 
    mysqldump -h$host -u$username -p$password --default-character-set=$charset $database > $backup_dir/$name.sql && 
    tar -cf $backup_dir/$name.tar $backup_dir/$name.sql &&  
    rm $backup_dir/$name.sql &&
    tar -rf $backup_dir/$name.tar --exclude '*bitrix/tmp/*' --exclude '*bitrix/updates/*' --exclude '*bitrix/backup/*' --exclude '*bitrix/*cache/*' . && 
    gzip -f -9 $backup_dir/$name.tar && 
    echo OK && exit
    echo Error

    Этот вариант скрипта читает параметры dbconn.php, подключается к базе данных, делает дамп. Затем делает архив портала и сжимает его. Дамп удаляет. В случае необходимости создаёт папку bitrix/backup.

    На вход скрипт принимает два параметра: путь к корню портала и имя архива без расширения (не обязательный, по умолчанию backup).

    В случае успеха пишет ОК, иначе Error.

    Удаление старых архивов

    В описанном варианте если имя архива не меняется - он каждый раз переписывается. Если меняется имя архива, можно легко сделать удаление старых бэкапов. Например, удаляем архивы старше недели:

    заменяем строку
    echo OK && exit
    на
    find $backup_dir -ctime +7 -exec rm {} \; && echo OK && exit

    Автоматическое восстановление

    Технически с помощью скрипта можно производить и автоматическое восстановление. Но автоматическое восстановление портала - процедура не безопасная. Что-то пойдёт не так и портал «упадёт». Это следует делать с большой осторожностью.

    Хотя само по себе восстановить базу несложно. Замените

    mysqldump -h$host -u$username -p$password --default-character-set=$charset $database > $backup_dir/$name.sql
    на
    mysql -h$host -u$username -p$password --default-character-set=$charset $database < $backup_dir/$name.sql
    и удалите всё что ниже.

    Внимание ! И всё же мы настоятельно не рекомендуем это делать на живом проекте в автоматическом режиме.

    Как пользоваться?

    • Сохраняем код скрипта в файле на хостинге, желательно за пределами корня портала, например backup.sh, делаем исполняемым:
      chmod +x backup.sh
    • Проверяем из корня портала:
      ./backup.sh
      Должно отобразиться OK, а в папке bitrix/backup появиться файл backup.tar.gz.
    • С целью безопасности лучше задать имя архива, иначе злоумышленник сможет скачать его по прямой ссылке: http://portal.ru/bitrix/backup/backup.tar.gz/ Например:
      /home/denis/bin/backup.sh /var/www/test f43tg245g2_backup
    • Добавляем задачу на cron. Если мы хотим делать резервную копию регулярно в час ночи, пишем:
      crontab -e
      и
      0 1 * * * /home/denis/bin/backup.sh /var/www/test f43tg245g2_backup
    • А если надо, чтобы каждый раз создавался новый архив с именем даты, запись может иметь вид:
      0 1 * * * /home/denis/bin/backup.sh /var/www/test f43tg245g2_backup_`date +\%Y\%m\%d`

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


    Резервное копирование в облачное хранилище



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

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

    Если в файл архива включаются файлы из подключённых облаков (для этого нужно отметить флажками нужные хранилища в поле Файлы из этих хранилищ будут помещены в архив), то эти данные сохраняются в папку /bitrix/backup/clouds на момент архивации и удаляются после её завершения.

    Примечание: Эта возможность необходима, чтобы переехать с Битрикс24 на «Битрикс24 в коробке».

    Архивы, размещенные в облачных хранилищах, можно в любой момент скачать на локальный компьютер, а архивы, размещенные локально - загрузить в облачное хранилище:

    Для восстановления архива с помощью restore.php необходимо на втором шаге использовать ссылку по команде Получить ссылку для переноса.




    О безопасности данных

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

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

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



    Облако 1С-Битрикс


    Сохранять бэкап в "облаках" можно непосредственно из административного раздела вашего сайта. Модуль Облако 1С-Битрикс предоставляет пользователям доступ к практически безграничному объему хранилища в Amazon S3 (Simple Storage Service).

    Штатные средства модуля содержит такие продвинутые функции, как:

    • Инспектирование сайта. Периодическая автоматическая проверка доступности и работоспособности сайта. Инспектор сообщит обо всех неполадках через E-mail или push-уведомления для мобильных устройств.
    • CDN. [dw]Раздача статического контента[/dw][di][/di] (картинки, файлы стилей css, скрипты js) через сеть дистрибуции контента (Content Delivery Network или Content Distribution Network, CDN). При этом значительная часть ресурсов сайта загружается посетителем с ближайшего к нему сервера. Это позволяет увеличить скорость загрузки страниц до нескольких раз!
    • Работа с резервными копиями. [dw]Создание и просмотр резервных копий[/dw][di][/di] непосредственно в административном разделе вашего сайта.


    Схема работы резервного копирования с модулями Облако "1С-Битрикс" и Облачные хранилища


    Инспектор сайтов


    Инспектор сайтов периодически проверяет доступность и работоспособность сайта и сообщает обо всех неполадках через E-mail или push-уведомления для мобильных устройств.

    Инспектор сайтов

    Содержание видеоролика может отличаться от текущей версии продукта. Более актуальная информация содержится в тексте урока.

    Примечание: Проверка осуществляется со стороны серверов компании "1С-Битрикс", поэтому сайт должен быть доступен "снаружи".


    Инспектор сайта отслеживает 4 параметра, очень важных для работы любого веб-проекта, и особенно интернет-магазина:

    • раз в 5 минут проверяет доступность сайта из двух географических точек;
    • раз в день проверяет срок действия домена.

      Инспектор сайта напомнит за 30 дней о необходимости продлить домен. Повторяться напоминания будут раз в неделю, пока домен не будет продлен.
    • раз в день проверяет срок SSL-сертификата;
    • раз в день проверяет срок действия лицензионного ключа.

      Инспектор сайта напомнит за 30 дней об окончании срока активности обновлений и технической поддержки для вашей лицензии.

    Предусмотрены следующие способы получения информации от Инспектора сайта:

    • Гаджет на рабочем столе вашего сайта

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

      Примечание: Из-за кеширования и проверок, что сайт точно восстановил свою работоспособность, статус сайта в "Гаджете на рабочем столе сайта" и "Мобильном приложении" обновляется не сразу, а лишь через некоторое время.

    • Страница Инспектор сайтов (Настройки > Облако 1С-Битрикс > Инспектор сайтов), на которой отображается детальная информация по всем параметрам инспектирования:

    • Письма на адрес электронной почты, указанный при добавлении сайта в инспектор:

      После обнаружения проблемы инспектором, на указанный почтовый адрес придет соответствующее уведомление в течение 3-9 минут.

      Примечание: После установки обновления сайт(ы) автоматически добавляется в список инспектируемых сайтов. E-mail для оповещения берется из настроек Главного модуля, а если там адрес не указан, то из настроек сайта.

    • Мобильное приложение для администрирования сайтов, в котором можно просматривать статистику инспектора по сайту и получать push-уведомления (с версии модуля bitrixcloud 14.0.1).


      Соответственно, доступны настройки для редактирования записей о сайтах (какие сайты, что проверять) и включение/выключение push-нотификаций.

    Настройка

    • Для корректной работы сервиса для инспектируемого сайта должен быть указан домен на странице Редактирования сайта (Настройки продукта > Сайты > Список сайтов > требуемый_сайт) или в поле URL сайта настроек Главного модуля (Настройки > Настройки продукта > Настройки модулей > Главный модуль).
    • После чего необходимо перейти на страницу Инспектор сайтов (Настройки > Облако 1С-Битрикс > Инспектор сайтов) и с помощью соответствующей кнопки [dw]Добавить сайт для инспектирования[/dw][di]ins_site.png[/di].

    Примечание: На странице настроек модуля Облако 1С-Битрикс можно указывать период времени, который будет использован для расчета и отображения информации на странице Инспектор сайтов (Настройки > Облако 1С-Битрикс > Инспектор сайтов).



    Документация по теме:



    Настройки CDN


    Настройка сервиса

    Включение и настройки сервиса Ускорение сайта CDN осуществляются на странице Настройки > Облако 1С-Битрикс > Ускорение сайта (CDN).

    Нажмите на рисунок, чтобы увеличить

    На закладке Ускорение производится непосредственное включение сервиса.

    После включения поддержки CDN ссылки на статические файлы сайта (картинки, файлы стилей css, скрипты js) будут заменены. Вместо локальных URL'ов будут использоваться служебные имена серверов сети CDN. При этом не потребуется вносить никакие изменения в DNS и не нужно заботиться о сбросе кеша CDN при обновлении файлов.


    На закладке Что ускорять можно указать, для каких статических файлов публичной части сайта будет включена поддержка CDN.

    При отмеченной опции Контент сайта будет производиться загрузка в сеть CDN файлов, расположенных в папке /upload.


    На закладке Сайты можно указать, для каких сайтов загружать ресурсы и делать замену ссылок. Например, при использовании многосайтовости.

    Отдельно можно указать, чтоб производилась загрузка статических файлов административного раздела.


    На закладке Дополнительно можно указать альтернативный источник оригинальных файлов, откуда забирают контент узлы CDN. По умолчанию используется адрес основного сайта. Это может быть полезно, например, в случае использования разных доменов (многосайтовости). Так же укажите протокол HTTPS, если он вами используется.

    ins_site2.png

    Примечание: В поле url сайта с которого CDN будет брать ресурсы (css, js, изображения и т.п.) нельзя писать http://.
    Написание домена сайта в этом поле должно совпадать с тем, что выводится на странице странице проверки лицензионного ключа.



    Ускорение сайта CDN


    Новый модуль Ускорение сайта (CDN) доступен с версии 12. Он позволяет загружать весь статический контент вашего сайта (картинки, файлы стилей css, скрипты js) через сеть дистрибуции контента (Content Delivery Network или Content Distribution Network, CDN).

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

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

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

    При включении модуля Ускорение сайта (CDN) ссылки заменяются на разные домены, и уже лишь каждый отдельный домен имеет ограничение на число соединений. Их же реальное максимальное число становится в несколько раз больше (по числу доменов, с которых осуществляется загрузка файлов).

    Внимание! Модуль является бесплатной дополнительной опцией для любой лицензии на «1С-Битрикс: Управление сайтом» (кроме редакции «Первый сайт»). Функционал модуля доступен для сайтов с активной коммерческой лицензией (технической поддержкой) и имеющим доступ из интернета.

    Подробнее про условия использования сервиса смотрите на сайте.


    Схема работы

    Схема работы CDN при подключении одного сайта выглядит примерно так:

    ">

    После включения поддержки CDN ссылки на статические файлы сайта (картинки, файлы стилей css, скрипты js) будут заменены. Вместо локальных URL'ов будут использоваться служебные имена серверов сети CDN.

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

    Примечание: В случае отсутствия ресурсов в CDN он их автоматически подгружает с сайта, указанного на закладке Дополнительно (Настройки > Облако 1С-Битрикс > Ускорение сайта (CDN)).

    Размещение контента на многих серверах CDN и отдача его посетителям из ближайшей к нему точки сокращает сетевой маршрут передачи данных и делает загрузку сайта быстрее с точки зрения пользователя.

    Примечание: Источником данных о статическом контенте, который автоматически будет загружаться в CDN, будет являться HTML, возвращаемый сервером.

    Примечание: На данный момент загрузка статических данных в сеть CDN осуществляется только из папок /bitrix и /upload.



    Частые вопросы


    Документация по теме:


    Облако 1С-Битрикс - настройки модуля


    Настройка модуля

    Для настройки модуля Облако 1С-Битрикс перейдите на страницу Настройки > Настройка Продукта > Настройки модулей > Облако 1С-Битрикс:

    На вкладке Настройки указывается период времени, который будет использован для расчета и отображения информации на странице Инспектор сайтов (Настройки > Облако 1С-Битрикс > Инспектор сайтов).

    На вкладке Доступ настраиваются права доступа к модулю Облачные хранилища для групп пользователей. Работа на вкладке аналогична таковой для модуля Веб-формы.

    cloud_sett.png

    Как использовать модуль, подробно рассказано в курсе Администратор.Базовый в главе Облако 1С-Битрикс.

    Документация по теме:



    Облачные хранилища


    Что такое облачные хранилища

    Облачное хранилище — это вариант хранения данных - недорогой, очень распространенный и уже привычный многим пользователям Интернета, особенно мобильного. Данные хранятся на многочисленных серверах, расположенных в сети. Причем физически и географически они могут находиться весьма удалённо друг от друга, вплоть до разных континентов. А с точки зрения клиента, его файлы лежат где-то на одном большом виртуальном сервере и доступны везде, где есть интернет. Доступ к ним предоставляется провайдером, поставщиком таких услуг.

    Модуль Облачные хранилища позволяет перенести хранение файлов вашего сайта вместо корпоративного сервера в "облако".

    Внимание! Хранение важной информации "вне корпоративного сервера" может быть небезопасно. Это особенно актуально для продуктов «Битрикс24 в коробке».

    Нажмите на рисунок, чтобы увеличить


    Выгоды от использования облачных хранилищ:

    • Сокращение расходов. Размещение данных "в облаках" намного дешевле стандартного хранения.
    • Доступность данных. Ваши данные всегда доступны для клиентов, независимо от их местонахождения.
    • Скорость доставки контента. Почти все провайдеры облачных хранилищ предлагают клиентам CDN (Content Delivery Network или Content Distribution Network — географически распределённая сетевая инфраструктура, позволяющая оптимизировать доставку и дистрибуцию контента конечным пользователям в сети Интернет).
    • Снижение нагрузки на сервера. Даже при одновременном подключении к вашему сайту множества пользователей с разных устройств, процессы на вашем веб-сервере не будет тормозить. Т.к. отдачей статики заняты "облака", то снижается и нагрузка на диск.
    • Защита от потери данных. Даже если что-то случится с вашим корпоративным веб-сервером, то файлы не потеряются, если выбрать тарифный план с соответствующей гарантией.

    Администрирование модуля

    Администрирование модуля (настройка, задание прав) описано в курсе Администратор. Модули.

    Документация по теме:


    Создание подключения

    Модуль Облачные хранилища позволяет перенести хранение файлов разных модулей в облачные хранилища. Например, можно настроить, что изображения, загружаемые посетителями сайта в блог, будут автоматически сохраняться в "облаке".

    Создание и просмотр подключений

    Список всех подключений к облачным хранилищам находится на странице Облачные хранилища (Настройки > Облачные хранилища). В таблице можно увидеть, активно ли подключение, сколько файлов в нём расположено и какого объема и т.д.

    Нажмите на рисунок, чтобы увеличить

    Здесь же можно создать новое подключение, нажав кнопку knop_add.png. На вкладке Подключение задаются основные параметры:

    Нажмите на рисунок, чтобы увеличить

    • В поле Провайдер выберите поставщика услуг облачного хранения данных. В зависимости от вашего выбора следующие поля в форме будут отличаться:
        • Поле Регион предназначено для выбора желаемого географического местоположения дата-центра. Но для некоторых провайдеров Регион устанавливается по умолчанию и его нельзя изменить. Например, для HotBox установлен домен hb.cldmail.ru
        • Поле Всегда использовать протокол http можно активировать только для провайдеров OpenStack Object Storage и Rackspace Cloud Files
        • Для провайдеров Amazon Simple Storage Service и Google Storage под полями расположена краткая инструкция по подключению
        • Параметры доступа Ключ доступа, Секретный ключ, Идентификатор проекта, Имя сервера (API host) и др. заполняются данными, которые вы получаете на сайте провайдера
    • В поле Контейнер укажите название [dw]контейнера[/dw][di]Контейнер - логическая структура облачного хранилища[/di], которое потом позволит идентифицировать его. По умолчанию в поле уже указано уникальное название. Для каждого подключения создается отдельный контейнер.
    • Опция Только для чтения позволяет производить с контейнером только операции чтения. При отмеченной опции новые файлы будут сохраняться не в контейнере, а на хостинге с проектом.
    • При желании можно указать Каноническое имя домена (CNAME), что позволит вместо ссылки вида c123456.r78.bc9.rackcdn.com/blog/avatar/logo.png получить upload.mysite.com/blog/avatar/logo.png.

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

    Нажмите на рисунок, чтобы увеличить

    • В колонке Список модулей укажите [dw]названия модулей[/dw][di] <[/di], данные которых будут загружаться в "облако". Например: iblock, advertising. Если оставить поле пустым, то под действие правила попадают файлы любых модулей.
    • В колонке Список расширений укажите расширения файлов для хранения в облачном хранилище. Например: gif, png, jpeg, jpg. Если поле не заполнено, то под действие правила подпадают статические файлы с любым расширением. Список является нечувствительным к регистру.
    • В колонке Список размеров укажите размеров файлов. Допустимо использовать суффиксы, такие как: K, M или G. Так же возможно задавать диапазоны размеров. Например: 1K-1M, 2.3M-. Если поле не заполнено, то под действие правила подпадают файлы любого размера.

    Нажмите кнопку Сохранить.

    Новый контейнер появится в списке на странице Облачные хранилища (Настройки > Облачные хранилища) сразу после подключения. Вновь загружаемые файлы автоматически будут сохраняться в "облако". Ссылки на файлы будут также автоматически формироваться с учетом их расположения в "облаке".

    Как выглядят "облачные" ссылки

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


    Перенос файлов в облако и обратно


    Перенос файлов в облачное хранилище

    Файлы, которые вы будете загружать в Битрикс после создания нового подключения, сразу будут сохраняться в "облако".

    А если необходимо перенести в облачное хранилище старые файлы, то в меню действий списка подключений выберите пункт Переместить файлы в облачное хранилище:

    cloud4.png

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

    Как перенести файлы, не указанные в правилах

    Процесс переноса можно отслеживать:



    Возвращение файлов из облачного хранилища

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



    Меню действий

    Для контейнеров также доступны следующие действия:

    • Изменить - изменение параметров подключения. Действия аналогичны созданию нового подключения к облачному хранилищу;
    • Деактивировать - перевод контейнера облачного хранилища в неактивное состояние. В этом случае данные будут доступны для чтения, но запись будет невозможна;
    • Удалить - удаление подключения к облачному хранилищу.

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

    Что можно сделать с файлами в облачном хранилище


    Просмотреть список подключенных [dw]контейнеров[/dw][di]Контейнер - логическая структура облачного хранилища.[/di] облачных хранилищ и их содержимое можно на странице Облачные хранилища (Контент > Облачные хранилища).

    Примечание: страница доступна только при установленном модуле Облачные хранилища и после подключения хотя бы одного контейнера.

    В зависимости от настроенных прав доступа, для содержимого каждого контейнера можно:

    • Посмотреть список файлов и папок. Также отображаются Размеры каталогов (с учетом вложенности) при нажатии на соответствующую кнопку контекстной панели:

      Нажмите на рисунок, чтобы увеличить

    • Удалить. Операция удаления доступна в меню действий.
    • Добавить новый файл. Файл добавляется непосредственно в облако с помощью кнопки Новый файл на контекстной панели (Контент > Облачные хранилища > [название_контейнера]).

      Нажмите на рисунок, чтобы увеличить

    Документация по теме:


    Облачные хранилища - настройка модуля


    Настройка модуля

    Для настройки модуля Облачные хранилища перейдите на страницу Настройки > Настройка Продукта > Настройки модулей > Облачные хранилища:

    На вкладке Настройки указывается, следует ли Записывать 404 ошибки на перемещенных в облака файлах в журнал событий.

    На вкладке Доступ настраиваются права доступа к модулю Облачные хранилища для групп пользователей. Работа на вкладке аналогична таковой для модуля Веб-формы.

    Настройки облачных хранилищ

    Как использовать модуль, подробно рассказано в курсе Администратор.Базовый в главе Облачные хранилища.

    Документация по теме:



    Поиск

    Модуль Поиск используется для индексирования и организации поиска информации на сайте. Модуль позволяет осуществлять поиск как статической, так и динамической информации. Таким образом, пользователи сайта могут осуществлять поиск информации в любом каталоге товаров, новостях, сообщениях форума, социальной сети и в любом статическом разделе сайта.

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

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

    Внимание! Содержимое включаемых областей не индексируется поиском.

    Внимание! Слова, состоящие из одного символа, не индексируются поиском. К примеру, поисковый запрос "iPhone 5" не будет учитывать цифру.

    Документация по теме:


    Настройки модуля "Поиск"

    Наладка на сайте поиска начинается с настройки параметров модуля. В административном разделе сайта откройте страницу Настройки > Настройки продукта > Настройки модулей > Поиск:

    Нажмите на рисунок, чтобы увеличить

    Для удобства заполнения форма разбита на закладки:

    • [dw]Индексация[/dw][di][/di] - настраивается ограничение поиска по целому ряду параметров. Например, по размеру файлов, типу файлов, папкам, которые не нужно индексировать.
      • Максимальный размер индексируемого документа в килобайтах - позволяет ограничить документы, участвующие в поиске, по их размеру. Пустое значение означает отсутствие ограничения.
      • Маска включения - позволяет задать маску, по которой будут выбираться документы, участвующие в поиске.
      • Маска исключения - определяется условие, на основе которого документы будут исключаться из индекса и поиска.
      • Код свойства страницы в котором хранятся теги - указывается код свойства страницы, в котором хранятся теги.
    • [dw]Морфология[/dw][di][/di] - можно разрешить/запретить морфологический поиск на сайте и настроить его параметры.

      Морфологический поиск - возможность поисковой системы искать слово в документах во всех его морфологических формах.

      При морфологическом анализе модуль Поиск разбивает предложения на слова, используя стандартные символы-разделители (пробел, точка, запятая и т.п.). Однако, существуют символы, которые, не будучи буквами, все же являются частями слов (например, дефисы). Чтобы в подобных случаях разбивка слов не выполнялась, в поле Cимволы, по которым не производится разделение документа на слова укажите символы, которые морфологический анализатор должен рассматривать как части слов. По умолчанию там стоит дефис.

      При желании отложите выполнение морфологического анализа на агентов с помощью соответствующей опции.

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

      В поле Полнотекстовый поиск с помощью вы выбираете подходящую вам поисковую систему: Bitrix, Sphinx (доступен с версии 14.0.0) или Полнотекстовый поиск MySql (доступен с версии 17.0.1). Если вы выбрали систему [dw]Sphinx[/dw][di][/di], то дополнительно укажите строку подключения к Sphinx и задайте идентификатор индекса.

      Внимание! Начиная с версии 2.2.2 в Sphinx поддерживается только кодировка UTF-8. На сайтах с кодировкой Windows-1251 поиск Sphinx'ом работать не будет.
    • [dw]Поиск[/dw][di][/di] - задаются собственно параметры поиска:
      • Для некоторых проектов вполне допустимо и использование опции Использовать быстрый поиск (с ухудшенным ранжированием). В этом случае поиск по сайту будет работать быстрее, но ранжирование не будет оптимальным, то есть документы, максимально точно отвечающие запросам, не будут собираться в начале первой страницы, а будут выводиться по мере нахождения.

        Ранжирование (англ. ranking) – это процесс выстраивания найденных по запросу пользователя страниц в порядке наибольшего соответствия искомому запросу.
      • С помощью поля Максимальное количество документов в результатах поиска можно ограничить количество документов, которые будут показаны из всего результата поиска.
      • Опция При ранжировании результатов учитывать расстояние между словами позволяет в поисковой выдаче выводить выше те материалы, искомые слова в которых расположены ближе друг к другу в тексте.
      • Опция При ранжировании результатов учитывать рейтинг позволяет в поисковой выдаче выводить выше те материалы, за которые больше проголосовали.

        Примечание: для включения настроек При ранжировании результатов учитывать расстояние между словами и При ранжировании результатов учитывать рейтинг требуется переустановка модуля без сохранения таблиц с последующей полной переиндексацией.
      • Поле Сколько дней хранить поисковые запросы для подсказки определяет время, в течение которого будут храниться поисковые запросы, выводимые в подсказке.
    • [dw]Статистика[/dw][di][/di] - задаются параметры хранения статистики поисковых фраз и запросов.

      Статистика - это инструмент для сбора и анализа информации с целью дальнейшей корректировки контента сайта под типовые поисковые запросы.



    Настройки инфоблока для корректного поиска элементов

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

    Что должно быть настроено?

    В форме редактирования инфоблока укажите правильные пути к просмотру элемента инфоблока и раздела (если используются):

    Нажмите на рисунок, чтобы увеличить

    То есть в параметрах:

    • URL страницы информационного блока,
    • URL страницы раздела,
    • URL страницы детального просмотра

    задайте шаблоны путей, которые ведут на существующие на сайте страницы инфоблока.

    Пример корректной настройки

    Допустим, у нас есть новостной инфоблок. Опубликуем его правильно:

    • Создайте на сайте раздел, скажем, /content/news и страницу /content/news/index.php.
    • На странице разместите и настройте комплексный компонент bitrix:news.
    • Проверьте, чтобы адреса страниц в компоненте и в инфоблоке совпадали (в примере для адресов используется поддержка ЧПУ):

      Нажмите на рисунок, чтобы увеличить

    Теперь найденные через поиск новости открываются правильно.

    Заключение

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



    Ручная настройка поиска Sphinx

    Внешний полнотекстовый поиск Sphinx доступен в продуктах «1С-Битрикс» с версии 14.0.0. Он позволяет сделать быстрым и качественным поиск на вашем сайте, снизить нагрузку на сервер, а также он полностью интегрирован с компонентами модуля Поиск.

    Если по каким-либо причинам не используется эталонная среда Виртуальная машина BitrixVM версии 7.0 и выше, в которую уже включен Sphinx, то можно настроить его самим, следуя данным рекомендациям.

    Внимание! Ограничение на версию Sphinx - не ниже 2.1.1.

    Ручная настройка поиска Sphinx

    1. Сначала необходимо установить сам пакет Sphinx в свою среду. Как это сделать описано в документации раздела Installation на официальном сайте.

      Например, пусть директория файлов настроек Sphinx по умолчанию будет /etc/sphinxsearch/.

    2. Далее необходимо настроить сам Sphinx, делается это с помощью конфигурационного файла /etc/sphinxsearch/sphinx.conf.

      Код минимальной конфигурации
    3. Основные директивы, которые могут измениться в зависимости от настройки сервера и на которые следует обратить внимание:

      Секция searchd:
      • listen - указывается ip-адрес, порт, путь Unix-domain socket или протокол, которые прослушивает поисковый демон (в данном случае порты: 9312, 9306 с протоколом MySQL);
      • log - имя log-файла работы Sphinx-a и его расположение;
      • query_log - имя log-файла поисковых запросов Sphinx-a и его расположение;
      • binlog_path - путь, где хранятся бинарные логи (важный параметр, если указать директорию, на запись в которую нет прав, то поисковый демон не запустится);
      • binlog_max_log_size - максимальный объем файла бинарного лога, после которого будет создан новый файл.

      Секция indexer:
      • lemmatizer_cache - максимальный объем кэша словарей морфологического поиска;
      • lemmatizer_base - директория хранения языковых словарей (ru.pak, en.pak, de.pak) для морфологического поиска, которые нужно предварительно скачать и поместить в данную директорию.

        Внимание! Директива lemmatizer_base c версии Sphinx 2.2.1+ располагается в секции common:
        common
            {
                  lemmatizer_base = /etc/sphinxsearch/dicts/
            }
        


      Секция index bitrix:
      • path - путь и название файлов индекса;
      • charset_type - указывается кодировка сайта:
        • для кодировки UTF - utf-8;
        • для остальных - sbcs.
    4. Далее необходимо сделать рестарт Sphinx-a.
    5. Затем перейти на страницу продукта «1С-Битрикс» Настройки модуля Поиск (Настройки > Настройки продукта > Настройки модулей > Поиск) и сделать настройки для подключения Sphinx-а в качестве поискового механизма:

      • Полнотекстовый поиск с помощью - выбрать Sphinx;
      • Строка подключения для управления индексом (протокол MySql) - указывается ip-адрес и порт подключения для индексации через протокол MySQL;
      • Идентификатор индекса - указать имя индекса (например, bitrix);
      • Также на этой странице для справки указан пример конфигурационного файла для индекса Sphinx-a в продуктах «1С-Битрикс».
    6. После применения настроек в модуле Поиск, необходимо сделать Переиндексацию сайта в административной части с помощью одноименной кнопки - о чем сообщит мастер настройки:

      Важно! Если в продукте «1С-Битрикс» установлен модуль Cоциальной сети, то после индексации модулем поиска, требуется переиндексация социальной сети из компонента, размещенного в публичном разделе. Для этого нужно перейти в режим разработки в любой раздел социальной сети (где установлены компоненты socialnetwork, socialnetwork_group, socialnetwork_user) и нажать на кнопку Индексация в панели инструментов:

    На этом минимальная настройка Sphinx в качестве поискового механизма для продуктов «1C-Битрикс» завершена.

    Примечание: Информацию для более тонкой настройки поискового механизма Sphinx можно найти в официальной документации этого продукта.



    Компоненты Поиска

    Для выполнения поиска на сайте используются компоненты Форма поиска (bitrix:search.form) и Стандартная страница поиска (bitrix:search.page).

    Примечание: Подробнее про компоненты поиска вы можете посмотреть на странице пользовательской документации.

    Форма поиска

    Форма поиска предназначена для ввода условия поиска (поисковой фразы или слов) и размещается в шаблоне сайта с помощью специального компонента Форма поиска:

    Форма поиска

    Внешний вид и место размещения формы поиска зависят от шаблона и дизайна сайта:

    Внешний вид формы поиска   Внешний вид формы поиска   Внешний вид формы поиска

    После нажатия посетителем кнопки Поиск, система выполнит поиск информации и перенаправит посетителя на страницу поиска.

    Страница поиска

    Страница поиска содержит специальное поле для ввода условий поиска. Также на странице поиска выводятся непосредственно результаты поиска:

    Страница поиска

    Страница поиска создается с помощью компонента Стандартная страница поиска. Данный компонент может быть размещен на любой странице сайта при ее создании или редактировании с помощью визуального HTML-редактора:

    Размещение компонента

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

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

    Примечание: подробное описание каждого параметра компонента приведено в пользовательской документации по продукту.

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

    Определение раскладки клавиатуры в компоненте "Стандартная страница поиска"

    Определение раскладки клавиатуры в компоненте "Поиск по заголовкам"


    Примеры настройки компонента Стандартная страница поиска

    1. Чтобы поиск информации осуществлялся только на статических страницах сайта, нужно в группе свойств Источник данных в поле Ограничение области поиска выбрать Статические файлы и нажать кнопку OK:

      Статические файлы

      После выполнения данных действий в группе свойств Источник данных будет добавлено дополнительное поле Путь к файлу начинается с любого из перечисленных, позволяющее ограничить перечень каталогов и файлов сайта, в которых будет осуществляться поиск с помощью данного компонента. Например:

      Поле "Путь к файлу начинается с любого из перечисленных"

    2. Можно задать ограничения по поиску динамической информации. Например, на сайте есть страница Новости магазина, содержащая список новостей интернет-магазина (информационный блок Новости магазина, тип Новости). Предположим, необходимо, чтобы посетители могли осуществлять поиск информации среди новостей.

      Для решения поставленной задачи нужно выполнить следующие действия:

      • разместить на странице с новостями компонент Стандартная страница поиска;
      • настроить данный компонент следующим образом:

        в группе свойств Источник данных в поле Ограничение области поиска выбрать тип информационного блока и нажать кнопку :

        Динамические файлы

        После этого в группе свойств будет добавлено дополнительное поле Искать в информационных блоках типа <тип_инфоблока>. В данном поле нужно указать информационный блок, элементы которого (в данном случае новости) выводятся на странице Новости магазина:

        Поле "Искать в информационных блоках типа"


    Индексация

    Поиск информации на сайте выполняется на основе поискового индекса (индексных таблиц).

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

    В индексе участвуют:

    • статические файлы;
    • форумы;
    • блоги;
    • информационные блоки;
    • учебные курсы;
    • социальная сеть.

    Вся текстовая информация, которая попадает на сайт в виде статических HTML страниц или через интерфейс модулей (например, модуль Информационные блоки, модуль Форум и т.д.) индексируется автоматически.

    Важно!

    В индексе, а, следовательно, и в поиске участвуют только те статические файлы, для которых задан заголовок ($APPLICATION -> SetTitle();) или есть метатег TITLE.

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

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

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

    При работе с учебными курсами (т.е. при добавлении и редактировании курсов, глав, уроков или импорте курсов) всегда требуется ручная переиндексация.

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

    Обновление индексных таблиц выполняется с помощью формы Переиндексация сайта (Настройки > Поиск > Переиндексация):

    Переиндексация сайта

    • Так как на сайте может быть представлен значительный объем информации, процедура переиндексации может занять довольно продолжительное время. Чтобы сократить затраты времени, можно выполнить переиндексацию только измененных файлов (опция Переиндексировать только измененные), либо выбрать сайт и/или модуль, данные которых будут участвовать в переиндексации (поля Сайт и Модуль).

      Примечание:

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

      Например, вы создали большое число элементов инфоблока (скажем, 50 000). Во время этой работы в свойствах инфоблока не были включены опции Индексировать разделы (элементы) с целью снижения нагрузки на сайт. Затем вы активируете эти опции. Автоматически этот инфоблок в поиск не попадет, нужна ручная индексация. Вот в таком случае и лучше использовать прием удаления модуля Поиск из системы (с удалением файлов поискового индекса) и восстановление его обратно.

    • Индексирование производится поэтапно, продолжительность выполнения одного шага задается в поле Шаг.

      Чем больше время – тем лучше. (При незаполненном поле переиндексация выполняется в один шаг, что и рекомендуется делать на локальной установке при разработке проекта.) Но на время выполнения операции индексирования на удаленном сервере накладывает ограничения хостинг. Установку времени выполнения шага рекомендуется назначать не больше, чем время выполнения скрипта, задаваемое хостинговой кампанией. В большинстве случаев подходит значение параметров в 50 секунд на один шаг.

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

    Для этого:

    • Перейдите в разделы социальной сети (где установлены компоненты Социальная сеть (socialnetwork), Социальная сеть – группы (socialnetwork_group), Социальная сеть – пользователь (socialnetwork_user))
    • Нажмите кнопку Индексация на панели управления (Режим правки должен быть включен):

    Документация по теме:



    Правила сортировки

    После ввода пользователем строки поискового запроса и нажатия кнопки Поиск, система отбирает из поискового индекса страницы, соответствующие запросу. Перед показом пользователю результаты поиска сортируются по следующим параметрам:

    • по релевантности - степень релевантности документа поисковому запросу определяется исходя из наличия на странице слов, участвующих в поиске, и их удаленности друг от друга;
    • по дате изменения (последнего обновления) страницы.

    Пользователь может выбрать режим сортировки на странице с результатами поиска, нажав на одну из двух ссылок в конце списка найденных документов: Сортировать по релевантности или Сортировать по дате:

     

    Вместе с тем, очень часто требуется при выводе результатов поиска отдать предпочтение документам той или иной тематики. Например, может потребоваться «поднять» в результатах поиска товары, которые требуют скорейшего сбыта. Для достижения подобных целей служит специальный механизм, при помощи которого можно задать требуемый вес (ранг, page rank) желаемым страницам. При отображении результатов поиска, страницы, соответствующие заданным правилам сортировки, будут отображены в самом начале списка, в соответствии с весами, указанными в правилах.

    Фиксированный вес может быть присвоен:

    • статическим файлам (требует указания полного пути к таким файлам);
    • информационным блокам (дополнительно могут быть указаны тип информационных блоков, информационный блок и элемент, которым следует отдать предпочтение);
    • форумам (могут быть указаны форум, тема выбранного форума и сообщение).
    • блогам (должен быть указан ID блога).
    • обучению (могут быть указаны ID курса или главы/урока, причем перед идентификатором для курса приписывается C, а для глав/урока - U (например, C5 или U278)).
    • социальной сети (могут быть указаны ID группы или ID пользователя).

    Управление правилами сортировки осуществляется на странице Список правил сортировки (Настройки > Поиск > Правила сортировки):

    Список правил сортировки

    Назначение или изменение правил сортировки делится на два этапа:

    • первый этап: управление правилами сортировки - создание, правка или удаление правил;
    • второй этап: обновление поискового индекса для вступления новых правил в силу.

    Для создания нового правила служит кнопка Добавить, расположенная на контекстной панели.

    Создание правила

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

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

    Кроме того, укажите вес (ранг) правила. Документы, соответствующие критериям правила, будут расположены в списке результатов поиска в соответствии с рангом сортировки. Чем больше значение веса, тем выше в списке будет отображен документ.

    При сохранении правило добавляется в общий список.


    После создания нового правила следует выполнить обновление поискового индекса с помощью кнопки Обновить:

    Обновление поискового индекса

    По окончании процедуры обновления индекса будет выведено сообщения о ее результатах:

    Результат обновления поискового индекса

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

    Документация по теме:



    Морфологический поиск

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

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

    Соответственно, при поиске по запросу телефон будут найдены страницы, содержащие не только слово телефон, но и слова телефона, телефону, телефоны, телефонов, телефонам и т.д.

    Внимание!: в системе нет полного соответствия морфологии русского языка. Например, не учитываются беглые гласные при склонении слова по падежам. Если в каталоге есть товары: Ремень Радуга, Ремень Элегантность, Ремень Плетение, то при вводе запроса "Ремень" они находятся. Но другие формы этого слова, например "Ремни", "Ремней", "Ремня", уже не находят товар, так как поисковое ядро считает корнем "Ремен" и будет искать "ремени", а не "ремни".

    Для активизации морфологического поиска нужно отметить соответствующую опцию в настройках модуля Поиск (Настройки > Настройки продукта > Настройки модулей > Поиск) и указать с помощью какой системы: внутренней, стандартной (Bitrix) или внешней (Sphinx) выполнять полнотекстовый поиск:

    Примечание: полнотекстовый поиск Sphinx можно подключить в том случае, если на сервере установлен и настроен Sphinx, кроме того, к нему можно подключиться из PHP.

    Ручная настройка поискового механизма Sphinx описана в данном уроке.

    Если вы выбрали систему Sphinx, то необходимо указать строку подключения к серверу Sphinx и задать произвольный идентификатор индекса:

    Внешний полнотекстовый поиск Sphinx доступен с версии 14.0.0. Он позволяет сделать быстрым и качественным поиск на вашем сайте, снизить нагрузку на сервер, а также он полностью интегрирован с компонентами модуля Поиск.

    Если вам подходит обычный поиск (Bitrix), то в настройках параметров морфологии вам будет доступен параметр Cимволы, по которым не производится разделение документа на слова (при морфологическом анализе):

    Алгоритм морфологического анализа разбивает предложения на слова, используя в качестве разделителя все знаки, не являющиеся буквами алфавита (пробел, точка, запятая и т.п.). В то же время, существуют символы, которые, не будучи буквами, все же являются частями слов (например, дефис в слове: южно-африканский). Поэтому с помощью данного параметра вы можете указать символы, которые морфологический анализатор должен рассматривать как части слов.

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

    Примечание: рекомендуется не отключать морфологический поиск.

    Документация по теме:



    Статистика

    Не знаете, что ищут чаще всего посетители на вашем сайте? Обратите свой взор в административной части сайта на раздел Настройки > Поиск > Статистика. В нем собрана вся поисковая статистика.

    Виды поисковой статистики

    Статистику можно рассматривать в 3 разрезах:

    Нажмите на рисунок, чтобы увеличить

    • Статистика переходов - развернутый отчет о поисковых фразах, времени ввода, места перехода, количества найденных документов и т.д.;
    • Список фраз - позволяет просмотреть список поисковых фраз, используемых людьми на сайте;
    • Список тегов - перечень установленных тегов сайта.

    Документация по теме:



    Логические операторы

    Облегчайте поиск информации вместе с логическими операторами. Система допускает использование пяти видов логических операторов. Давайте их рассмотрим.

    Операторы языка запросов

    Оператор Синонимы Описание
    и And, &, + Оператор логическое и. Подразумевается, что его можно опускать: запрос свежая рыба полностью эквивалентен запросу свежая и рыба.
    или Or, > Оператор логическое или позволяет искать элементы, содержащие хотя бы один из операндов.
    не Not, ~ Оператор логическое не ограничивает поиск элементами, не содержащими слово, указанное после оператора.
    ( ) Круглые скобки задают порядок действия логических операторов. При формировании строки запроса убедитесь, что для каждой открывающейся скобки есть парная закрывающаяся.
    "" Поиск точной фразы. Обычно используется для поиска цитат.

    Примеры использования логических операторов

    • свежая рыба или пылесос
      По такому запросу находится информация, в которой встречаются либо слова "свежая" и "рыба", либо слово "пылесос".
    • свежая рыба не скумбрия
      По такому запросу находится информация, в которой встречаются слова "свежая" и "рыба" и не встречается слово "скумбрия".
    • свежая рыба не (селедка или ставрида)
      По такому запросу система найдет все страницы сайта, где упоминается "свежая рыба" любых сортов, кроме "селедки" или "ставриды".


    Облако тегов

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

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

    Теги - это темы информационного сообщения. Под информационным сообщением понимается многое: элемент инфоблока, сообщение в форуме или блоге, теги фотографий и так далее.

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

    Добавление тегов к материалам сайта

    Например, укажем теги для элемента инфоблока. Для этого перейдем на закладку Дополнительно формы редактирования параметров элемента инфоблока:

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

    Кроме того, имеется возможность создавать теги из публичной части сайта. Например, при создании новой темы на форуме:

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

    Облако тегов

    Теперь рассмотрим, как используется механизм поиска по тегам, имеющий название Облако тегов.

    Облако тегов - это визуальное представление списка ярлыков (или категорий). Частота упоминаний, ссылок в Интернете с определенного сайта, терминов, имен отображается на специальной странице в виде изображения этих слов в формате гиперссылок. Размер тега тем больше, чем выше релевантность данного слова (термина, имени), т.е. чем больше размер, тем больше документов на сайте связано этим тегом. Цвет тега говорит о том, как давно этот тег был использован в документах последний раз.

    Для реализации этого механизма в модуле Поиск имеются компоненты: Облако тегов (bitrix:search.tags.cloud), Форма ввода тегов (bitrix:search.tags.input) и Стандартная страница поиска (bitrix:search.page) (для компонента добавлен шаблон tags с поддержкой облака тегов).

    Рассмотрим на примере, как разместить облако тегов на сайте. Для этого создадим новую страницу, в рабочей области которой разместим компонент Облако тегов:

    Для просмотра результата перейдем в публичный раздел:

    Облако тегов

    Примечание: предварительно должны быть настроены теги к материалам сайта, в противном случае страница будет пустой.

    Воспользуемся какой-нибудь ссылкой, например, компонент. По ссылке перейдем к странице поиска, для создания которой использовался компонент Стандартная страница поиска с шаблоном tags:

    Страница поиска

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

    Google Sitemap

    Google Sitemap - простой инструмент управления доставкой информации о страницах сайта в базу данных поисковой системы Google.

    Примечание: данный инструмент устарел в рамкам модуля Поиск. Ему на смену пришел модуль Поисковая оптимизация.

    Инструмент Google Sitemap оставлен в системе для совместимости и на случай отсутствия установленного модуля Поисковая оптимизация.

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

    Примечание: Формат Google Sitemap поддерживается многими поисковыми системами, в частности, Yandex’ом.

    Примечание: для правильного формирования sitemap.xml в настройках модуля Поиск необходимо указать какие файлы не должны индексироваться: [dw]поле Маска исключения[/dw][di][/di]


    Инструмент Google Sitemap позволяет получить гарантию того, что:
    • поисковая система Google проиндексирует все имеющиеся в этом файле страницы вашего сайта
    • Google будет регулярно сканировать этот файл на наличие новых страниц для индексации.
    В результате:
    • Уменьшение нагрузки на сайт за счет более быстрого нахождения и добавления страниц сайта в индекс Google и более быстрого нахождения Google’ом изменившихся страниц.
    • Более быстрое попадание сайта в результаты поисковой выдачи Google.
    • Более полное индексирование сайта поисковой системой. Часто определенное количество страниц сайта не индексируется, хотя ссылки, ведущие на них, корректно распознаются поисковыми роботами. Причина – расположение ссылок на эти страницы в глубине сайта, т.е. поисковый робот просто не доходит до них и, соответственно, не находит эти страницы.
    Примечание: Использование Google Sitemap не дает преимущества при ранжировании в этой поисковой системе.

    Файлы Google Sitemap по своей сути являются XML-файлами, однако создание их вручную крайне трудоемко и требует много времени. При помощи формы Создание Google Sitemap можно быстро создать карту сайта для передачи ее Google.

    Форма создания Google Sitemap доступна на странице Создание Google Sitemap (Настройки > Поиск > Google Sitemap):

    Форма создания Google Sitemap

    Внимание! При создании файлов Google Sitemap все файлы вида sitemap_*.xml, расположенные в корневой папке выбранного сайта, будут перезаписаны.

    Примечание: Создание Google Sitemap выполняется по шагам. Продолжительность одного шага указывается в поле Шаг. Для того чтобы нагрузка на сервер не была велика, укажите максимальное количество документов для обработки на одном шаге.

    Если отметить опцию Включать в Google Sitemap только темы форумов, но не сообщения, то при создании в карту будут писаться только первые сообщения темы форума с датой модификации, равной последнему добавленному в тему сообщению.

    После генерации файл индекса для Google Sitemap будет доступен для скачивания на локальный компьютер:

    Результат создания Google Sitemap

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

    Инструмент при создании файла не использует все возможности Google Sitemap. В частности не используются теги changefreq и priority. После создания файла Google Sitemap вы можете открыть его для редактирования и вручную добавить указанные теги с параметрами.

    Примечание:

    Тег Change frequency – говорит о том, как часто обновляется веб-страница. Возможные значения: never, weekly, daily, hourly, monthly, yearly.

    Тег Рriority – устанавливает приоритет, который Google назначит для конкретной веб-страницы в ранжировании страниц вашего сайта. Возможные значения: 0.0 (низший приоритет), 1.0 (высший приоритет), 0.5 (средний приоритет).

    Начиная с 11 версии модуля, при генерации Google Sitemap учитывается дата активности. Неактивные элементы не будут добавлены в XML-файл.

    Документация по теме:



    Полезные советы

    Эффективность полнотекстового поиска можно значительно увеличить, если исключить из индекса слова встречающиеся очень часто. Например, если в каждом сообщении на форуме встречается слово "привет", то поиск по этому слову выдаст все сообщения, что не может удовлетворить инициатора такого запроса. Такие слова называются "СТОП" словами.

    Практика показывает, что при использовании списка стоп-слов размер индекса уменьшается примерно на 10-15%, а возможный прирост скорости поиска бывает в десятки раз (20-50).

    Рассмотрим 3 этапа решения поставленной задачи:
  • Определение наиболее "популярных" слов
  • Исключение слов из полнотекстового индекса
  • Переиндексация
  • Определение наиболее "популярных" слов

    Первое, что необходимо сделать - это определить СТОП слова, для этого выполните следующее:

    • Перейдите на страницу SQL запрос (Настройки > Инструменты > SQL запрос)
    • Выполните следующий запрос:

      select STEM,count(*) from b_search_content_stem group by STEM order by count(*) desc limit 100

      Примечание: Начиная с 11-й версии модуля необходимо использовать другой запрос:
      select ss.STEM,count(*) from b_search_content_stem cs inner join b_search_stem ss on ss.ID = cs.STEM group by STEM order by count(*) desc limit 100

      В результате на странице будут отражены 100 самых популярных терминов на сайте

      SQL запрос 100 самых популярных терминов на сайте

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


    Как вариант можно создать страницу со следующим содержимым:

    <?
    require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
    $query = $DB->Query("select STEM,count(*) from b_search_content_stem group by STEM order by count(*) desc limit 100");
    while($ar = $query->Fetch())
       echo " ,",$ar["STEM"];
    require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");
    ?>
    

    Это позволит быстро скопировать список самых популярных слов.

    Внимание: Обязательно удалите эту страницу после ее выполнения!

    Исключение слов из полнотекстового индекса

    Для исключения слов из полнотекстового индекса и поисковых запросов добавьте в init.php через запятую слова, которые необходимо исключить:
    define("STEMMING_STOP_RU", "ЗДЕСЬ, СПИСОК, СТОП, СЛОВ"); 
    Примечание: Система поддерживает стемминг 2-х языков русского и английского. Для первого обрабатывается константа STEMMING_STOP_RU, для второго - STEMMING_STOP_EN.

    Переиндексация

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

    Обновление индексных таблиц выполняется с помощью формы Переиндексация сайта (Настройки > Поиск > Переиндексация).

    Примечание: Подробнее про индексацию смотрите на странице Индексация.

    Обратите внимание:
    • Наиболее эффективным будет удаление/установка модуля поиска без сохранения таблиц.
    • Начиная с версии форума 5.9.3, у модуля появилась настройка, значительно ускоряющая переиндексацию - Количество документов, переиндексируемых за шаг. Разумное значение 2-3 тысячи.
    • По окончании переиндексации обязательно необходимо выполнить оптимизацию БД на странице Проверка/восстановление таблиц (Настройки > Инструменты > Диагностика > Оптимизация БД).


    Поиск элементов инфоблока по их свойствам

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

    Настройка поиска элементов по значениям их свойств

    • Откройте форму с настройками требуемого инфоблока (Контент > Инфоблоки > Типы инфоблоков > [ваш_инфоблок]) и перейдите на закладку Свойства.
    • Нажмите кнопку [dw][...][/dw][di][/di] напротив интересующего свойства.
    • В открывшейся форме отметьте опцию [dw]Значения свойства участвуют в поиске[/dw][di][/di].
    • Сохраните внесенные данные.
    • Выполните полную переиндексацию инфоблока.

    Теперь поиск элементов инфоблока будет осуществляться и по названиям, и по значениям свойств.

    Документация по теме:



    Типичные ошибки

    В уроке рассмотрим решение ошибок поискового характера:

  • Поиск выдаёт ссылки на несуществующие страницы
  • "Зависает" переиндексация статических файлов
  • Поиск выдаёт ссылки на несуществующие страницы (404 - HTTP not found)

    • Ошибки поиска элементов инфоблока связаны с неправильно указанным [dw]URL'ом страницы детального просмотра элемента[/dw][di][/di]. Этот URL используется при формировании страницы результатов поиска. Соответственно, если он проставлен неправильно или указывает на несуществующую страницу, то пользователь по ссылке попадет не на страницу просмотра найденного элемента, а на 404-ю.

      Кроме того, похожая ситуация возникает, если компонент работает в режиме ЧПУ, а URL в настройках инфоблока прописан не в ЧПУ. В данной ситуации следует указать URL по правилам ЧПУ.

      Примечание: чтобы разделы и элементы инфоблока могли участвовать в поиске, в форме настройки инфоблока также следует отметить опции Индексировать разделы для модуля поиска и Индексировать элементы для модуля поиска. Подробнее читайте в уроке Настройки инфоблока для корректного поиска элементов.
    • Проблема может возникать со ссылками на страницы форума и блога. Проверьте корректность шаблонов путей к сообщениям форума, блога.

    Внимание! После изменения путей обязательно выполните переиндексацию сайта.

    "Зависает" переиндексация статических файлов

    Проблема: информационные блоки индексируются нормально, а статические файлы - нет. Переиндексация зависает и изменение шага индексации на странице Настройки > Поиск > Переиндексация не помогает.

    Решение: причиной является большой файл на сайте, который не успевает проиндексироваться за шаг. В настройках модуля Поиска установите ограничение на размер в поле Максимальный размер индексируемого документа в килобайтах.


    Примеры решения типовых задач

    В главе приводятся ссылки на страницы где описаны некоторые типовые операции, которые выполняются при администрировании сайтов, созданных на "1С-Битрикс: Управление сайтом". Также проводится информация о решении редких задач.

    Общая работа с сайтом:

    Решение возможных проблем

    Разное

    Типовые роли пользователей сайта

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

    Роль Описание Как настроить
    Младший контент-редактор Право на создание контента без возможности его публикации
    • право Чтение на папку bitrix/admin;
    • право доступа Изменение с ограничениями к инфоблоку контента (только при включенной опции в инфоблоке Расширенное управление правами);
    • полные права доступа к статусам документооборота Черновик и Готов.
    Редактор каталога Права на редактирование каталога товаров
    • право Чтение на папку bitrix/admin;
    • право Изменение на нужный торговый каталог.
    Главный редактор Все права контент-менеджера
    • право Чтение на папку bitrix/admin;
    • право Полный доступ на инфоблок контента;
    • максимальные права на все статусы документооборота.
    Менеджер Право на просмотр заказов
    • право Чтение на папку bitrix/admin;
    • уровень доступа Обработка заказов к модулю Интернет-магазин;
    • пользователь должен быть включен в группы, имеющие доступ к заказам сайта (закладка Права на заказы в форме настроек модуля Интернет-магазин).
    Старший менеджер Работа с заказами, отчетами и 1С
    • право Чтение на папку bitrix/admin;
    • уровень доступа Полный доступ к модулю Интернет-магазин;
    • пользователь должен быть включен в группы, которым разрешена выгрузка (закладки Экспорт каталога и Заказы на странице Магазин > Настройки > Интеграция с 1С).
    Администратор контента Может администрировать инфоблоки и пользователей (кроме админов), не имеет прав менять глобальные настройки сайта, изменять папки и файлы.
    • Для таких пользователей должна быть создана отдельная группа, пользователь не должен входить в другие группы с более широкими правами;
    • Для группы установлено право Чтение на папку bitrix/admin, и право Запись на bitrix/admin/user_edit.php;
    • уровень доступа [V]Просмотр данных модуля и изменение заданных профилей к Главному модулю;
    • В настройках группы должно быть указаны группы чьи профили возможно редактировать;
    • В настройках нужных инфоблоков нужно задать право Полный доступ.
    Директор Права главного редактора, работа с отчетами и управление ценами
    • право Чтение на папку bitrix/admin;
    • право Полный доступ на инфоблок контента;
    • максимальные права на все статусы документооборота;
    • уровень доступа Обработка заказов к модулю Интернет-магазин;
    • право доступа Редактирование цен к модулю Торговый каталог;
    • право доступа Изменение к нужному торговому каталогу.


    Организация разделения прав доступа между контент-менеджерами

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

    Для решения данной задачи администратору сайта необходимо настроить права доступа соответствующим образом. Разберем это на примере.

    Пусть у нас имеется сайт производственной компании, на котором помимо продажи продукции и списка оказываемых услуг выводится новостная лента фирмы, а также информация о ней в соответствующем разделе:

    Нажмите на рисунок, чтобы увеличить

    Постановка задачи

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

    Просмотр информации о продукции, услугах и компании должен быть доступен всем посетителям.

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

    Примечание: для администратора сайта оставим полные права доступа на все данные.

    Наполнение каталога товаров и услуг

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

    В параметрах компонента посмотрите, из какого инфоблока берутся данные о продукции:

    Теперь перейдите в административную часть сайта, на страницу настройки параметров инфоблока Контент > Информ. блоки > Типы информ. блоков > Товары и услуги > [qn]Продукция, закладка Доступ:

    Выставьте права доступа указанным на скриншоте образом и нажмите Сохранить.

    Выполните аналогичные действия для инфоблока услуг компании.

    Наполнение новостной ленты

    В публичной части сайта перейдите в раздел Новости.

    Нажмите кнопку Изменить страницу и дважды щелкните по значку комплексного компонента Новости:

    В открывшейся форме настроек комплексного компонента Новости перейдите к группе полей Дополнительные настройки:

    Поставьте галочку в поле Использовать дополнительное ограничение доступа, после чего появится список Группы пользователей, имеющие доступ к детальной информации. Зажав клавишу Ctrl выделите в нем следующие группы: Администраторы, Подписчики, Администраторы интернет-магазина, Контент-редакторы.

    Примечание: поле Использовать дополнительное ограничение доступа есть только в компонентах: Новости (комплексный) и Новость детально.

    Для сохранения внесенных изменений нажмите Сохранить.

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

    Нажмите Сохранить для применения внесенных изменений.

    Изменение статических страниц

    Дадим права доступа на редактирование информации о компании и контактах сотруднику с именем Даша, изначально не имеющей доступ к административному разделу сайта.

    Перейдите в раздел Компания.

    Нажмите Изменить раздел и выберите пункт меню Доступ к разделу:

    пункт меню "Доступ к разделу"

    В открывшемся окне измените право доступа для контент-редакторов на Чтение и нажмите Добавить право доступа.

    В открывшемся окне в категории Пользователи поиском найдите сотрудника Дашу, кликните по ее имени левой кнопкой мыши и нажмите Выбрать:

    Окно закроется, после чего укажите право доступа к разделу для Даши как Запись:

    Произведите аналогичные действия для раздела Контакты.

    Сохраните внесенные изменения.

    Чтобы Даша могла воспользоваться своим правом записи для раздела Компания и Контакты, ей необходимо иметь право доступа на чтение к папке /bitrix/admin.

    Внимание! Все пользователи, которые хоть что-то должны изменять в Публичной части сайта, должны иметь доступ на чтение к папке /bitrix/admin. Это папка, в которой расположен визуальный HTML-редактор. Без этого редактирование будет возможно только в текстовом режиме.

    Задать право доступа для папки можно для группы пользователей, поэтому перейдем на страницу административного раздела Настройки > Пользователи > Группы пользователей, и, нажав на кнопку контекстной панели Добавить группу, создадим группу Редакторы:

    Заполните поля и отметьте галочкой пользователя Даша как участника данной группы.

    Сохраните данную группу.

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

    Затем в административном разделе пройдите на страницу Контент > Структура сайта > Файлы и папки > bitrix и выберите в меню действий папки admin пункт Права на доступ продукта:

    Для группы Редакторы должно быть установлено право Чтение.

    Для редактирования страниц сайта необходимо иметь доступ к файловой структуре. Чтобы его задать для нашей созданной группы, в административном режиме перейдите на страницу Настройки > Настройки продукта > Настройки модулей > Управление структурой, закладка Доступ:

    Для редакторов установите право доступа Редактирование файлов и папок и нажмите Сохранить.

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

    Примечание: об уровнях и правах доступа подробнее читайте в главе Управление доступом.


    Пример создания пользовательского поля

    Пользовательское поле - функционал системы, позволяющий добавлять к объектам системы поля, не предусмотренные штатным функционалом.

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

    Опишем пример создания поля Скайп в форме добавления нового пользователя. Это поле будет относиться к сущности USER Главного модуля

    Изначально закладка Личные данные формы добавления нового пользователя (Настройки > Пользователи > Список пользователей > Добавить пользователя) выглядит следующим образом:

    Модифицируем данную закладку, добавив в раздел Телефоны поле Скайп.


    На закладке Доп. свойства формы добавления нового пользователя (Настройки > Пользователи > Список пользователей > Добавить пользователя) кликните по единственной имеющейся там ссылке:

    Откроется форма добавления пользовательского свойства, сразу привязанного к нужной нам форме (поле Объект уже с заданным значением):

    Заполните поля:

    • Тип данных - для ввода логина скайпа удобно значение Строка.
    • Код поля - введите UF_SKYPE (код обязательно должен начинаться с UF_).
    • Для возможности поиска по вашему пользовательскому полю отметьте галочкой Значения поля участвуют в поиске.
    • В языковых настройках укажите как будет называться ваше поле: для русского языка - Скайп, для английского - Skype.

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

    Сохраните внесенные изменения.

    Затем снова перейдите к форме добавления нового пользователя и нажмите кнопку Настроить на контекстной панели:

    Появится окно настройки формы редактирования/добавления нового пользователя:

    После того, как вы выберите в доступных вкладках Доп. свойства, в списке доступных полей появится созданное вами с этой вкладки поле. В списке вкладок выберите Личные данные, т.к. именно на нее необходимо добавить поле Скайп, и нажмите кнопку выбора отмеченных полей.

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

    Пометьте галочкой опцию Установить данные настройки по умолчанию для всех пользователей и нажмите Сохранить.

    Теперь новое поле будет доступно для заполнения при добавлении новых пользователей и в формах настройки текущих:

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

    Документация по теме:



    Создание доски объявлений

    Разберем способ реализации на сайте доски объявлений, где каждый зарегистрированный пользователь может разместить объявление, которое будет опубликовано после модерации администратором.

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

    Для начала необходимо создать инфоблок, который будет хранить объявления. На закладке Инфоблок формы создания впишите название инфоблока, отметьте свой сайт как тот, на котором данный инфоблок будет использоваться и укажите участие в документообороте:

    На закладке Поля укажем параметры загружаемых изображений:

    На закладке Доступ установите для зарегистрированных пользователей право на инфоблок как Изменение с ограничениями: это не позволит пользователям удалять или изменять объявления:

    Сохраните внесенные изменения.


    После того, как вы создали страницу, на которой будет размещена доска объявлений, разместите на ней комплексный компонент Новости (Контент > Новости) и в его настройках выберите созданный инфоблок в качестве источника данных:

    Разрешим вывод изображений и поиск по объявлениям.

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

    В Настройках списка укажем максимальную длину анонса в 50 символов и разрешим показ названия объявления в виде ссылки на детальный просмотр, даже при отсутствии детального описания (поскольку там может быть загружена фотография):

    Остальные настройки компонента трогать не будем. Сохраните внесенные изменения.


    На эту же страницу, под компонентом Новости, добавьте компонент Форма добавления / редактирования (Контент > Добавление элементов). Данный компонент потребуется нам для реализации возможности добавления новых объявлений непосредственно с доски объявлений. Настроим его следующим образом:

    • выбирается созданный нами инфоблок;
    • статус после сохранения объявления должен быть Черновик, чтобы администратор мог просмотреть объявление перед его публикацией;
    • установим опцию Использовать настройки инфоблока для обработки изображений. Эти настройки мы уже сделали при его создании на закладке Поля.

    Укажем, какие данные должны вводиться при добавлении объявления:

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

    Примечание: свойство дата начала является обязательным к заполнению по техническим причинам, иначе есть вероятность что объявление будет опубликовано с задержкой.

    В группе полей Параметры доступа настроим следующие опции:

    • Установим для зарегистрированных пользователей право на добавление\редактирование своих объявлений.
    • Редактирование возможно для статуса Черновик. Это необходимо в случае неустановленного модуля Документооборот.
    • Разрешим использование визуального редактора для редактирования текста анонса и подробного описания.

    Установим для формы добавления собственные названия полей:

    Остальные настройки компонента трогать не будем. Сохраните внесенные изменения.


    Наша созданная доска объявлений будет иметь следующий вид:

    При нажатии кнопки Сохранить новое объявление будет добавлено в инфоблок в статусе Черновик. Для публикации объявления на сайте администратору следует в административном режиме выставить ему статус Опубликовано:

    Если кликнуть по заголовку опубликованного объявления, то оно откроется в режиме детального просмотра (появятся информация полей Подробно и Фотография):