Битрикс подключить файл php
Прилетела задачка. Необходимо натянуть готовую верстку сайта услуг на битрикс редакции Стандарт. В этой статье напишу, как подготовить шаблон сайта, а по компонентам и необходимому функционалу отдельно оставлю ссылки на другие статьи, дабы не растягивать статью. К ней всегда можно вернуться, если прилетит другая задача по интеграции верстки, и вспомнить порядок действий
footer.php
В файле /local/templates/main/footer.php понадобятся следующие записи
- if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();Рассмотрено выше
- IncludeTemplateLangFile(__FILE__);Рассмотрено выше
- $APPLICATION->AddHeadScript(SITE_TEMPLATE_PATH."/js/index.js");Подключается к шаблону файлы скриптов, например для объединения
- SITE_TEMPLATE_PATH;Рассмотрено выше
- $APPLICATION->GetCurPage(false) === '/';Рассмотрено выше
index.php
В файле /index.php понадобятся следующие записи
- require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"); //Подключение шапки
- require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php"); //Подключение подвала
.section.php
В файле /.section.php понадобятся следующие записи
- $sSectionName = "Webpack app"; //Имя раздела в админ панели
- $arDirProperties = array("title" => "Webpack app", "description" => "", "keywords" => "", "robots" => ""); //Свойства раздела,используются как $APPLICATION->SetPageProperty("title")
Подключение необходимых компонентов и другого функционала для окончанительной интеграции верстки на битрикс
На этом проекте были использованы следующие компоненты и функционал
P.S. чтобы все работало необходимо подключить созданный шаблон в админке сайта. По правде говоря все то, что я тут пишу - это порядок действий по натяжки верстки на битрикс для меня, при выполнении однотипной задачи, чтобы не держать все в голове.
Работаю © 2012 - 2022 год
Все права защищены
Навыки и умения Знание PHP5, MySQL, JS, HTML5, CSS3. Работа с технологиями XML, AJAX, GIT, SOAP Большой опыт взаимодействия с сервером. Работа с 1C-BITRIX FRIMEWORK, BITRIX24
Метод является основой для подключения каких либо файлов в теле страницы, в прологе или в эпилоге и для подключения компонентов. Визуальное содержимое подключенного файла представляет из себя включаемую область. Нестатический метод.
Параметры
Параметр | Описание |
---|---|
path | Путь к подключаемому файлу. |
Если в данном параметре задан путь к файлу от корня сайта, то этот файл и будет подключен. Если такого файла не существует, то при нажатии на панели управления кнопки "Показать включаемые области", в месте, где указан данный метод, будет показана голубая иконка, ссылка с которой ведет на административную страницу создания нового файла по указанному пути.
Если в данном параметре будет задан относительный путь к подключаемому файлу, то система будет воспринимать этот файл как компонент и будет выводиться кнопка редактирования параметров компонента в режиме правки.
- Сначала файл будет искаться в каталоге
/bitrix/templates/ID текущего шаблона сайта/path - Если файл не найден, он будет искаться в каталоге
/bitrix/templates/.default/path - Затем если файл не найден, он будет искаться дистрибутиве модуля, т.е. в следующем каталоге:
/bitrix/modules/ID модуля/install/templates/path,
здесь ID модуля - это первый подкаталог в path
- SHOW_BORDER - показывать ли рамку и иконки для редактирования, допустимы следующие значения:
- true - показать рамку при нажатии на панели кнопки "Показать включаемые области" (значение по умолчанию)
- false - не показывать рамки
- true - ссылка ведущая на редактирование будет указывать на страницу модуля документооборота
- false - ссылка ведущая на редактирование будет указывать на страницу модуля управления статикой (значение по умолчанию)
- text - файл будет редактироваться как текст (ссылка на страницу редактирования файла в режиме текста)
- html - файл будет редактироваться как HTML (ссылка на веб-редактор)(значение по умолчанию)
- php - файл будет редактироваться как PHP (ссылка на страницу редактирования исходников файла)
Другие файлы и папки
В папке шаблона /local/templates/main/ также размещаются другие необходимые для работы файлы и папки
- components папка с компонентами -> bitrix пространство имен -> menu название компонента -> top имя шаблона -> template.php и др файлы компонента
- css -> index.css и другие файлы со стилями
- fonts ->файлы со шрифтами
- img ->файлы с изображениями
- include ->файлы подключаемые с помощью компонента $APPLICATION->IncludeComponent("bitrix:main.include", "", Array(), false);
- js -> index.js и другие файлы со скриптами
- lang -> en/ru -> description.php и другие файлы соименные файлы, где необходимо используется конструкция вида GetMessage('T_DEFAULT_DESC_NAME')
description.php
В файле /local/templates/main/description.php понадобятся следующие записи
- if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); //Рассмотрено выше
- IncludeTemplateLangFile(__FILE__); //Рассмотрено выше
- $arTemplate = Array("NAME"=>GetMessage('T_DEFAULT_DESC_NAME'), "DESCRIPTION"=>GetMessage('T_DEFAULT_DESC_DESC')); //Записываем имя шаблона и описание. T_DEFAULT_DESC_NAME и T_DEFAULT_DESC_DESC их значения лежат в языковых фалах в виде $MESS ['T_DEFAULT_DESC_NAME'] = "Главный шаблон";.
Интегрируем шаблон сайтана битрикс
Подготавливаем путь для файлов шаблона, где будут лежать все файлы верстки, компонентов, языковые файлы, header.php и footer.php и остальные нужные проекту файлы Путь будет такой /local/templates/main/ Папку с шаблоном назовем "main" Работать будем с папкой local, а bitrix трогать вообще не будем. Разделим верстку страницы в битрикс на три части.
- Первую положим в header.php
- Вторую положим в index.php
- Третью положим в footer.php
Файлы header.php и footer.php будут подключаться на каждой странице сайта, а index.php будет у каждой странице свой.
header.php
В файле /local/templates/main/header.php понадобятся следующие записи
- if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); Данная строчка указывается в начале файла, для секюртости. Чтобы не могли открыть данный файл на прямую из браузера, без подключения ядра битрикса
- IncludeTemplateLangFile(__FILE__);Подключаются языковые файлы для шаблона
- $APPLICATION->ShowTitle();Отображение заголовка страницы из $APPLICATION->SetTitle("title")
- $APPLICATION->ShowHead();Выводит необходимый функционал в head
- $APPLICATION->SetAdditionalCSS(SITE_TEMPLATE_PATH."/css/index.css");Подключается к шаблону файлы стилей, например для объединения
- $APPLICATION->ShowPanel();Подключает панель битрикса
- SITE_TEMPLATE_PATH;Содержит путь до шаблона, без последнего слеша, в частности /local/templates/main
- $APPLICATION->ShowTitle(false);Отображение заголовка страницы из $APPLICATION->SetPageProperty("title")
- $APPLICATION->GetCurPage(false) === '/';Необходим, если главная страница отличается от внутренней по верстке
Примеры
Пример подключения компонента на странице
Пример подключения произвольного файла в эпилоге сайта
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.
Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
Здравствуйте, я пытаюсь разобраться с работой данной функции. На форуме нашел одно упоминание, так понял, что функция сложная. В хелпе ее вообще нет. Опишите, пожалуйста, ее поподробнее.
Кстати, может где-нибудь есть более подробная справка по системе?Добрый день,
Подробное описание функций доступно во встроенной системе помощи.
Сейчас мы ведем активную работу по дополнению всех разделов помощи.Ниже предварительное описание функции CMain::IncludeFile():
Спасибо за помощь
Но здесь много неясного для меня.
Именно, что она делает в принципе?
В шаблоне написано следующее:
IncludeFile("top_items.php", "php")
"top_items.php"-по вашим словам должен быть путь относительно корня шаблона, как это понимать? "php"-тут передается строка, а по вашим словам здесь может быть только массив.Цитата
Подробное описание функций доступно во встроенной системе помощи.Что вы имеете ввиду?
В помощи к последней версии, которую я скачивал с сайта, я не нашел никакой информации. В общем, по этой функции(и по другим тоже) очень много вопросов. Возможно, где то можно скачать более полное описание?Цитата Постигающий Битрикс пишет:
Именно, что она делает в принципе?Данная функция предназначена для подключения на странице различных файлов, в том числе и компонент.
На панели управления есть кнопка "Показать включаемые области", при ее нажатии, весь HTML код, выводимый подключаемым файлом, будет обрамлен рамкой. В правом верхнем углу такой рамки будет иконка позволяющая редактировать подключенный файл.
Если иконка имеет красный цвет - это означает что подключенный файл являеся компонентом и входит в дистрибутив модуля и перед редактированием он будет предварительно скопирован в каталог /bitrix/templates/[текущий шаблон сайта].
Если же иконка имеет голубой цвет - это означает что данный файл находится либо в каталоге /bitrix/templates/.default/, либо в каталоге /bitrix/templates/[текущий шаблон сайта].
Если будут выведены две иконки (красная и синяя), это означает что подключенный файл является компонентой, а также то что существуют два файла с одинаковым именем, один из которых находится в каталоге /bitrix/templates/[текущий шаблон сайта]/, либо в каталоге /bitrix/templates/.default(синяя иконка), а другой - в каталоге /bitrix/modules/[ID модуля]/install/templates/ (красная иконка).
Здравствуйте, сталкиваюсь с битриксом впервые. Необходимо просто напросто подключить SxGeo базу к сайту для проверки страны, и если старана не попадает в перечень то закрывать сайт (обязательно, без htaccess и т.д.).
в index.php вставляю перед
Но результата не дает! Подскажите как правильно это сделать в битриксе.Да это понятно, я-то тестирую с России по этому и убрал "!". Вообще не работает скрипт, print_r($zap); - выдает просто белую страницу с крокозябрами в итоге.
$SxGeo = new SxGeo($_SERVER["DOCUMENT_ROOT"].'/SxGeo.dat');
$SxGeo = new SxGeo($_SERVER["DOCUMENT_ROOT"].'/SxGeo.dat');Mysterion, Да, спасибо, строка одна лишняя но сути не меняет. Проблема в том, что даже если перед
Вы будете это подключать в каждом файле до require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"); ?
Ну это же не путь.
Добавьте эту проверку хотя бы в init.php. А лучше в какой-то файл, который уже просто подключайте в init.php*Это то что касается подключения именно в битрикс.
Что касается самой библы - сначала оладьте свое решение на пустом обычном файле без битрикс. Потом уже к битрикс подключайте. А то у вас явно не работает SxGeo, а вопрос вроде как про битрикс.
Я не буду говорить что само такое решение плохое - и вы зарежете очень много пользователей из тех стран из которых их надо пропустить - надеюсь вы и сами прекрасно понимаете и желание отпилить ногу полностью осознано, но я все же хочу сказать что подключать на каждом хите эту библу - дорогое удовольствие. Поставьте лучше куку, после того как пропустили пользователя один раз и всем пользователям с этой кукой уже не выполняйте проверку. Можно признак в сессии хранить в принципе.
----------------------------------
* - я имею ввиду /local/php_interface/init.phpNodejs
PHP
SQL
NoSQL
RegExp
Apache
Nginx
Bash
Git
Sphinx
ELK
Mail
Ускорение сайта
КриптоПро
Сеть
Docker
1C
Смотрите также
Читайте также: