Как скопировать шаблон компонента в Битрикс24 правильно?

Здравствуйте! 

У меня возникла проблема с выполнением файлов компонента report.view в локальной папке ./local/components/bitrix/report.view вместо оригинальной папки ./bitrix/components/bitrix/report.view. Я уже исправил ссылку на файл stexport.ajax.php в файле component.php, и также очистил кеш. Права на все файлы bitrix:bitrix.
Однако, код из оригинальной папки ./bitrix/components/bitrix/report.view все еще применяется. Можете ли вы указать, как решить эту проблему?
Изображение к вопросу
Изображение к вопросу
Изображение к вопросу
Изображение к вопросу
Изображение к вопросу
  • 21 октября 2023 г. 22:28
Ответы на вопрос 2
Для правильного копирования шаблона компонента в Битрикс24, следуйте этим шагам:

1. Создайте новую папку для вашего компонента внутри папки ./local/components/bitrix/. Например, можно создать папку с названием "mycomponent".

2. Скопируйте файлы из оригинальной папки ./bitrix/components/bitrix/report.view в новую папку ./local/components/bitrix/mycomponent. Вам нужно скопировать все файлы и папки, связанные с компонентом.

3. Внесите необходимые изменения в скопированные файлы. Например, если вам нужно изменить ссылку на файл stexport.ajax.php, отредактируйте этот файл внутри новой папки.

4. Очистите кеш Битрикс24, чтобы обновить компонент. Для этого перейдите в административную панель Битрикс24, выберите "Настройки" > "Инструменты" > "Кеш" и нажмите "Очистить кеш".

Теперь компонент должен использовать изменения из новой папки ./local/components/bitrix/mycomponent.

Обратите внимание, что при обновлении платформы Битрикс24 или компонента, ваши изменения могут быть перезаписаны. Поэтому рекомендуется делать копии оригинальных файлов и следить за изменениями при обновлении.
Разобрался самостоятельно с помощью функции debug_backtrace(), которую вставил в файл для записи результатов в исходном файле./bitrix/components/bitrix/report.view/stexport.ajax.php. Оказалось, что этот файл вызывался из другого компонента, вот его код:

Array
(
    [0] => Array
        (
            [file] => /home/bitrix/www/bitrix/components/bitrix/crm.report.view/stexport.ajax.php
            [line] => 5
            [function] => include_once
        )

)

Для решения проблемы я скопировал весь компонент crm.report.view в папку ./local/components/bitrix/report.view и произвёл замену всех вхождений /bitrix/ на ./local/ во всех файлах компонента crm.report.view (воспользовался командой grep -rn "/bitrix/com" .). Таким образом, проблема была успешно решена.
Похожие вопросы