Пользовательский дополнительный компонент не найден - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь создать компонент в аддоне. Все работает нормально во время процесса impex (слот содержимого, шаблон страницы и c.), Но он не отображается при доступе к странице.

Я выполнил эти шаги, но мой контроллер не 'даже не вызывается.

@Controller("ConfirmationComponentController")
@RequestMapping(value = ControllerConstants.Actions.Cms.ConfirmationComponent)
public class ConfirmationComponentController extends AbstractCMSAddOnComponentController<ConfirmationComponentModel> {

  @Override
  protected void fillModel(HttpServletRequest request, Model model, ConfirmationComponentModel component) {

  }
}

Я добавил компонент jsp в "WEB-INF / views / responseive / cms / .." из модуля аддона, но я продолжаю получать эту ошибку:

Файл [/WEB-INF/views/addons/trainingcore/responsive/cms/confirmationcomponent.jsp] не найден

PS: Мне удалось вызвать контроллер компонента, но getView () возвращает неправильный путь, и поэтому компонент не вызывается. Любая помощь? Большое спасибо :)

Следует ли создавать этот компонент в аддоне * -items. xml?

1 Ответ

2 голосов
/ 14 июля 2020

Что вам нужно знать в первую очередь

Использование аддонов - сложное занятие в hybris. Вы должны знать, что ресурсы не используются в аддоне, но они копируются (в процессе сборки) на вашу витрину, где и используются.

Все классы в

myaddon/acceleratoraddon/web/src/

будет скопировано в:

mystorefront/web/addonsrc/myaddon/

Все ресурсы в

myaddon/acceleratoraddon/web/webroot/

будут скопированы в соответствующие папки:

mystorefront/web/webroot/WEB-INF/_ui-src/addons/myaddon
mystorefront/web/webroot/WEB-INF/tld/addons/myaddon
mystorefront/web/webroot/WEB-INF/messages/addons/myaddon
mystorefront/web/webroot/WEB-INF/tags/addons/myaddon
mystorefront/web/webroot/WEB-INF/views/addons/myaddon

Это означает

Это означает, что эффективный путь к вашему компоненту jsp не будет примерно таким:

/WEB-INF/views/cms/...

, а будет примерно таким :

/WEB-INF/views/myaddon/cms/...

Путь myaddon будет зависеть от расширения, в котором объявлен ваш компонент. Поэтому, если вы объявите его в trainingcore-items.xml, он будет

/WEB-INF/views/trainingcore/...

Если вы объявите это в myaddon-items.xml будет

/WEB-INF/views/myaddon/...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...