День добрый, команда Битрикс.NET!
Сегодня потребовалось фильтровать содержимое комплексного компонента Новости. С огорчением обнаружил, что компонент не поддерживает фильтрацию по набираемым свойствам. Решил расширить настройки компонента для конкретного шаблона. Переопределил методы PreLoadTemplateDefinition и LoadTemplateDefinition в шаблоне(news). Но в редакторе нужные параметры не появились. Оказалось, что при вызове Component.ForcePreLoadTemplateDefinition() (\bitrix\dialogs\EditComponentParameters.aspx.cs : 175) происходит исключение Bitrix.Components.BXComponentTemplateNotFoundException.
Компонент «не понимает», что он комплексный и пытается загрузить определение из другого шаблона В качестве воркэраунда можно сделать копию шаблона news.ascx и переименовать в template.ascx.
Удачного багфикса
Сегодня потребовалось фильтровать содержимое комплексного компонента Новости. С огорчением обнаружил, что компонент не поддерживает фильтрацию по набираемым свойствам. Решил расширить настройки компонента для конкретного шаблона. Переопределил методы PreLoadTemplateDefinition и LoadTemplateDefinition в шаблоне(news). Но в редакторе нужные параметры не появились. Оказалось, что при вызове Component.ForcePreLoadTemplateDefinition() (\bitrix\dialogs\EditComponentParameters.aspx.cs : 175) происходит исключение Bitrix.Components.BXComponentTemplateNotFoundException.
Код |
---|
Bitrix.Components.BXComponentTemplateNotFoundException occurred Message="Выдано исключение типа \"Bitrix.Components.BXComponentTemplateNotFoundException\"." Source="Main" ComponentName="bitrix:news" TemplateName="news" TemplateVirtualPath="~/bitrix/templates/Page/components///bitrix/news/news/template.ascx" StackTrace: в Bitrix.Components.BXComponentManager.GetTemplatePath(String componentName, String componentTemplate, String componentPage, String siteTemplate, BXComponent parent) |
Компонент «не понимает», что он комплексный и пытается загрузить определение из другого шаблона В качестве воркэраунда можно сделать копию шаблона news.ascx и переименовать в template.ascx.
Удачного багфикса