Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Magento 2 Theme Design - Second Edition
Magento 2 Theme Design - Second Edition

Magento 2 Theme Design: Create stunning and responsive Magento 2 themes for your business, Second Edition

By Richard Carter
Can$39.99 Can$27.98
Book Oct 2016 288 pages 2nd Edition
eBook
Can$39.99 Can$27.98
Print
Can$49.99
Subscription
Free Trial
eBook
Can$39.99 Can$27.98
Print
Can$49.99
Subscription
Free Trial

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Buy Now

Product Details


Publication date : Oct 28, 2016
Length 288 pages
Edition : 2nd Edition
Language : English
ISBN-13 : 9781785888229
Vendor :
Magento
Category :
Concepts :
Table of content icon View table of contents Preview book icon Preview Book

Magento 2 Theme Design - Second Edition

Chapter 1. Introduction to Magento 2

"Computers themselves, and software yet to be developed, will revolutionize the way we learn" - Steve Jobs.

The Internet is an important sector of many businesses, both large and small, in the modern world. It's now rare for a company to not have at least a basic web presence, and increasingly unlikely that a company's products are not sold online. Magento is a powerful e-commerce system, used by international organizations such as Nike, Nestlé, Gant, and Fun4Kids.

This is what we will see in this chapter:

  • Take a look at what Magento 2 is and what it can do

  • Discover the differences between Magento 1.x and Magento 2.x

  • See the default themes that come installed with Magento 2.x

  • Look at a showcase of custom Magento themes from real websites

  • Find out the particular challenges in customizing Magento themes

  • Install and configure Magento 2 ready for theming

As you will come to see, Magento is quite a large e-commerce system and this book will guide you through customizing its quirks and eccentricities.

What is Magento?


