SlideShare a Scribd company logo
1 of 24
Magento 2 UI Library 
Sergey Ivashchenko 
Magento is an eBay Inc. company. © 2014 Magento, Inc. All rights reserved.
Sergey Ivashchenko 
 Backend developer in Magento 
 Working in Magento for about 2.5 years 
 Projects: 
 Magento 1.13 
 Magento 2 
(Full Page Cache, Filesystem, Pricing, UI Library) 
 Magento Testing Framework 
 Current projects: 
 Magento 2 Sales modules 
 Magento Testing Framework 
© 2014 Magento, Inc. Page | 2
Magento 2 UI Library 
Provides universal UI components for content organization 
© 2014 Magento, Inc. Page | 3 
using compact and simple configuration 
and creating reusable widgets
Base 
Data 
© 2014 Magento, Inc. Page | 4 
Layout 
Interaction 
Rendering 
engine
1 Data Source 
© 2014 Magento, Inc. Page | 5
Entity Data 
Entity attributes Dynamic attributes References and extensions 
© 2014 Magento, Inc. Page | 6 
Data Manager
Data Manager 
 Responsible for gathering all data related to entity 
 Works with preset (etc/data_source/<preset_name>.xml file) 
 Handles references and allows extensions 
© 2014 Magento, Inc. Page | 7
Collecting Data 
© 2014 Magento, Inc. Page | 8 
Customer 
Customer address Customer balance 
Customer group 
Website
Data Unit 
Date of birth field 
label: “Date of birth” 
data_type: date 
visible: true 
value: 12.10.1989 
© 2014 Magento, Inc. Page | 9 
Metadata 
Data 
Group field 
label: “Date of birth” 
options: [ 
{ 
label: “Magento”, 
value: “MAGE” 
}, 
{ 
label: “Amasty” 
value: “AM” 
} 
], 
value: MAGE
Use 
 data_source.xml 
<config ...> 
<datasource 
name="customer" 
dataset="MagentoCustomerModelResourceCustomerCollection" 
> 
<fields entityType="customer"> 
<field name="entity_id" visible="false"/> 
</fields> 
</datasource> 
</config> 
 MagentoUiDataProviderManager 
 getData 
 getMeta 
© 2014 Magento, Inc. Page | 10
2 Layout 
© 2014 Magento, Inc. Page | 11
Components 
Widgets Sub-Widgets Layouts 
© 2014 Magento, Inc. Page | 12 
(Containers) 
Elements
Sub-Widgets 
© 2014 Magento, Inc. Page | 13
Layouts 
(Containers) 
Tabs Fieldsets 
© 2014 Magento, Inc. Page | 14
Declaration in Layout 
Page layout 
(cms_page_index.xml) 
© 2014 Magento, Inc. Page | 15 
… 
<ui_component 
name=“cms_pages_grid” 
component=“listing” /> 
… 
UI Component instance layout 
(cms_page_grid.xml) 
<referenceBlock name=“listing”> 
<argument name="layout"> 
<item name="type“>tabs</item> 
UI Library layout file 
(ui_components.xml) 
<block name=“listing”/> 
</argument> 
<ui_component 
name=“cms_page_filter” 
component=“filter”/> 
<block name=“tabs”/> 
<block name=“filter”/>
3 Rendering 
© 2014 Magento, Inc. Page | 16
Configuration Storage 
loadLayout 
© 2014 Magento, Inc. Page | 17 
UI Component 1 
Configuration 
Storage 
UI Component 2 
renderLayout 
UI Component 1 
Configuration 
Storage 
UI Component 2 
prepare 
render
Rendering Engines 
Direct HTML On client side etc. 
© 2014 Magento, Inc. Page | 18
UI Components Controllers 
 General UI Library controller 
 Render Component 
 UI Components controllers 
 Form Save 
 Form Validate 
© 2014 Magento, Inc. Page | 19
4 Finally 
© 2014 Magento, Inc. Page | 20
Conclusions 
 Granular and flexible layout structure: UI Components 
 UI Component handle interaction by itself: UI Components Controllers 
 Tools for data preparation and configuration: Data Manager 
 UI Library supports multiple rendering engines: Configuration Storage 
