Как найти папку с компонентом bitrix?
название шаблона в переменной $view так-то, а сам шаблон может лежать черти где, как минимум в трех местах, эрмитаж подрубай и ищи через него
чо ты там нашел, не представляю.
курсы разработчика пройди и все вопросы ТАКОГО УРОВНЯ отпадут

Открываете сайт в режиме правки, наводите на список товаров, появится панелька, в самом конце есть возможность посмотреть какие компоненты используются и есть возможность открыть редактирование шаблона bitrix:catalog.section.
Вот именно в окне редактирования вверху на плашке будет путь к шаблону.
Есть и другие способы, например если знаете какая тема, то найти в папке этой темы. Если этот компонент подключается внутри комплексного компонента Каталог, то можно обнаружить внутри шаблона этого компонента

MaximMRX @GM_pAnda Автор вопроса
alex-1917, во $view попадает get параметры вида отображения страницы (таблица, лист, прайс). По дефолту лежит table. Но не каких table там нет папок

MaximMRX @GM_pAnda Автор вопроса

Сергей Герасимов,
Нет там table. а section-list, вообще не известно что

MaximMRX, это название шаблона. т.е. у вас три шаблона для разного отображения, не самый оптимальный вариант и первый признак г-кода.
а где он лежит — как я и говорил, в трех местах может лежать. через совет Герасимова ищите, это самый верный вариант из всех верных. хотя мне кажется, вы там и половины слов не поняли.
чтобы вам тут разжевали, давайте больше скринов, в частности, когда откроете шаблон то НАВЕРХУ в шапке всплывшего окна будет путь к нему.
а вы даете какой-то КУСОК скрина, тут что ванги собрались или кто здесь?
Решения вопроса 1

и так сойдет
Дампаете переменную $view , получили название шаблона.
Где искать
/bitrix/templates/ваш_шаблон/components/bitrix/catalog.section/
/bitrix/templates/.default/components/bitrix/catalog.section/
или
/local/templates/ваш_шаблон/components/bitrix/catalog.section/
Ну а вообще, если вы попробуете редактировать шаблон из публичной части, в окне редактирования будет полный путь до шаблона
Где находятся параметры компонентов в Битриксе?
Не пинайте, только осваиваю битрикс. Во многих мануалах и документации часто упоминается, что нужно изменить параметры компонента. И прикладываются скрины, где визуально меняются параметры какого либо компонента (например меню или каталога). При этом я не могу найти в админке, где же у меня эти самые параметры, вместо этого вижу только файлы .parameters.php которые я могу редактировать как php. Я где-то не там смотрю или у меня что-то не настроено?)
- Вопрос задан более трёх лет назад
- 14960 просмотров
Комментировать
Решения вопроса 1
Ну компоненты должны быть подключены на странице, что бы можно было их править.
Из публичной части правый верхний угол, переключаете «Режим правки» в положение «Включено».
И дальше при наведении курсора на компонент всплывает обрамление в виде рамки и в верхнем левом углу обрамления, появляется менюшка, откуда вы можете вызвать свойства компонента.
А вообще на оф.сайте битрикса есть подробная документация, с тестами на усвоение. Советую прочитать.
dev.1c-bitrix.ru/docs/php.php
Начните по порядку с «Контент менеджера», если вы разработчик не прыгайте сразу дальше, да, глядя в доку, из раздела «контент-менеджерам», вы можете сказать, что это вы уже знаете, однако, дочитайте каждый курс до конца и пройдите тест, если не смогли пройти, значит вы не знаете материал или не поняли его.
Ответ написан более трёх лет назад
Нравится 1 2 комментария