Magento (http://www.magentocommerce.com) is a highly customizable e-commerce platform and content management system. Magento is one of the most widely used e-commerce systems to create online stores around the world by providing management of inventory, orders, customers, payments, and much more. Magento has a powerful scalable architecture that follows the best software development patterns on the market. Take a look at the following screenshot:

Magento is written in the PHP programming language using an object-orientated architecture, allowing features such as additional payment gateways, integration with social networks such as Twitter and Facebook, and customization for different product types to be easily added.

The default installation of Magento provides a huge number of e-commerce and related features, supports multiple stores being managed from the same control panel, and importantly for us—provides the ability for very heavily customized themes.

At the beginning, Magento was very criticized for being slow when loading its pages, which could be at least partially mitigated with the use of built-in caches. However, in Magento 2 we have a considerable evolution on system performance with the adoption of the LESS preprocessor, Full Page Caching, Indexers Optimization, and the adoption of new techniques and technologies, as you will see in the following chapters.

Magento 2's features

As with other e-commerce systems, Magento allows products to be added, edited, manipulated, and organized within categories. You are able to control your product's names, descriptions, prices, and upload multiple photographs for each product in your store. Magento also lets you create variations of products in your store, so you can have one product that is available in multiple colors (such as blue, red, and black) within Magento. In other e-commerce systems, you may have to add the blue, red, and black products as three separate products.

In addition to these standard e-commerce features, Magento also has the ability to perform the following:

  • Manage both the sending of e-mail newsletters and the managing of subscribers to these lists

  • Manage non-product pages through its content management system (CMS)

  • Organize polls of your store's visitors

Additional features are available in Magento Enterprise Edition, but this book concentrates on Magento 2 Community Edition; everything in this book can be applied to all editions of Magento 2.

Differences between Magento 1 and Magento 2

There are some fairly major differences between Magento 1 and Magento 2. Magento 2 provides major updates on its previous version after some hard work to create the best solutions to old issues such as performance and security. The updates can be illustrated by the following list:

  • Caching: There's a built-in Full Page Cache (FPC) on the Community Edition and Varnish support for improved performance.

  • Extensions and Themes: Magento 2 is more organized and extensible now. The extensions and themes have your own files of code and layout.

  • File structure: More organized directories and structures inside the Model View-Controller (MVC) proposal.

  • Performance: Improved performance and scalability.

  • Security: Enhancements in security with the adoption of good software development practices (design patterns) and SHA-256 password hashing included.

  • User Experience (UX): Besides the frontend changes, the Magento 2 admin area is now more user-friendly with substantial positive changes such as the new admin area structure and management.

Magento 2, compared with Magento 1.9, shows some changes, but more than that, there is an improvement in the system's behavior and processes. The code is more organized; it separates the Magento framework's native extensions, providing a powerful environment for modularization and solution development:

The main changes in the structure of Magento 2 are as follows:

  • The skin directory does not exist anymore. All the files of a module or theme are stored in its specific scope.

  • The native modules and themes of Magento 2 installation are in the vendor directory.

  • The pub directory contains all the CSS and PHTML files precompiled.

  • The composer.json file manages the project dependencies.

Tip

For further information about the Magento 2 directory structure, please access http://devdocs.magento.com/guides/v2.0/extension-dev-guide/module-file-structure.html .

In Magento 1, the theme system works by rendering the layout files (PHTML) from the app/design/frontend/MyTheme directory and by rendering the CSS, JS, and Image files from the skin/frontend/MyTheme directory. However, in Magento 2, all the layout and CSS files are in the same directory, Theme.

The themes of Magento 2 are located in the app/design/frontend/<Vendor>/ directory. This location differs with built-in themes, such as the Luma theme, which is located in vendor/magento/theme-frontend-luma.

The different themes are stored in separate directories:

Each Vendor can have one or more themes attached to it, so you can develop different themes inside the same Vendor.

The theme structure of Magento 2 is illustrated as follows:

How Magento 2's theme structure works is quite simple to understand: each <Vendor>_<Module> corresponds a specific module or functionality of your theme. For example, Magento_Customer has specific CSS and HTML files to handle the customer module of the Magento vendor. Magento handles a significant number of modules. So, I strongly suggest you navigate to the vendor/magento/theme-frontend-luma folder to see the available modules for the default theme.

In the structure of Magento 2, we have three main files that manage the themes' behavior:

  • composer.json: Describes the dependencies and meta information

  • registration.php: Registers your theme in the system

  • theme.xml: Declares the theme in the system and is used by the Magento system to recognize the theme

All the theme files, inside the structure explained in the previous section, can be divided into Static View Files and Dynamic View Files. The Static View Files are not processed by the server (images, fonts, js) and the Dynamic View Files are processed by the server before delivering the content to the user (template and layout files).

Static files generally are published in the following folders:

  • /pub/static/frontend/<Vendor>/<theme>/<language>

  • <theme_dir>/media/

  • <theme_dir>/web

Tip

For further information, please access the official Magento Theme structure documentation: http://goo.gl/ov3IUJ

In Chapter 2 , Exploring Magento Themes, you will see this structure in action by exploring the default themes of Magento 2. Now, let's take a look at a showcase of running Magento 2 solutions.

Showcase of Magento themes


There is a plethora of e-commerce websites that make use of Magento, and some of them truly demonstrate how flexible Magento can be when it comes to theming. Here is a selection of live Magento stores that really push the platform beyond the typical Magento themes you've already seen.

Venroy

Venroy is a menswear department store in Australia. Their Magento 2 store (https://www.venroy.com.au) follows the basic Magento 2 design principles and RWD design:

The store's homepage was built in a different way compared to the Luma default theme available in Magento 2. The primary navigation of the Venroy website, for example, is displayed in the top-center of the screen and it makes it highly visible to customers.

When interacted with, the store's category view expands to display more specific sub-categories:

The product detail view is also heavily customized, with information on the product, delivery, and size guides all provided with their own separate blocks:

Alcatel Onetouch

Alcatel Onetouch (http://www.alcatelonetouch.us/) is an international mobile technology brand that adopts Magento 2 to sell its products:

As you can see, the homepage is quite heavily customized, with the featured products displayed on the homepage.

The product detail page, which is part of the Magento store, is similarly styled in an appealing way, with plenty of screen space given to information such as the product reviews, details, technical specifications, and manual:

Cultcha Kids

Cultcha Kids (https://www.cultchakids.com.au/) is a toy store, and is therefore, focused on a younger audience, with specific and famous brands:

The product detail page is fully customized to the store's purposes and audience, as you can see in the following screenshot:

Challenges of Magento 2 theme design


Magento 2 is a comprehensive and, at times, complex system, and this is reflected in some of the challenges that designers come across when creating themes for Magento 2:

  • Complexity: As Magento 2 is a large system, it can initially be infuriating to create themes with, though after some time you should become more familiar with Magento's inner workings

  • Breadth of knowledge: Magento 2 theming involves tackling a mixture of XML (for layout files), CSS (for style), (X)HTML, and snippets of PHP (for the templates)

Why create a custom Magento 2 theme?


There are a number of reasons why you may want to create or customize a Magento 2 theme:

  • The first and most obvious reason to customize your Magento 2 theme is that this can help you to distinguish your store from your competitors.

  • Customizing your Magento 2 theme can also allow you to better integrate extensions from Magento Connect into your store, with additional features.

  • If you have an existing website and wish to add e-commerce by integrating Magento 2 around the existing system, theming Magento 2 can make sure that there is visually seamless integration between the two systems.

  • Theming Magento 2 can also be useful in order to customize your store to reflect the different expectations of your customers from around the world. For example, customers in some countries may expect components of your store to appear in one location on their screen, so you could theme Magento 2 to reflect this if your customers are primarily from that country.

Installing Magento 2


Before we get started with customizing the look and feel of our Magento store, you will need to install Magento 2.

XAMPP PHP development environment

There are great options in the market to help us create the local development environment to work with Magento 2:

You can feel free to choose your option to use as a solution. In this book, will be suggesting using of XAMPP.

XAMPP is a complete web development environment. In its install package you can find Apache, MySQL, PHP, and Perl: everything that you want to develop your solutions.

You may be able to guess the meaning of XAMPP, but the X before the AMPP means cross or cross-platform. So, we have: Cross-platform, Apache, Maria DB, PHP, and Perl.

The goal of XAMPP is to build an easy-to-install distribution for developers to get into the world of Apache. XAMPP is a project of Apache Friends, a non-profit project to promote Apache Web Server.

But why are we working with this software? Let's find out:

  • Apache (http://httpd.apache.org/) has been the most popular web server on the Internet since April 1995, providing secure, efficient, and extensible HTTP services in sync with the current HTTP standards.

  • MariaDB (https://mariadb.org/), strives to be the logical choice for database professionals looking for a robust, scalable, and reliable SQL server.

  • PHP (http://php.net/) is a popular general-purpose scripting language that is especially suited to web development and, most importantly, it is the main language of Magento.

  • Perl (https://www.perl.org/) is a highly capable, feature-rich programming language with over 27 years of development.

So far so good, but how about doing some action?

XAMPP installation

First of all, let's access the XAMPP website at its URL, https://www.apachefriends.org :

XAMPP has three distinct versions for different operating systems (OSes): Windows, Linux, and OS X. Choose your preferred version to download and start the installation process.

XAMPP for Windows installation

XAMPP for Windows has three different kinds of installation files:

  • Installer: Classic Windows installation

  • Zip: Compressed files to install manually

  • 7zip: Compressed files to install manually

The Installer (.exe) is the most popular process to install. Please download it and execute to start the installation process:

The following are the installation steps of XAMPP:

  1. You can skip FileZilla Ftp Server, Mercury Mail Server, and Tomcat for our installation purposes, but feel free to consult Apache Friends Support Forum for further information: https://community.apachefriends.org .

  2. In XAMPP, we have the option to use Bitnami (https://bitnami.com/xampp), but for learning purposes, we will install Magento in the classic way.

  3. Complete the installation by pressing the Finish button:

  4. In order to start XAMPP for Windows, you can execute xampp-control.exe and start the Apache Web Server.

  5. To test if everything is working, type http://localhost in your favorite web browser. You should see the XAMPP start page:

XAMPP for Linux installation

XAMPP for Linux has two main versions of the installation file:

  • 32-bit version

  • 64-bit version

Choose the file according to your architecture and follow these steps:

  1. Change the permissions to the installer:

    chmod 755 xampp-linux-*-installer.run
    

  2. Run the installer:

sudo ./xampp-linux-*-installer.run

XAMPP is now installed in the /opt/lampp directory.

To start XAMPP, execute this command in the terminal:

sudo /opt/lampp/lampp start

To test if everything is working, type http://localhost in your favorite web browser and you should see the XAMPP start page:

XAMPP for OS X installation

To install XAMPP for OS X you simply follow these steps:

  1. Download the DMG-Image file.

  2. Open the image file to start the installation process.

  3. The steps are pretty much the same as Windows installation, refer to the section XAMPP for Windows installation.

  4. To test if everything is working, type http://localhost in your favorite web browser. You should see the XAMPP start page:

The XAMPP htdocs directory is the docroot folder of your server. Everything that you save in the htdocs folder, you can access via the browser. For example, if you save index.php inside htdocs, you can access this script by entering this URL: http://localhost/index.php. If you save your file in the packt directory, you can access it by going to http://localhost/packt/index.php. Piece of cake!

Downloading Magento 2

First of all, we need to create a user on the Magento website (http://www.magento.com). To download Magento 2 Community Edition, click on My Account, and after clicking the button labeled Register, fill in the form and confirm your registration.

Once registered, you will be able to download Magento 2. Access the Products menu, Open Source/CE, and finally View Available Downloads (https://www.magentocommerce.com/download):

On this page, we have three important options:

  • Full Release (ZIP with no sample data): The download of the last and stable Magento version

  • Full Release with Sample Data (ZIP with sample data): This is important for creating example products for our store for testing

  • Download with Composer: This is the dependency management installation tool

Please choose Full Release with Sample Data to download. Extract the compressed files in the XAMPP htdocs directory and rename the new directory packt.

Note

Remember to start the Apache and MySQL services on the XAMPP panel before the installation of Magento 2.

Before we start our Magento installation, we'll need to create a new MySQL database instance to store the Magento data. phpMyAdmin is a MySQL web app to manage your database:

  1. Please access http://localhost/phpmyadmin/.

  2. Click on the Databases menu and the Create database option and create a database called packt, as shown in the following screenshot:

  3. Access the following URL, http://localhost/packt/setup, to start the Magento installation.

By this point, you can see this installation page on your browser:

Let's start Magento installation by following these steps:

  1. Readiness Check: Check the environment for the correct PHP version, PHP extensions, file permissions, and compatibility.

  2. Add a Database: Fill in the database form with your connection information. By default, you can follow the suggestions. Take a look at the following screenshot:

  3. Web Configuration: Your Store Address and Magento Admin Address.

  4. Customize Your Store: Time zone, currency, and language information:

  5. Create Admin Account: Enter your personal login information and set the admin address to admin_packt.

After following these steps, you have Magento 2 running! You can access your new site by going to http://localhost/packt :

And you can access the admin area by going to http://localhost/packt/admin_packt :

Tip

For further information about Magento installation, please go to http://devdocs.magento.com/guides/v2.0/install-gde/bk-install-guide.html

Summary


You've now seen what Magento can do, and the changes and improvements in this newer version of Magento 2. Perhaps more importantly, we've installed Magento 2 too, so it's ready to starting theming! The remainder of this book covers customizing your Magento 2 theme, from the basics, such as changing your store's logos and color schemes, to e-mail templates, and more.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Realize the full potential of theme design in Magento 2
  • Design attractive themes for your e-commerce store to make them stand out amongst the crowd
  • Practical skills and examples ensure you can take what you’ve learnt to your own projects – limited only by your own creativity!

Description

Magento is the e-commerce software and platform trusted by the world’s leading brands. Using Magento’s powerful theming engine, you can control the look, content, and functionality, and easily launch a flexible e-commerce website. However, because of its powerful features, developing Magento themes is easier said than done. This book aims to leverage the enhancements to theme designing in Magento 2 to the fullest. It will show you how to gear up the performance of your e-commerce website. We begin by introducing Magento 2 and its features along with implementing a local development Magento environment. We then move on to discuss the concepts of the Magento theme structure such as templates, inheritance, customization, and override. Further on, we explore the Magento UI Library, which is a new feature available in Magento 2.0. We will create a new Magento 2.0 theme named MyCake Store using Magento Bootstrap from Maven E-commerce and also create print strategies for the Magento 2.0 theme. We will also create and customize a new theme proposal for the Magento admin panel. At the end, we will integrate Magento 2.0 to Twitter and integrate it with social bookmarking and finally deploy our new Magento 2.0 theme.

What you will learn

Implement a local development Magento environment Understand the workings of the Magento theme structure Edit an existing Magento theme to satisfy your business needs Create print strategies for the Magento 2.0 theme Generate specific blocks to improve the Magento 2.0 theme Explore specific Magento programming Methods to improve the Magento 2.0 theme Customize the Magento 2.0 admin panel to create a new Magento 2.0 admin theme Build a Twitter module for Magento 2.0 and integrate Magento 2.0 with social bookmarking

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Buy Now

Product Details


Publication date : Oct 28, 2016
Length 288 pages
Edition : 2nd Edition
Language : English
ISBN-13 : 9781785888229
Vendor :
Magento
Category :
Concepts :

Table of Contents

18 Chapters
Magento 2 Theme Design - Second Edition Chevron down icon Chevron up icon
Credits Chevron down icon Chevron up icon
About the Author Chevron down icon Chevron up icon
About the Reviewer Chevron down icon Chevron up icon
www.PacktPub.com Chevron down icon Chevron up icon
Preface Chevron down icon Chevron up icon
Introduction to Magento 2 Chevron down icon Chevron up icon
Exploring Magento Themes Chevron down icon Chevron up icon
Magento 2 Theme Layout Chevron down icon Chevron up icon
Magento UI Library Chevron down icon Chevron up icon
Creating a Responsive Magento 2 Theme Chevron down icon Chevron up icon
Magento 2 Styles Debugging Chevron down icon Chevron up icon
Magento UI Components Chevron down icon Chevron up icon
Magento Layout Development Chevron down icon Chevron up icon
Magento 2 JavaScript Chevron down icon Chevron up icon
Social Media in Magento 2 Chevron down icon Chevron up icon
Theme Development Best Practices Chevron down icon Chevron up icon
Magento Theme Distribution Chevron down icon Chevron up icon

Customer reviews

Filter icon Filter
Top Reviews
Rating distribution
Empty star icon Empty star icon Empty star icon Empty star icon Empty star icon 0
(0 Ratings)
5 star 0%
4 star 0%
3 star 0%
2 star 0%
1 star 0%

Filter reviews by


No reviews found
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.