Как ни крути, хабрасообщество негативно относится к этой платформе, почем зря, я уверен у этой платформы есть своя ниша, в которой приятно разрабатывать свои проекты и значит есть люди, которым будет полезна эта информация. В этом топике, а так же если позволит искушенный читатель, и в следующих, я буду рассказывать о хитростях работы с этой платформой.
Всем привет!
Перед тем как начать топик по теме я сделаю маленькое предисловие, что бы было понятно как относиться к автору и какими мыслями он живет.
Мой путь в мир IT начался еще в школе в старших классах, уже тогда я знал что хочу связать свою профессию с Великим и Ужасным миром технологий. По окончании школы поступил в колледж на специальность с длинным и малоинформативным названием что я даже затрудняюсь вспомнить, но тоже связанной с компьютерами. Вообще в то время был пик спроса на такого рода специальности. Во время первого года учебы, у мне была предложена работа в информационном отделе колледжа, от которой я не смог отказаться так как это мне сулило много бонусов в учебе и в финансовом плане (хотя платили мало). После 3,5 года учебы, передо мной стоял выбор пойти в армию на 2 года или пойти учится в институт, устав от бесконечной нервотрепки на учебе и работе я решил взять себе отпуск и пошел в армию, тогда мне шел 21 год.
В армии солдатам что бы как то заработать деньги (себе на «приличный ужин» — батон, доширак, пакетик кофе и майонез) приходилось воровать, строить гаражи офицерам и т.д. а мне частенько доводилось собирать компьютеры из старых комплектующих валяющихся на технической позиции части. До сих пор помню эту гору техники которую привезли на утилизацию, чего там тока не было: мониторы огромных размеров, серверные стойки, жесткие диски по 1-3 гб. и т.д. Честно говоря в армии предвзятое негативное мнение о тех кто как то связан с компьютерами: можно сказать что их считают «неженками», и что бы это исправить сержантский состав старается больше направлять их на физическую работу, в наряды и т.д. По окончании службы у меня была возможность устроится в один из Подмосковных офисов разработки «антивируса Касперского», но из-за проблем с пропиской было решено вернулся домой.
В первую же неделю вернувшись домой я устроился на работу программистом в солидное по местным меркам учебное заведение. Собственный кабинет, хорошая зарплата, куча техники — от интерактивных досок до музыкальной аппаратуры и этим всем я мог пользоваться в своей работе.

Вот так выглядело мое рабочее место
На протяжении 3-х лет работы я развивал свои познания в технике, программном обеспечении (часть моей работы состояла в создании, обработке видео и аудио материала) и в малой доле составлением программ (парадокс, должность «программист»).
Около полугода назад я первый раз зашел на Хабр, и вот с тех пор являюсь постоянным читателем. В настоящее время я работаю в фирме в которой одним из направлений деятельности является разработка интернет решений на платформе 1С-Битрикс. Я успел уже принять участие в разработке нескольких разносторонних проектов: геоинформационный проект «Локатор ГИС», а так же лично собрал типовое решение для фан-сайтов игры «World of tanks».
Статья будет строиться по схеме вопрос-ответ, т.е. будет стоять задача или вопрос, а ниже будет дано решение как это можно реализовать. При решении задачи преимущественно будет использоваться API самой платформы.
В моей первой статье пойдет речь о том как можно расширить функционал компонентов средствами api Битрикс.

Пример вставки своей опции.
Для начала нужно открыть в редакторе файл компонента component.php и в конец его вставить следующий код.
Формируем массив с параметрами для открытия всплывающего окна.
«URL» — хранится путь до файла, который будет открыт при нажатии на нашу опцию. Сюда же вставляются передаваемые параметры. Передача осуществляется методом POST.
Далее формируем массив с данными для отображения нашей опции.
Теперь в файле который мы вызываем edit.images.menu.php нужно вставить следующий код:
Вот и все, путем несложных действий мы добились желаемого результата)
В данном примере использован код взятый с файла компонента /bitrix/menu/component.php и главного модуля /modules/main/public/menu_edit.php. При желании Вы можете самостоятельно их изучить.
Всем спасибо…
Всем привет!
Перед тем как начать топик по теме я сделаю маленькое предисловие, что бы было понятно как относиться к автору и какими мыслями он живет.
Мой путь в мир IT начался еще в школе в старших классах, уже тогда я знал что хочу связать свою профессию с Великим и Ужасным миром технологий. По окончании школы поступил в колледж на специальность с длинным и малоинформативным названием что я даже затрудняюсь вспомнить, но тоже связанной с компьютерами. Вообще в то время был пик спроса на такого рода специальности. Во время первого года учебы, у мне была предложена работа в информационном отделе колледжа, от которой я не смог отказаться так как это мне сулило много бонусов в учебе и в финансовом плане (хотя платили мало). После 3,5 года учебы, передо мной стоял выбор пойти в армию на 2 года или пойти учится в институт, устав от бесконечной нервотрепки на учебе и работе я решил взять себе отпуск и пошел в армию, тогда мне шел 21 год.
В армии солдатам что бы как то заработать деньги (себе на «приличный ужин» — батон, доширак, пакетик кофе и майонез) приходилось воровать, строить гаражи офицерам и т.д. а мне частенько доводилось собирать компьютеры из старых комплектующих валяющихся на технической позиции части. До сих пор помню эту гору техники которую привезли на утилизацию, чего там тока не было: мониторы огромных размеров, серверные стойки, жесткие диски по 1-3 гб. и т.д. Честно говоря в армии предвзятое негативное мнение о тех кто как то связан с компьютерами: можно сказать что их считают «неженками», и что бы это исправить сержантский состав старается больше направлять их на физическую работу, в наряды и т.д. По окончании службы у меня была возможность устроится в один из Подмосковных офисов разработки «антивируса Касперского», но из-за проблем с пропиской было решено вернулся домой.
В первую же неделю вернувшись домой я устроился на работу программистом в солидное по местным меркам учебное заведение. Собственный кабинет, хорошая зарплата, куча техники — от интерактивных досок до музыкальной аппаратуры и этим всем я мог пользоваться в своей работе.

