找不到自定义插件组件
Custom addon component not found
我正在尝试在插件中创建一个组件。在 impex 过程中一切正常(contentslot、pagetemplate 等),但在访问页面时不会呈现。
我已经按照 个步骤操作,但我的控制器甚至都没有被调用。
@Controller("ConfirmationComponentController")
@RequestMapping(value = ControllerConstants.Actions.Cms.ConfirmationComponent)
public class ConfirmationComponentController extends AbstractCMSAddOnComponentController<ConfirmationComponentModel> {
@Override
protected void fillModel(HttpServletRequest request, Model model, ConfirmationComponentModel component) {
}
}
我已经在插件模块的“WEB-INF/views/responsive/cms/..”中添加了组件的 jsp,但我一直收到此错误:
File [/WEB-INF/views/addons/trainingcore/responsive/cms/confirmationcomponent.jsp] not found
P.S.: 我已经设法让组件控制器被调用,但是 getView() 返回了错误的路径这就是为什么组件没有被调用的原因。有什么帮助吗?非常感谢:)
是否应该在插件中创建此组件 *-items.xml?
您首先需要了解的内容
在 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/...
我正在尝试在插件中创建一个组件。在 impex 过程中一切正常(contentslot、pagetemplate 等),但在访问页面时不会呈现。
我已经按照
@Controller("ConfirmationComponentController")
@RequestMapping(value = ControllerConstants.Actions.Cms.ConfirmationComponent)
public class ConfirmationComponentController extends AbstractCMSAddOnComponentController<ConfirmationComponentModel> {
@Override
protected void fillModel(HttpServletRequest request, Model model, ConfirmationComponentModel component) {
}
}
我已经在插件模块的“WEB-INF/views/responsive/cms/..”中添加了组件的 jsp,但我一直收到此错误:
File [/WEB-INF/views/addons/trainingcore/responsive/cms/confirmationcomponent.jsp] not found
P.S.: 我已经设法让组件控制器被调用,但是 getView() 返回了错误的路径这就是为什么组件没有被调用的原因。有什么帮助吗?非常感谢:)
是否应该在插件中创建此组件 *-items.xml?
您首先需要了解的内容
在 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/...