Перейти к содержанию

Типичные ошибки

Не удалось обнаружить код вызова компонента

Довольно распространенная ошибка, когда вы в режиме редактирования пытаетесь отредактировать параметры какого-то компонента на странице. Хоть в коде и присутствует строка $APPLICATION->IncludeComponent() (вызов компонента), всё равно иногда появляется ошибка Не удалось обнаружить код вызова компонента. К сожалению, универсального решения данной проблемы нет.

Ошибка может возникать из-за разных причин:

  • Код вызова компонента не взят в отдельные <? ?>.

Решение: проверить отделенность кода компонента от другого php-кода на странице.

То есть, если у вас на странице php-код в таком виде:

<?
php-код

компонент

php-код
?>

то будет ошибка.

Необходимо, чтобы было так:

<?
php-код
?>

<?
компонент
?>

<?
php-код
?>

Можно также попробовать вставить такую конструкцию перед вызовом компонента: <?/**/?>. - Ошибки в html коде на странице.

Решение: проверить валидность html кода, убрать все html-комментарии со страницы. - | Несоответствие кодировки файла. До версии 20.100.0 модуля main | | --- | | Несоответствие кодировки файла с проектом в целом. Решение: проверить кодировку файла. Проверить на ошибки на странице Проверка системы. В случае ошибки с кодировкой установить настройки PHP: Для сайта с кодировкой windows-1251: php php_value mbstring.func_overload 0 php_value mbstring.internal_encoding cp1251 Для сайта с кодировкой UTF-8: php php_value mbstring.func_overload 2 php_value mbstring.internal_encoding utf-8 С версии 20.100.0 Главного модуля (main) требуется удаление настройки PHP mbstring.func_overload. Эта опция более не требуется и не поддерживается платформой. | Начиная с PHP 5.2.9 php_value mbstring.func_overload 2 в .htaccess не работает... | | --- | | В общем случае это настраивается через панель хостинга или с помощью техподдержки хостинга. На некоторых хостингах реализована возможность указывать mbstring.func_overload в .htaccess для более новых версий PHP. На собственном сервере параметр mbstring.func_overload может быть установлен в httpd.conf или php.ini. | |

  • Несоответствие между владельцем файла и пользователем под которым система файлы редактирует.

Решение: проверить права пользователя. - Взаимное влияние аналогичных компонентов.

Решение: удалить несколько аналогичных компонентов рядом с неработающим.