Короткая заметка о такой сущности CMS Битрикс как Компонент. Так уж повелось что под компонентами в разных системах управления сайтами имеются ввиду несколько разные функциональные единицы. В NetCat — шаблон отображения данных раздела (т.е. данные отображаемые лежат скорее в таблицах разделов), в Joomla обычно самодостаточный функциональный элемент сайта/портала (например, фотогалерея, форум, каталог ссылок, данные находятся скорее в таблицах компонента). В битрикс же, по-моему, компоненты это нечто среднее. Далее кратко, о компонентах и массивах параметров.
Компоненты 2.0 Битрикс
1. Лежат в папке sitename\bitrix\components\devname, где devname — условно название разработчика компонента (т.е. в папке sitename\bitrix\components\bitrix лежат стандартные компоненты созданные в подземелиях bitrix).
2. Папка компонента обязательно должна содержать два файла: .description.php — описание компонента, и component.php — основной файл компонента (но мы рассмотрим еще и parameters.php — описание входных параметров компонента).
3. Вызываются на фронте методом $APPLICATION->IncludeComponent, в шаблоне сайта, который, изрядно поискав, можно найти так: Настройки::Настройки продукта::Сайты::Шаблоны сайтов.
Содержание файлов компонента
1. Примерное содержание файла .description.php:
<? $arComponentDescription = array( "NAME" => GetMessage("COMP_NAME"), "DESCRIPTION" => GetMessage("COMP_DESCR"), "ICON" => "/images/icon.gif", "PATH" => array( "ID" => "content", "CHILD" => array( "ID" => "catalog", "NAME" => "Каталог товаров" ) ), "AREA_BUTTONS" => array( array( 'URL' => "javascript:alert('Это кнопка!!!');", 'SRC' => '/images/button.jpg', 'TITLE' => "Это кнопка!" ), ), "CACHE_PATH" => "Y", "COMPLEX" => "Y" ); ?> |
2. Содержание файла .parameters.php.
3. Содержание файла component.php.
4. Файл шаблона отображения данных компонента должен лежать по адресу /bitrix/components/devname/component.name/templates/.default/template.php.
5. Вызов (подключение) компонента на фронте (в шаблоне сайта):
<? //... $APPLICATION->IncludeComponent("bitrix:catalog.list","table/index.php", array( "IBLOCK_TYPE_ID" => "catalog", ), $component ); //... ?> |
На одном из блогов подмечено: из массива $arComponentParameters будет сгенерирован массив $arParams, который будет использоваться в основном файле нашего компонента — component.php, шаблон принимает массив $arResult, сгенерированный в файле component.php и выводит его содержимое в браузер. Но если у вас появится желание узнать где именно происходит превращение $arComponentParameters в $arParams то вы наверное обратитесь к документации к битрикс, и попадете на страницу Замечания по массивам $arParams и $arResult на которой об этом ни слова.
Так вот, для объяснения этого явления использую кусок статьи из википедии о битриксе:
Сложность ориентирования в исходном коде Битрикса, достаточно тяжёлый стиль этого кода. К тому же в большинстве современных Open Source CMS, документация генерируется с помощью phpDocumentor или Doxygen, что гарантирует её актуальность и возможность взглянуть на исходный код
Для сравнения взгляните на сгенерированную документацию к одному из классов Joomla. Не правда ли, все ясно и понятно?
документация по битриксу, представленная на официальном сайте битрикс, не сказать, что очень сильно полная, но... все же лучше, чем ничего.
Про стиль это точно.
Как по мне — Битрикс ну совсем не фонтан. Как-то все наворочено и вывернуто наизнанку.
Единственная удобная штука — это наверное графический редактор — то что надо «для домохозяек».
документация бесплатных аналогов битрикса на порядок и более лучше. Не понял про графический редактор — это где такой в битриксе? впрочем неважно, редактору битрикса до того же TinyMce очень далеко. позор для такой дорогой системы