© 2014 Magento, Inc. Page | 21
Customization and Extension Points 
On Data level 
© 2014 Magento, Inc. Page | 22 
On Widget layout level 
On UI Component level 
On Page layout level
© 2014 Magento, Inc. Page | 23 
Q&A
Thank you! 
© 2014 Magento, Inc. Page | 24 
sivashchenko@ebay.com

More Related Content

What's hot

Managing Multiple Store Fronts on Magento
Managing Multiple Store Fronts on MagentoManaging Multiple Store Fronts on Magento
Managing Multiple Store Fronts on Magento
Geoffrey Mobisson
 

What's hot (20)

The journey of mastering Magento 2 for Magento 1 developers
The journey of mastering Magento 2 for Magento 1 developersThe journey of mastering Magento 2 for Magento 1 developers
The journey of mastering Magento 2 for Magento 1 developers
 
Mage Titans USA 2016 M2 deployment
Mage Titans USA 2016  M2 deploymentMage Titans USA 2016  M2 deployment
Mage Titans USA 2016 M2 deployment
 
Magento 2 looks like.
Magento 2 looks like.Magento 2 looks like.
Magento 2 looks like.
 
MidwestPHP - Getting Started with Magento 2
MidwestPHP - Getting Started with Magento 2MidwestPHP - Getting Started with Magento 2
MidwestPHP - Getting Started with Magento 2
 
Magento 2 Seminar - Daniel Genis - Magento 2 benchmarks
Magento 2 Seminar - Daniel Genis - Magento 2 benchmarksMagento 2 Seminar - Daniel Genis - Magento 2 benchmarks
Magento 2 Seminar - Daniel Genis - Magento 2 benchmarks
 
Nenad Andrakovic - Changing the way frontend developers think and work - Mage...
Nenad Andrakovic - Changing the way frontend developers think and work - Mage...Nenad Andrakovic - Changing the way frontend developers think and work - Mage...
Nenad Andrakovic - Changing the way frontend developers think and work - Mage...
 
Sergii Shymko: Magento 2: Composer for Extensions Distribution
Sergii Shymko: Magento 2: Composer for Extensions DistributionSergii Shymko: Magento 2: Composer for Extensions Distribution
Sergii Shymko: Magento 2: Composer for Extensions Distribution
 
Fundamentals of Extending Magento 2 - php[world] 2015
Fundamentals of Extending Magento 2 - php[world] 2015Fundamentals of Extending Magento 2 - php[world] 2015
Fundamentals of Extending Magento 2 - php[world] 2015
 
Eugene Shakhsuvarov - Improving enterprise store scalability using AMQP and A...
Eugene Shakhsuvarov - Improving enterprise store scalability using AMQP and A...Eugene Shakhsuvarov - Improving enterprise store scalability using AMQP and A...
Eugene Shakhsuvarov - Improving enterprise store scalability using AMQP and A...
 
Meet Magento Belarus - Davide Consonni
Meet Magento Belarus - Davide ConsonniMeet Magento Belarus - Davide Consonni
Meet Magento Belarus - Davide Consonni
 
Tips and tweaks on migrating to magento!
Tips and tweaks on migrating to magento!Tips and tweaks on migrating to magento!
Tips and tweaks on migrating to magento!
 
Most Popular e-Commerce Platforms SEO Pros and Cons and Migration Issues
Most Popular e-Commerce Platforms SEO Pros and Cons and Migration IssuesMost Popular e-Commerce Platforms SEO Pros and Cons and Migration Issues
Most Popular e-Commerce Platforms SEO Pros and Cons and Migration Issues
 
Magento 2 Theme Trainning for Beginners | Magenest
Magento 2 Theme Trainning for Beginners | MagenestMagento 2 Theme Trainning for Beginners | Magenest
Magento 2 Theme Trainning for Beginners | Magenest
 
How to Install Magento 2 on XAMPP Server localhost.
How to Install Magento 2 on XAMPP Server localhost.How to Install Magento 2 on XAMPP Server localhost.
How to Install Magento 2 on XAMPP Server localhost.
 
