Между тем, при работе с комплексным компонентом можно модифицировать один или несколько простых, остальные остаются стандартные.
[spoiler]
Например, необходимо в компоненте socialnetwork.user_groups, который в составе комплексного компонента socialnetwork_group выводит список групп, увеличить длину выводимого описания группы с 50 до 100 символов (нарочно выбрал простую модификацию чтобы акцентировать внимание на самом процессе).
- Открываем страницу в режиме разработки и копируем шаблон комплексного компонента (1) в шаблон сайта через меню настройки компонента (2).
Теперь в шаблоне сайта имеем шаблон комплексного компонента, перейдя в который увидим большой набор файлов в папке/bitrix/templates/<шаблон сайта>/components/bitrix/socialnetwork_group/.default
Каждый из файлов вызывается на определённой странице соцсети и подключает треруемые простые компоненты. - Теперь надо найти файл, который подключает тот компонент, который нужно изменить. В моём случае это index.php.
- Остальные файлы в шаблоне комплексного компонента, расположенного в шаблоне сайта, можно удалить!
Комплексный компонент будет подключать эти файлы из ядра. А значит они будут обновляться. - Теперь в оставшемся файле заменяем
$APPLICATION->IncludeComponent( "bitrix:socialnetwork.user_groups",
на$APPLICATION->IncludeComponent( "custom:socialnetwork.user_groups",
- копируем папку /bitrix/components/bitrix/socialnetwork.user_groups в /bitrix/components/custom/socialnetwork.user_groups
- в файле /bitrix/components/custom/socialnetwork.user_groups/component.php
заменяем"GROUP_DESCRIPTION" => SubStr($arGroups["GROUP_DESCRIPTION"], 0, 50)."...",
на"GROUP_DESCRIPTION" => SubStr($arGroups["GROUP_DESCRIPTION"], 0, 100)."...",
Готово: теперь весь функционал соцсети остаётся стандартный, кроме компонента socialnetwork.user_groups.
Кажется много действий, но важно понять принцип.