Евгений Перин @seoperin Автор вопроса
Спасибо, я понял где должны быть эти настройки. Но у меня там выводится «не удалось обнаружить код вызова компонента», сейчас пытаюсь понять в чем ошибка
Где лежат компоненты битрикс
Компоненты в Bitrix Framework должны храниться только в определенных местах:
- в папке /bitrix/components/bitrix (по умолчанию);
- в папке /bitrix/components/собственное пространство имен .
- в папке /local/components/ (рекомендуется для собственных компонентов сторонних разработчиков)
Системные компоненты находятся в папке /bitrix/components/bitrix/ . Содержимое этой папки обновляется системой обновлений и не может изменяться пользователями.
Внимание! Изменение содержимого папки /bitrix/components/bitrix/ может привести к непредсказуемым последствиям.
Пользовательские компоненты могут находиться в любых других подпапках папки /bitrix/components/ или прямо в папке /bitrix/components/ , но рекомендуется папка /local/components/ .
Именование
Название подпапки директории /bitrix/components/ образует пространство имен (namespace) компонентов. Например, все системные компоненты расположены в пространстве имен bitrix. При создании пользовательских компонентов рекомендуется создать какое-либо пространство имен и размещать свои наработки в нем.
Например, существует системный компонент news, который расположен в пространстве имен bitrix. Если необходим пользовательский компонент news, который имеет другую функциональность, не реализуемую с помощью шаблона системного компонента, то рекомендуется создать некоторое пространство имен (подпапку) в папке /bitrix/components/ (например, demo) и расположить пользовательский компонент news в этом пространстве имен. Таким образом будут доступны два компонента news, но лежащие в разных пространствах имен: bitrix:news и demo:news.
![]() |
![]() |
Имена компонентов имеют вид идентификатор1.идентификатор2. . Например, catalog, catalog.list, catalog.section.element и т.п. Рекомендуется строить имена иерархически, начиная с общего понятия и заканчивая конкретным назначением компонента. Например, компонент, показывающий список товаров данной группы, может называться catalog.section.elements. Полное имя компонента — это имя с указанием пространства имен. Полное имя имеет вид пространство_имен:имя_компонента. Например, bitrix:catalog.list. Если компонент лежит вне пространства имен, то пространство имен не указывается. Например, catalog.section.
Подключение
В самом общем виде подключение компонента осуществляется следующим образом:
IncludeComponent( $componentName, // имя компонента $componentTemplate, //его шаблон, пустая строка если шаблон по умолчанию $arParams=array(), // параметры $parentComponent=null, // null или объект родительского компонента $arFunctionParams=array() );?>
Внутри компонента (файл component.php) доступны следующие предопределенные переменные:
$componentName – полное название компонента (например: bitrix:news.list).
$componentTemplate – шаблон, с которым он вызывается.
$arParams – входные параметры (т.е. параметры с которыми вызывается компонент). Параметры доступны так же по их именам.
$componentPath – путь к компоненту относительно корня сайта (пример: /bitrix/components/bitrix/news.list ).
$parentComponentName – название родительского компонента (пустое, если нет родителя).
$parentComponentPath – путь к родительскому компоненту относительно корня сайта (пустой, если нет родителя).
$parentComponentTemplate – шаблон родительского компонента (пустой, если нет родителя).
$arResult — результат, чтение/изменение. Затрагивает одноименный член класса компонента.
$this — естественно ссылка на текущий вызванный компонент (объект класса CBitrixComponent), можно использовать все методы класса.
Кроме того, в компоненте объявлены глобальными переменные $APPLICATION, $USER, $DB.
- В ключах, начинающихся с ~, данные содержатся в исходном виде (т.е. без всякой обработки).
Если это комплексный компонент или в шаблоне компонента вызывается другой и часть параметров передается ему, то необходимо передавать значение ключей с ~. - В ключах без ~ данные приведены к безопасному виду с помощью метода htmlspecialcharsEx. Если ключ содержит массив, то будут обработаны строковые ключи массива (тоже с помощью htmlspecialcharsEx).
Где лежат компоненты битрикс

Роберт Басыров
Сложность урока:
2 уровень — несложные понятия и действия, но не расслабляйтесь.
Недоступно в лицензиях:
Ограничений нет
Компонент хранит все, что ему нужно для работы, в своей папке. Поэтому их можно легко переносить между проектами.
Структура
Важно: файлы компонентов нельзя использовать по отдельности. Компонент — это единое целое, он обладает свойством неделимости.
Структура файлов
Папка компонента может содержать следующие подпапки и файлы:
-
/install , в которой расположены скрипты для инсталляции и деинсталляции компонента. Скрипт инсталляции должен называться install.php, а скрипт для деинсталляции — uninstall.php. Подпапка /install может отсутствовать. —>
- подпапку /lang , в которой расположены файлы языковых сообщений (переводов) компонента. В ней также могут размещаться папки помощи /help .
- подпапку /templates , в которой расположены шаблоны вывода (отображения) компонента. Эта подпапка может отсутствовать, если у компонента нет шаблонов вывода.
- файл component.php, который содержит логику (код) компонента. Задача этого файла — сформировать из полученных параметров ( $arParams ) массив $arResult , который впоследствии попадет в шаблон компонента. Этот файл должен присутствовать в папке компонента, если только логика компонента не размещена в файле class.php.
- файл .description.php, который содержит название, описание компонента и его положение в дереве логического размещения (для редактора). Этот файл должен всегда присутствовать в папке компонента. Его отсутствие не скажется на работе компонента, но размещение компонента через визуальный редактор станет невозможным.
- файл .parameters.php, который содержит описание входных параметров компонента для редактора. Если у компонента есть входные параметры, то этот файл должен присутствовать в папке компонента.
- файл class.php для поддержки ООП-компонентов. В этом файле так же может размещаться логика (код) компонента.
- файл script.js, может подключаться из шаблона, а может из кода компонента $APPLICATION->AddHeadScript($this->GetPath().’/script.js’); .
- любые другие папки и файлы с ресурсами, необходимыми компоненту, например, папка /images .
Общая структура компонента
else < //Запрос данных и формирование массива $arResult в соответствии со //структурой,описанной в файле помощи компонента $this->IncludeComponentTemplate(); //Кеширование вывода > ?>
Папки локализаций
Компоненты и их шаблоны поддерживают возможность вывода пользовательских сообщений на различных языках. Так, например, если компонент выводит содержимое инфоблока, это содержимое может понадобиться предварить строковой константой. Например, «Здесь вы видите содержимое инфоблока». Пользователь же может перейти, например, в англоязычную версию сайта — и в этом случае эта константа может быть для него автоматически выведена на английском языке.
Для реализации этой функции при выводе строковых констант выводится не сама константа, а вызывается спецфункция, а в качестве аргумента ей передаётся идентификатор этой константы.
В файле template.php без локализации:
В файле template.php с локализацией:
В этом случае в файле /lang/ru/template.php пишем:
В папке /lang для каждой языковой версии создаётся папка с названием языка (например, /ru , /en и т.п.), в которой и размещаются файлы языковых сообщений. Рекомендуется называть файл языковых сообщений для какого-либо файла компонента так же, как называется этот файл. В этих файлах находятся массивы, ключами для которых являются идентификаторы констант, а значениями — сами константы, переведенными на соответствующий язык.
Рекомендуется располагать файлы в той же иерархии относительно папки /lang/код_языка/ , в которой файл располагается относительно папки компонента. Например, языковой файл с английскими фразами для файла /install/uninstall.php рекомендуется располагать по пути /lang/en/install/uninstall.php . Подпапка /lang может отсутствовать, если в компоненте нет зависящих от языка фраз.
Папки локализаций создаются отдельно для компонентов и для каждого из шаблонов.
Как поменять стандартные надписи в интерфейсе.
Скопировать шаблон компонента для того, чтобы его можно было кастомизировать (если он еще не кастомизирован). Затем либо:
- С помощью модуля Перевод: Настройки > Локализация .
- Либо же вручную редактируете языковые файлы /bitrix/templates/имя_шаблона_сайта/components/имя_компонента/templates/имя_шаблона/lang/ru/template.php .
Подключение языкового файла (файла перевода) компонента
Языковые файлы в компоненте и всех его стандартных файлах (component.php, .description.php, .parameters.php) подключаются автоматически. В других файлах компонента языковые файлы можно подключить командой:
$this->IncludeComponentLang($relativePath = «», $lang = False)
где:
$relativePath — путь к файлу относительно папки компонента,
$lang — язык. Если передается False, то используется текущий язык.
Подсказки в компонентах
Bitrix Framework позволяет создать подсказки к параметрам компонента:

Файл создаётся в языковой папке /lang . В файле — массив $MESS , в котором ключами являются параметры компонента c добавлением суффикса _TIP , значениями — подсказки. В качестве примера:
$MESS["IBLOCK_TYPE_TIP"] = "Это подсказка для типа инфоблока"; $MESS["IBLOCK_ID_TIP"] = "Это подсказка для ID инфоблока"; $MESS["SORT_BY1_TIP"] = "Это подсказка для первой сортировки";
Нет необходимости создавать отдельный lang-файл с подсказками. Их достаточно сохранить в lang-файле .parameters.php (как для компонента, так и для шаблона компонента). Формат подсказок прежний.
Подсказки для параметров компонента IBLOCK_TYPE , IBLOCK_ID , SORT_BY1 и SORT_ORDER1 .
Ряд стандартных параметров ( CACHE_TIME , AJAX_MODE и другие) имеет несколько подсказок. Для CACHE_TIME :
- CACHE_TIME — время кеширования;
- CACHE_TYPE — тип кеширования.
Для страничной адресации:
- DISPLAY_TOP_PAGER — показывать постраничку над списком;
- DISPLAY_BOTTOM_PAGER — показывать постраничку под списком;
- PAGER_TITLE — название элементов в постраничке;
- PAGER_SHOW_ALWAYS — показывать постраничку всегда;
- PAGER_TEMPLATE — имя шаблона постранички;
- PAGER_DESC_NUMBERING — обратная адресация;
- PAGER_DESC_NUMBERING_CACHE_TIME — время кеширования обратной адресации.
Внимание! Нельзя делать подсказки про запас (создать, но оставить пустыми): перестанут показываться настройки компонента.


