Список терминов
В общем случае под данным термином понимается верхняя левая часть страницы.
Для публичной части пролог соответствующего шаблона сайта хранится в файле /bitrix/templates/ ID шаблона сайта /header.php.
Для административной части пролог хранится в файле /bitrix/modules/main/interface/prolog_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_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");
- данная страница не принадлежит ни одному сайту
- в то же время она принадлежит какому-либо модулю
- имеет строго определённый административный интерфейс
- все параметры локализации данной страницы зависят от выбранного текущего языка
- на этой странице используется дополнительная проверка прав, задаваемых в настройках соответствующего модуля
- данная страница принадлежит какому-либо сайту
- имеет интерфейс текущего шаблона сайта
- все параметры локализации данной страницы зависят от текущего сайта
- Apache — в файле httpd.conf, параметр DirectoryIndex
- IIS — в свойствах сайта, закладка «Documents» -> «Enable default content page»
- логин
- пароль
- для MS Internet Explorer — «Tools» -> «Internet Options» -> «General» -> «Languages»;
- для Mozilla Firefox — «Инструменты» -> «Настройки» -> «Основное» -> «Языки».
- 4 — чтение
- 2 — запись
- 1 — выполнение
- для Apache — в файле httpd.conf, параметр DocumentRoot;
- для IIS — в свойствах сайта, закладка «Home Directory» -> «Local Path«.
При формировании каждой динамической страницы система создает адрес с соответствующим целочисленным идентификатором. (Например, /bitrix/admin/iblock_element_admin.php?IBLOCK_ID=48&type=help&lang=ru&find_section_section=4972) Это вполне понятно и естественно для разработчиков и программ, но не совсем понятно и удобно для посетителей.
Концепция ЧПУ предполагает максимально лаконичные и интуитивно понятные адреса, которые показывают естественную для человека логическую структуру данных на сервере, а не её программный интерфейс с модулями и параметрами.
Страница и порядок её выполнения
Страница представляет из себя PHP файл, состоящий из пролога, тела страницы (основной рабочей области) и эпилога:
Страница имеет определённую структуру, свойства и параметры. Она может использовать свои собственные шаблоны.
Порядок выполнения страницы:
№ | Операция | Определяемые константы и переменные | Примечание |
---|---|---|---|
1. Служебная часть пролога (/bitrix/modules/main/include/prolog_before.php) | |||
1.1 | Подключение | Подключаемый файл должен содержать определения переменных для соединения с базой данных, констант для отладки и прав доступа. Файл с настройками ядра D7 подключается при первом запросе конфигурации. | |
1.2 | Соединение с базой данных | $DB | В случае ошибки соединения будет подключен файл . |
1.3 | Подключение | Подключаемый файл может содержать операции, необходимые для выполнения сразу после соединения с БД. | |
1.4 | Определение текущего сайта | $APPLICATION, SITE_ID, SITE_DIR, SITE_SERVER_NAME, SITE_CHARSET, FORMAT_DATE, FORMAT_DATETIME, LANGUAGE_ID, Определяются все классы и функции Главного модуля. | Если к этому моменту определена константа с кодом сайта SITE_ID , то сайт не будет определяться по текущей папке и доменному имени, а все остальные константы будут определены для этого сайта. |
1.5 | Подключение | Может содержать в себе инициализацию обработчиков событий, подключение дополнительных функций — общие для всех сайтов. | |
1.6 | Подключение | Содержит параметры, определения функций для конкретного сайта. | |
1.7 | Открытие сессии | Все сессионные переменные $_SESSION | |
1.8 | Событие OnPageStart | ||
1.9 | Определение пользователя, авторизация пользователя, завершение сеанса, регистрация (в зависимости от параметров в запросе) | $USER | |
1.10 | Определение текущего шаблона сайта | SITE_TEMPLATE_ID | |
1.11 | Событие OnBeforeProlog | ||
1.12 | Проверка прав доступа уровня 1 | В случае если прав недостаточно, то выводится форма авторизации и страница завершает выполнение. | |
1.13 | Начало буфферизации вывода | После начала буферизации можно делать вывод, до установки куков и наоборот, устанавливать куки после вывода в поток. | |
1.14 | Событие OnProlog | ||
2. Визуальная часть пролога (/bitrix/modules/main/include/prolog_after.php) | |||
2.1 | Подключение | ||
3. Тело страницы | |||
4. Визуальная часть эпилога (/bitrix/modules/main/include/epilog_before.php) | |||
4.1 | Подключение | ||
4.2 | Вызов функции CMain::ShowSpreadCookieHTML | Данная функция выводит набор невидимых IFRAME’ов используемых в Технология переноса посетителей | |
5. Служебная часть эпилога (/bitrix/modules/main/include/epilog_after.php) | |||
5.1 | Событие OnEpilog | ||
5.2 | Завершение буферизации страницы | Завершение и вывод в поток буффера инициализированного в п. 1.14 | |
5.3 | Событие OnAfterEpilog | ||
5.4 | Проверка агентов | ||
5.5 | Отправка E-Mail писем | Подробнее о E-Mail письмах можно прочитать в разделе «Почтовая система» | |
5.6 | Завершение соединения с базой данных | Переменная $DB больше недоступна |
Страница и порядок её выполнения
Страница представляет из себя PHP файл, состоящий из пролога, тела страницы (основной рабочей области) и эпилога:
Страница имеет определённую структуру, свойства и параметры. Она может использовать свои собственные шаблоны.
Порядок выполнения страницы:
№ | Операция | Определяемые константы и переменные | Примечание |
---|---|---|---|
1. Служебная часть пролога (/bitrix/modules/main/include/prolog_before.php) | |||
1.1 | Подключение | Подключаемый файл должен содержать определения переменных для соединения с базой данных, констант для отладки и прав доступа. Файл с настройками ядра D7 подключается при первом запросе конфигурации. | |
1.2 | Соединение с базой данных | $DB | В случае ошибки соединения будет подключен файл . |
1.3 | Подключение | Подключаемый файл может содержать операции, необходимые для выполнения сразу после соединения с БД. | |
1.4 | Определение текущего сайта | $APPLICATION, SITE_ID, SITE_DIR, SITE_SERVER_NAME, SITE_CHARSET, FORMAT_DATE, FORMAT_DATETIME, LANGUAGE_ID, Определяются все классы и функции Главного модуля. | Если к этому моменту определена константа с кодом сайта SITE_ID , то сайт не будет определяться по текущей папке и доменному имени, а все остальные константы будут определены для этого сайта. |
1.5 | Подключение | Может содержать в себе инициализацию обработчиков событий, подключение дополнительных функций — общие для всех сайтов. | |
1.6 | Подключение | Содержит параметры, определения функций для конкретного сайта. | |
1.7 | Открытие сессии | Все сессионные переменные $_SESSION | |
1.8 | Событие OnPageStart | ||
1.9 | Определение пользователя, авторизация пользователя, завершение сеанса, регистрация (в зависимости от параметров в запросе) | $USER | |
1.10 | Определение текущего шаблона сайта | SITE_TEMPLATE_ID | |
1.11 | Событие OnBeforeProlog | ||
1.12 | Проверка прав доступа уровня 1 | В случае если прав недостаточно, то выводится форма авторизации и страница завершает выполнение. | |
1.13 | Начало буфферизации вывода | После начала буферизации можно делать вывод, до установки куков и наоборот, устанавливать куки после вывода в поток. | |
1.14 | Событие OnProlog | ||
2. Визуальная часть пролога (/bitrix/modules/main/include/prolog_after.php) | |||
2.1 | Подключение | ||
3. Тело страницы | |||
4. Визуальная часть эпилога (/bitrix/modules/main/include/epilog_before.php) | |||
4.1 | Подключение | ||
4.2 | Вызов функции CMain::ShowSpreadCookieHTML | Данная функция выводит набор невидимых IFRAME’ов используемых в Технология переноса посетителей | |
5. Служебная часть эпилога (/bitrix/modules/main/include/epilog_after.php) | |||
5.1 | Событие OnEpilog | ||
5.2 | Завершение буферизации страницы | Завершение и вывод в поток буффера инициализированного в п. 1.14 | |
5.3 | Событие OnAfterEpilog | ||
5.4 | Проверка агентов | ||
5.5 | Отправка E-Mail писем | Подробнее о E-Mail письмах можно прочитать в разделе «Почтовая система» | |
5.6 | Завершение соединения с базой данных | Переменная $DB больше недоступна |
bitrix modules main include php
Вот третьим решением и поделюсь с вами. Хочу заметить я не сторонник null’a на битриксе, т.к. предпочитаю сайты строить на джумле, но клиент хочет битрикс. Хочет, пусть платит за лицензию.
Открывает файл /bitrix/modules/main/include.php (предварительно сохранить копию)
Конечно же он закодирован , но нам это не мешает, просто приведем текст к удобочитаемому виду с помощью сервиса http://beta.phpformatter.com/
Заменяем исходник на форматированный. С помощью поиска по тексту, ищем фразу:
На самом первом вхождении останавливаемся и комментируем строчки (
970 с.) выше найденного до цикла перебора for включительно. У меня это выглядит так:
Продолжаем поиск. Последующие вхождения будет цикл while. Комментируем его и die() ниже (1300 с. — самый низ). У меня это выглядит так:
Вот и все. Сообщение не исчезнет, но сайт поднимется и можно продолжить разработку. Конечно можно и от сообщений избавиться, но это уже будет полноценны null, в чем задача не стояла.
Это статья только для ознакомления. При разработке сложных проектов, может не хватить 30 дней тестового периода, а заказчик может отказаться покупать лицензию, пока ничего не готово, выход есть, можно продлить временно тестовый период, в этой статье раскрывается как это сделать. (Убедительная просьба не использовать это в корыстных целях, так как Ваше нарушение все равно обнаружат, так что перед тем как это сделать закройте сайт от индексации, а лучше всего используйте это локально на диске своего компьютера):
Открываем в редакторе файл /bitrix/modules/main/include.php –
он в закодированном виде, но код php в нем явно
просматривается (по символам ; и командам die, while и т.д.).
После каждой (или нескольких) из команд пробуем вставлять строку
//for ($_651851956 = (130 * 2 — 260),
//$_1513424658 = ($GLOBALS[‘____1474067924’][63]() Как продлить тестовый период Битрикс?(Как обнулить Битрикс?)
19:28:00 Unknown 3 Comments A + a —
Многие хотят получить 1С-Битрикс в пожизненное пользование совершенно бесплатно, но мало кто с этой задачей справляется. Однако в просторах интернета можно найти множество видео и сайтов, где рассказывается как можно сделать пожизненный триал, но некоторые данные уже сильно устарели, некоторые не подходят из-за своей привязанности к конкретной версии продукта, но все они сводятся к редактированию одного файла: include.php, который идет в составе ядра Битрикса.
Далее будет выложен файл, полностью приведенный в человеческий вид, исходя из полученных данных можно смело браться за получения вечного триала.