How to migrate from Magento 1 to Magento 2
How to migrate from Magento 1 to Magento 2How to migrate from Magento 1 to Magento 2
How to migrate from Magento 1 to Magento 2
 
Magento 2 - An Intro to a Modern PHP-Based System - Northeast PHP 2015
Magento 2 - An Intro to a Modern PHP-Based System - Northeast PHP 2015Magento 2 - An Intro to a Modern PHP-Based System - Northeast PHP 2015
Magento 2 - An Intro to a Modern PHP-Based System - Northeast PHP 2015
 
Magento 2 Development for PHP Developers
Magento 2 Development for PHP DevelopersMagento 2 Development for PHP Developers
Magento 2 Development for PHP Developers
 
Migrating from Magento 1 to Magento 2
Migrating from Magento 1 to Magento 2Migrating from Magento 1 to Magento 2
Migrating from Magento 1 to Magento 2
 
Magento 2: New and Innovative? - php[world] 2015
Magento 2: New and Innovative? - php[world] 2015Magento 2: New and Innovative? - php[world] 2015
Magento 2: New and Innovative? - php[world] 2015
 
Managing Multiple Store Fronts on Magento
Managing Multiple Store Fronts on MagentoManaging Multiple Store Fronts on Magento
Managing Multiple Store Fronts on Magento
 

Viewers also liked

Viewers also liked (14)

Meet Magento Belarus - Andrew Klochkov
Meet Magento Belarus - Andrew KlochkovMeet Magento Belarus - Andrew Klochkov
Meet Magento Belarus - Andrew Klochkov
 
Meet Magento Belarus - Viacheslav Kravchuk
Meet Magento Belarus - Viacheslav KravchukMeet Magento Belarus - Viacheslav Kravchuk
Meet Magento Belarus - Viacheslav Kravchuk
 
Meet Magento Belarus - Alexander Kaigorodov
Meet Magento Belarus - Alexander KaigorodovMeet Magento Belarus - Alexander Kaigorodov
Meet Magento Belarus - Alexander Kaigorodov
 
Meet Magento Belarus - Andriy Samilyak
Meet Magento Belarus - Andriy SamilyakMeet Magento Belarus - Andriy Samilyak
Meet Magento Belarus - Andriy Samilyak
 
Meet Magento Belarus - Thomas Fleck
Meet Magento Belarus - Thomas FleckMeet Magento Belarus - Thomas Fleck
Meet Magento Belarus - Thomas Fleck
 
Meet Magento Belarus - Andrey Tataranovich
Meet Magento Belarus - Andrey TataranovichMeet Magento Belarus - Andrey Tataranovich
Meet Magento Belarus - Andrey Tataranovich
 
Meet Magento Belarus - Elena Leonova
Meet Magento Belarus - Elena LeonovaMeet Magento Belarus - Elena Leonova
Meet Magento Belarus - Elena Leonova
 
How To Install Magento 2 (updated for the latest version)
How To Install Magento 2 (updated for the latest version)How To Install Magento 2 (updated for the latest version)
How To Install Magento 2 (updated for the latest version)
 
Meet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis BosakMeet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis Bosak
 
Meet Magento Belarus 2015: Andrey Tataranovich
Meet Magento Belarus 2015: Andrey TataranovichMeet Magento Belarus 2015: Andrey Tataranovich
Meet Magento Belarus 2015: Andrey Tataranovich
 
Meet Magento Belarus 2015: Igor Bondarenko
Meet Magento Belarus 2015: Igor BondarenkoMeet Magento Belarus 2015: Igor Bondarenko
Meet Magento Belarus 2015: Igor Bondarenko
 
Meet Magento Belarus 2015: Sergey Lysak
Meet Magento Belarus 2015: Sergey LysakMeet Magento Belarus 2015: Sergey Lysak
Meet Magento Belarus 2015: Sergey Lysak
 
Meet Magento Belarus 2015: Kristina Pototskaya
Meet Magento Belarus 2015: Kristina PototskayaMeet Magento Belarus 2015: Kristina Pototskaya
Meet Magento Belarus 2015: Kristina Pototskaya
 
