我是Sap Hybris的初学者。我想了解后台扩展 以及如何创建我们的自定义小部件。只是一个小例子来理解不同的步骤。
答案 0 :(得分:3)
我将清除创建小部件的步骤
创建小工具
要创建窗口小部件,您需要先创建窗口小部件定义。 definition.xml
文件中提供了窗口小部件的定义。
程序
在myextension/backoffice/resources/widgets
目录中创建一个名为mysearch的新文件夹。
在mysearch文件夹中,创建一个definition.xml文件。
添加有关搜索小部件的信息。
您可以提供姓名,说明,默认标题,作者和版本等信息。每个窗口小部件必须具有由扩展名和窗口小部件名称组成的唯一ID。对于本教程,窗口小部件ID为org.myextension.widgets.mysearch。
definition.xml:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<widget-definition id="org.myextension.widgets.mysearch" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.hybris.com/schema/cockpitng/widget-definition.xsd">
<name>My Search</name>
<description>My own search widget.</description>
<defaultTitle>Search</defaultTitle>
<author>Me</author>
<version>0.1</version>
创建窗口小部件视图:
此小部件的视图在ZK ZUL文件中定义,该文件以definition.xml中指定的小部件ID的最后一部分命名(在本例中为mysearch.zul)。
<强>上下文强>
在mysearch.zul文件中,您可以定义所有前端组件。对于搜索小部件,您需要两个组件:文本框和按钮。
<强>程序强>
<强> mysearch.zul 强>
部署小工具
现在,需要部署新创建的小部件。
<强>程序强>
包括您的新扩展程序:
一个。打开/localextensions.xml文件。
湾添加以下行
℃。保存文件。
构建项目:
调用ant clean all构建SAP Hybris Commerce并启动服务器
将小部件添加到应用程序
部署窗口小部件后,您需要将窗口小部件添加到应用程序中。
实施搜索服务
小部件需要实现一些逻辑。由于小部件负责搜索,因此将实施SearchService。
<强>上下文强>
在创建控制器之前,您必须添加搜索小部件使用的SearchService。
<强>程序强>
<强> SearchService.java 强>
package org.myextension;
import java.util.ArrayList;
import java.util.List;
public class SearchService
{
public List<String> search(final String text)
{
List<String> result = new ArrayList<String>();
result.add(text);
result.add("Hello");
result.add("Cockpit NG");
result.add("Developer");
return result;
}
}
<强> myextension-后台-spring.xml 强>
<bean id="searchService" class="org.myextension.SearchService"/>
创建控制器
新创建的窗口小部件需要窗口小部件控制器。
<强>上下文强>
由于您尚未为“搜索”按钮定义任何操作,因此单击它时不会发生任何操作。为此,您需要创建一个控制器。
<强>程序强>
控制器应该扩展DefaultWidgetController。将其命名为MySearchController。
添加以下操作的实现:
一个。当在文本框中键入搜索查询时,它应该触发搜索。
湾按下“搜索”按钮时,应执行搜索查询。
<强> MySearchController.java 强>
package org.myextension.widgets.mysearch;
import java.util.List;
import org.myextension.SearchService;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.select.annotation.WireVariable;
import org.zkoss.zul.Messagebox;
import org.zkoss.zul.Textbox;
import com.hybris.cockpitng.annotations.ViewEvent;
import com.hybris.cockpitng.util.DefaultWidgetController;
public class MySearchController extends DefaultWidgetController
{
private Textbox searchInput;
@WireVariable
private SearchService searchService;
@ViewEvent(componentID = "searchBtn", eventName = Events.ON_CLICK)
public void doSearch() throws InterruptedException
{
List<String> result = searchService.search(searchInput.getText());
Messagebox.show(result.get(0));
}
}
<强> definition.xml 强>
像在部署窗口小部件过程中一样重建系统。
点击“搜索”按钮。
将显示一条弹出消息,其中包含您在文本框中输入的相同文本。
答案 1 :(得分:1)
在这里找到关于hybris后台的完整教程如何创建自定义窗口小部件https://help.hybris.com/6.6.0/hcd/8bd4366a86691014b818f8dd642790a8.html
祝你好运。答案 2 :(得分:0)
还必须创建mysearch.zul
timestamp(9)