Magento2 UI components概述
UI components 概述
Magento UI components 是用来展示不同的UI元素,比如表,按钮,对话框等。
他们被用于简单灵活的交互界面渲染。Components被用来渲染结果界面,提供进一步的与javascript组件和服务器的交互。
Magento UI components被实现为一个标准的模块叫Magento_UI.
想要在你的模块里面使用UI Components,你需要在你的composer.json文件里面添加对Magento_UI的依赖。
以下XSD文件包含了所有components(组件)共用的规则和限制。
<your module root dir>/Magento/Ui/etc/ui_definition.xsd
插件(extension)开发不能扩展XSD也不能引入新的组件,但是可以定制化已经存在的组件。
通用结构
Magento2里有基础和辅助UI 组件(components)。
基础组件有:
1.列表组件(Listing component)
2.表单组件(Form component)
其它组件都是辅助组件。
基础组件在page layout files里声明,辅助组件在顶级组件实例的配置文件里声明。
所有的组件都可以为Admin和storefront配置。
什么时候使用UI组件。
使用Magento,你可能用不同的方式来实现UI元素:
1.有内嵌javascript的PHTML模版
2.有在XML layout声明关联JavaScript的PHTMl模版
3.JQuery widget
4.Magento 2 UI component
什么是UI组件
UI组件由以下内容组成:
1.明确组件设置和内部结构的XML declaration声明
2.继承自magento javascript框架UI组件类的Javascript类
3.相关模版
XML Declaration(XML 声明)
XML在Magento2中被广泛使用,这一做法很大程度上方便了开发者重用已有方法和添加自己的定制化。
与XML布局相比,UI组件使用更语义化的方法来声明和配置用户界面。
UI组件的实例通常基于子UI组件的层次结构。
例如:
- 表单组件有字段集(Fieldsets),选项卡(Tabs)和内部字段(inner fields)
- 列表组件有筛选器(Filter),列(Columns),书签等组件。
Javascript 类
以下截图展示了UI组件的Javascript 类是如何被实现的。
模版(Templates)
使用KnockoutJS可以将UI组件绑定到一个或多个HTML模版。
配置一个UI组件
UI组件的特定实例主要由以下内容定义:
1.<Magento_Ui_module_dir>/view/base/ui_component/etc/definition.xml:默认组件配置。可以在定制化模块内继承。
2.UI component’s XML declaration.(UI组件XML声明)
3.Backend/PHP modifiers
4.Javascript类内部的配置
UI组件在前端设计区域的使用
通过XML布局配置
jsLayout参数被用来指定信息。
<block name="block-name" template="Magento_Module::path_to_template.phtml">
<arguments>
<argument name="jsLayout" xsi:type="array">
<item name="components" xsi:type="array">
...
</item>
</argument>
</arguments>
</block>
UI组件在Adminhtml区域的使用
通过专用的XML文件进行配置(view/…/ui_component/[ui_component_name.xml])
通过uiComponent标签引入到布局XML
使用UI组件的时候需要谨记的事情
UI组件有不同的设置:
不同的UI组件的配置是不同的;这些配置包含常量,可选和必填项。开发者需要分别对待每个UI组件。
当心XML配置中的错误
出乎意料的是,大多数问题是由于UI组件的XML配置中的错别字和其他错误而发生的。 命名至关重要,因为UI组件之间存在大量交叉引用。
来源:衡阳网站优化
Magento2 UI components概述的更多相关文章
- Angular 2 to Angular 4 with Angular Material UI Components
Download Source - 955.2 KB Content Part 1: Angular2 Setup in Visual Studio 2017, Basic CRUD applicat ...
- vue ui components
vue ui components h_ui https://www.npmjs.com/~hs_ui https://www.npmjs.com/package/h_ui_beta https:// ...
- Kendo UI Validator 概述
Kendo UI Validator 概述 Kendo UI Validator 支持了客戶端校驗的便捷方法,它基於 HTML 5 的表單校驗功能,支持很多內置的校驗規則,同時也提供了自定義規則的便捷 ...
- Kendo UI 特效概述
Kendo UI 特效概述 Kendo UI Fx 提供了一个丰富,可扩展,性能经过优化的工具集合用来完成 HTML 元素的过渡显示.每种特效近可能的使用 CSS Transition ,对于一些老版 ...
- Kendo UI 模板概述
Kendo UI 模板概述 Kendo UI 框架提供了一个易用,高性能的 JavaScript 模板引擎.通过模板可以创建一个 HTML 片段然后可以和 JavaScript 数据合并成最终的 HT ...
- Kendo UI Widgets 概述
UI Widgets 概述 Kendo UI 是基于 jQuery 库开发的,Kendo UI widgets 是以 jQuery 插件形式提供的.这些插件的名称基本上都是以 kendo 作为前缀.比 ...
- how to share UI components
how to share UI components The shared component cloud · Bit https://bit.dev/ A better way to build w ...
- Vue & mobile UI components
Vue & mobile UI components https://github.com/vuejs/awesome-vue https://awesome-vue.js.org/ http ...
- pull down/pull up refresh & UI Components
pull down/pull up refresh & UI Components 下拉/上拉刷新 https://mint-ui.github.io/docs/#/zh-cn2/loadmo ...
随机推荐
- 关于AQS的一点总结
关于AQS的一点总结 2017年03月13日 09:48:13 那只是一股逆流 阅读数:772 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/ ...
- C++删除排序数组中的重复项
class Solution { public: int removeDuplicates(vector<int>& nums) { if (nums.empty()) { ; } ...
- Docker 搭建简单 LVS
LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中.该项目在Linux内核中实现了基 ...
- python docker api
开启Remote API docker默认是没有开启Remote API的,需要我们手动开启.编辑/lib/systemd/system/docker.service文件, 在文件里的ExecStar ...
- Java学习:static 关键字概述
static 关键字概述 一旦用了static关键字,那么这样的内容不再属于对象自己.而是属于类的,所以凡是本类的对象,都共享同一份. 如果没有static关键字,那么必须首先创建对象,然后通过对象才 ...
- .NET Core中如何对Url进行编码和解码
我们在.NET Core项目中,可以用WebUtility类对Url进行编码和解码,首先我们要确保项目中引入了nuget包:System.Runtime.Extensions 当然这个nuget包默认 ...
- ASP.NET Core中如何显示[PII is hidden]的隐藏信息
有时候我们在ASP.NET Core项目运行时,发生在后台程序中的错误会将关键信息隐藏为[PII is hidden]这种占位符,如下所示: 而知道这些关键信息,有时候对我们调试程序是非常重要的.所以 ...
- 解决WPF下popup不随着window一起移动的问题
/// <summary> /// Popup帮助类,解决Popup设置StayOpen="True"时,移动窗体或者改变窗体大小时,Popup不随窗体移动的问题 // ...
- 由一个空工程改为SpringBoot工程
1.先创建一个空的工程,创建springboot 工程 必须继承spring-boot-stater-parent 2.导入依赖 <parent> <groupId>org. ...
- phpStudy配置多站点多域名和多端口的方法
切记:要想多个域名指向同一个项目,必须将phpstudy的根目录指向你项目所指的地方(原根目录是WWW),修改位置(其他菜单选项 - 软件设置 - 端口常规设置 - 网站目录) 站点:类似于 WWW ...