Advanced Customer Segments Magento Extension by Amasty | User Guide
Advanced Customer Segments Magento Extension by Amasty | User GuideAdvanced Customer Segments Magento Extension by Amasty | User Guide
Advanced Customer Segments Magento Extension by Amasty | User Guide
 

Similar to Meet Magento Belarus - Sergey Ivashchenko

Imagine recap-devhub
Imagine recap-devhubImagine recap-devhub
Imagine recap-devhub
Magento Dev
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
connectwebex
 
Lecture14 abap on line
Lecture14 abap on lineLecture14 abap on line
Lecture14 abap on line
Milind Patil
 

Similar to Meet Magento Belarus - Sergey Ivashchenko (20)

James Zetlen - PWA Studio Integration…With You
James Zetlen - PWA Studio Integration…With YouJames Zetlen - PWA Studio Integration…With You
James Zetlen - PWA Studio Integration…With You
 
Eugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
Eugene Shaksuvarov - Tuning Magento 2 for Maximum PerformanceEugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
Eugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
 
PWA - ADT Magazine Webinar
PWA - ADT Magazine WebinarPWA - ADT Magazine Webinar
PWA - ADT Magazine Webinar
 
Magento Cloud - Introduction
Magento Cloud - IntroductionMagento Cloud - Introduction
Magento Cloud - Introduction
 
User-Customizable Web Components for Building One-Page Sites
User-Customizable Web Components for Building One-Page SitesUser-Customizable Web Components for Building One-Page Sites
User-Customizable Web Components for Building One-Page Sites
 
Imagine recap-devhub
Imagine recap-devhubImagine recap-devhub
Imagine recap-devhub
 
An e-Commerce Platform for Selling Single Product Reltus for Tinnitus
An e-Commerce Platform for Selling Single Product Reltus for Tinnitus	An e-Commerce Platform for Selling Single Product Reltus for Tinnitus
An e-Commerce Platform for Selling Single Product Reltus for Tinnitus
 
Tangoe matrix sprint 15 usable and light weight user interface demo - sep -...
Tangoe matrix sprint 15 usable and light weight user interface   demo - sep -...Tangoe matrix sprint 15 usable and light weight user interface   demo - sep -...
Tangoe matrix sprint 15 usable and light weight user interface demo - sep -...
 
Igor Miniailo - Magento 2 API Design Best Practices
Igor Miniailo - Magento 2 API Design Best PracticesIgor Miniailo - Magento 2 API Design Best Practices
Igor Miniailo - Magento 2 API Design Best Practices
 
SAP NetWeaver Portal 7.3 - top 5 Reasons to upgrade your portal
SAP NetWeaver Portal 7.3 - top 5 Reasons to upgrade your portalSAP NetWeaver Portal 7.3 - top 5 Reasons to upgrade your portal
SAP NetWeaver Portal 7.3 - top 5 Reasons to upgrade your portal
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
 
Oleh Kobchenko - Configure Magento 2 to get maximum performance
Oleh Kobchenko - Configure Magento 2 to get maximum performanceOleh Kobchenko - Configure Magento 2 to get maximum performance
Oleh Kobchenko - Configure Magento 2 to get maximum performance
 
Lecture14 abap on line
Lecture14 abap on lineLecture14 abap on line
Lecture14 abap on line
 
Magento 2.1 ee content staging
Magento 2.1 ee content stagingMagento 2.1 ee content staging
Magento 2.1 ee content staging
 
SAP Inside Track 2010 - Thomas Jung Intro to WDA
SAP Inside Track 2010 - Thomas Jung Intro to WDASAP Inside Track 2010 - Thomas Jung Intro to WDA
SAP Inside Track 2010 - Thomas Jung Intro to WDA
 
Testing in Magento 2
Testing in Magento 2 Testing in Magento 2
Testing in Magento 2
 
JUDCon 2014: Gearing up for mobile development with AeroGear
JUDCon 2014: Gearing up for mobile development with AeroGearJUDCon 2014: Gearing up for mobile development with AeroGear
JUDCon 2014: Gearing up for mobile development with AeroGear
 