Вот так выглядело мое рабочее место
На протяжении 3-х лет работы я развивал свои познания в технике, программном обеспечении (часть моей работы состояла в создании, обработке видео и аудио материала) и в малой доле составлением программ (парадокс, должность «программист»).
Около полугода назад я первый раз зашел на Хабр, и вот с тех пор являюсь постоянным читателем. В настоящее время я работаю в фирме в которой одним из направлений деятельности является разработка интернет решений на платформе 1С-Битрикс. Я успел уже принять участие в разработке нескольких разносторонних проектов: геоинформационный проект «Локатор ГИС», а так же лично собрал типовое решение для фан-сайтов игры «World of tanks».
Статья будет строиться по схеме вопрос-ответ, т.е. будет стоять задача или вопрос, а ниже будет дано решение как это можно реализовать. При решении задачи преимущественно будет использоваться API самой платформы.
В моей первой статье пойдет речь о том как можно расширить функционал компонентов средствами api Битрикс.
Задача: Как вставить во всплывающем окне редактирования компонента свою опцию.

Пример вставки своей опции.
Ответ:
Для начала нужно открыть в редакторе файл компонента component.php и в конец его вставить следующий код.
Формируем массив с параметрами для открытия всплывающего окна.
«URL» — хранится путь до файла, который будет открыт при нажатии на нашу опцию. Сюда же вставляются передаваемые параметры. Передача осуществляется методом POST.
$menu_edit_url = $APPLICATION->GetPopupLink(array(
"URL" => $componentPath."/edit.images.menu.php?lang=".LANGUAGE_ID.
"&site=".SITE_ID."&back_url=".urlencode($_SERVER["REQUEST_URI"])."&path=".urlencode($path))
);
Далее формируем массив с данными для отображения нашей опции.
$arIcons[] = Array(
"URL" => 'javascript:'.$menu_edit_url,
"ICON" => "bx-context-toolbar-edit-icon",
"TITLE" => GetMessage("ADD_ICON_TITLE"),
"DEFAULT" => true,
);
//выводим нашу опцию на экран
$this->AddIncludeAreaIcons($arIcons);
Теперь в файле который мы вызываем edit.images.menu.php нужно вставить следующий код:
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_js.php");
CUtil::JSPostUnescape();
$obJSPopup = new CJSPopup('',
array(
'TITLE' => "Моя опция",
'ARGS' => "lang=".urlencode($_GET["lang"])."&site=".urlencode($_GET["site"])."&back_url=".urlencode($_GET["back_url"])."&path=".urlencode($_GET["path"]),
)
);
//показать заголовок окна
$obJSPopup->ShowTitlebar();
//показать иконку описания, так же ниже можно вывести текст описания
$obJSPopup->StartDescription('bx-core-edit-menu');
Описание
//начать вывод основного контента окна, так же сюда можно вставлять описание стилей и код javascript
$obJSPopup->StartContent();
Содержание окна
//вывести внизу кнопки "сохранить" и "отмена", при нажатии на кнопки данные передаются методом POST в это же окно
$obJSPopup->ShowStandardButtons();
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin_js.php");
Вот и все, путем несложных действий мы добились желаемого результата)
В данном примере использован код взятый с файла компонента /bitrix/menu/component.php и главного модуля /modules/main/public/menu_edit.php. При желании Вы можете самостоятельно их изучить.
Всем спасибо…