Resume
ResumeResume
Resume
 

More from Amasty

More from Amasty (14)

Способы оптимизации работы с памятью в Magento 2
Способы оптимизации работы с памятью в Magento 2Способы оптимизации работы с памятью в Magento 2
Способы оптимизации работы с памятью в Magento 2
 
Magento Security from Developer's and Tester's Points of View
Magento Security from Developer's and Tester's Points of ViewMagento Security from Developer's and Tester's Points of View
Magento Security from Developer's and Tester's Points of View
 
A joyful shopping experience. Creating e-commerce sites that are effortless t...
A joyful shopping experience. Creating e-commerce sites that are effortless t...A joyful shopping experience. Creating e-commerce sites that are effortless t...
A joyful shopping experience. Creating e-commerce sites that are effortless t...
 
Follow up email_for_magento_2_user_guide
Follow up email_for_magento_2_user_guideFollow up email_for_magento_2_user_guide
Follow up email_for_magento_2_user_guide
 
Order Status for Magrnto 2 by Amasty
Order Status for Magrnto 2 by AmastyOrder Status for Magrnto 2 by Amasty
Order Status for Magrnto 2 by Amasty
 
Order Attributes for Magento 2
Order Attributes for Magento 2Order Attributes for Magento 2
Order Attributes for Magento 2
 
Shipping Table Rates for Magento 2 by Amasty | User Guide
Shipping Table Rates for Magento 2 by Amasty | User GuideShipping Table Rates for Magento 2 by Amasty | User Guide
Shipping Table Rates for Magento 2 by Amasty | User Guide
 
Customer Group Catalog for Magento 2. User Guide
Customer Group Catalog for Magento 2. User GuideCustomer Group Catalog for Magento 2. User Guide
Customer Group Catalog for Magento 2. User Guide
 
Product Parts Finder for Magento 2 | User Guide
Product Parts Finder for Magento 2 | User GuideProduct Parts Finder for Magento 2 | User Guide
Product Parts Finder for Magento 2 | User Guide
 
Edit Lock Magento Extension by Amasty | User Guide
Edit Lock Magento Extension by Amasty | User GuideEdit Lock Magento Extension by Amasty | User Guide
Edit Lock Magento Extension by Amasty | User Guide
 
Advanced Reports Magento Extension by Amasty | User Guide
Advanced Reports Magento Extension by Amasty | User GuideAdvanced Reports Magento Extension by Amasty | User Guide
Advanced Reports Magento Extension by Amasty | User Guide
 
A/B Testing Magento Extension by Amasty | User Guide
A/B Testing Magento Extension by Amasty | User GuideA/B Testing Magento Extension by Amasty | User Guide
A/B Testing Magento Extension by Amasty | User Guide
 
Store Credit Magento Extension by Amasty | User Guide
Store Credit Magento Extension by Amasty | User GuideStore Credit Magento Extension by Amasty | User Guide
Store Credit Magento Extension by Amasty | User Guide
 
Order Archive Magento Extension by Amasty | User Guide
Order Archive Magento Extension by Amasty | User GuideOrder Archive Magento Extension by Amasty | User Guide
Order Archive Magento Extension by Amasty | User Guide
 

Recently uploaded

Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
raffaeleoman
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
Sheetaleventcompany
 

Recently uploaded (20)

Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
 
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
 
Air breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animalsAir breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animals
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
 
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, YardstickSaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
 
Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
 
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
 
Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)
 
George Lever - eCommerce Day Chile 2024
George Lever -  eCommerce Day Chile 2024George Lever -  eCommerce Day Chile 2024
George Lever - eCommerce Day Chile 2024
 
Presentation on Engagement in Book Clubs
Presentation on Engagement in Book ClubsPresentation on Engagement in Book Clubs
Presentation on Engagement in Book Clubs
 
Mathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptxMathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptx
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
 
Microsoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AIMicrosoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AI
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
 

Meet Magento Belarus - Sergey Ivashchenko

  • 1. Magento 2 UI Library Sergey Ivashchenko Magento is an eBay Inc. company. © 2014 Magento, Inc. All rights reserved.
  • 2. Sergey Ivashchenko  Backend developer in Magento  Working in Magento for about 2.5 years  Projects:  Magento 1.13  Magento 2 (Full Page Cache, Filesystem, Pricing, UI Library)  Magento Testing Framework  Current projects:  Magento 2 Sales modules  Magento Testing Framework © 2014 Magento, Inc. Page | 2
  • 3. Magento 2 UI Library Provides universal UI components for content organization © 2014 Magento, Inc. Page | 3 using compact and simple configuration and creating reusable widgets
  • 4. Base Data © 2014 Magento, Inc. Page | 4 Layout Interaction Rendering engine
  • 5. 1 Data Source © 2014 Magento, Inc. Page | 5
  • 6. Entity Data Entity attributes Dynamic attributes References and extensions © 2014 Magento, Inc. Page | 6 Data Manager
  • 7. Data Manager  Responsible for gathering all data related to entity  Works with preset (etc/data_source/<preset_name>.xml file)  Handles references and allows extensions © 2014 Magento, Inc. Page | 7
  • 8. Collecting Data © 2014 Magento, Inc. Page | 8 Customer Customer address Customer balance Customer group Website
  • 9. Data Unit Date of birth field label: “Date of birth” data_type: date visible: true value: 12.10.1989 © 2014 Magento, Inc. Page | 9 Metadata Data Group field label: “Date of birth” options: [ { label: “Magento”, value: “MAGE” }, { label: “Amasty” value: “AM” } ], value: MAGE
  • 10. Use  data_source.xml <config ...> <datasource name="customer" dataset="MagentoCustomerModelResourceCustomerCollection" > <fields entityType="customer"> <field name="entity_id" visible="false"/> </fields> </datasource> </config>  MagentoUiDataProviderManager  getData  getMeta © 2014 Magento, Inc. Page | 10
  • 11. 2 Layout © 2014 Magento, Inc. Page | 11
  • 12. Components Widgets Sub-Widgets Layouts © 2014 Magento, Inc. Page | 12 (Containers) Elements
  • 13. Sub-Widgets © 2014 Magento, Inc. Page | 13
  • 14. Layouts (Containers) Tabs Fieldsets © 2014 Magento, Inc. Page | 14
  • 15. Declaration in Layout Page layout (cms_page_index.xml) © 2014 Magento, Inc. Page | 15 … <ui_component name=“cms_pages_grid” component=“listing” /> … UI Component instance layout (cms_page_grid.xml) <referenceBlock name=“listing”> <argument name="layout"> <item name="type“>tabs</item> UI Library layout file (ui_components.xml) <block name=“listing”/> </argument> <ui_component name=“cms_page_filter” component=“filter”/> <block name=“tabs”/> <block name=“filter”/>
  • 16. 3 Rendering © 2014 Magento, Inc. Page | 16
  • 17. Configuration Storage loadLayout © 2014 Magento, Inc. Page | 17 UI Component 1 Configuration Storage UI Component 2 renderLayout UI Component 1 Configuration Storage UI Component 2 prepare render
  • 18. Rendering Engines Direct HTML On client side etc. © 2014 Magento, Inc. Page | 18
  • 19. UI Components Controllers  General UI Library controller  Render Component  UI Components controllers  Form Save  Form Validate © 2014 Magento, Inc. Page | 19
  • 20. 4 Finally © 2014 Magento, Inc. Page | 20
  • 21. Conclusions  Granular and flexible layout structure: UI Components  UI Component handle interaction by itself: UI Components Controllers  Tools for data preparation and configuration: Data Manager  UI Library supports multiple rendering engines: Configuration Storage © 2014 Magento, Inc. Page | 21
  • 22. Customization and Extension Points On Data level © 2014 Magento, Inc. Page | 22 On Widget layout level On UI Component level On Page layout level
  • 23. © 2014 Magento, Inc. Page | 23 Q&A
  • 24. Thank you! © 2014 Magento, Inc. Page | 24 sivashchenko@ebay.com