Skip to main content

How to Create New theme in Magento 2.x with Sample Data Like Luma Theme

As previously I added bootstrap css file to luma theme . Now I tried to create new theme use blank theme instead of luma theme

THIS IS MY WAY TO LEARN : 1. HOW TO DO IT = > HOW IT'S WORK

This is first part of my journey how to do it.


1.Create theme directory

Firstly,I created folders in m2(my magento 2 folder)/app/design/frontend/Lalit (vendor/namespace)

app/design/frontend/                                             
├── <Vendor>/
│   │   ├──…<theme>/
│   │   │   ├── …
│   │   │   ├── …



compare to this structure I created folder like this 

app/design/frontend/
├── Lalit/
│   │   ├──…MyTheme/
│   │   │   ├── …
│   │   │   ├── …


2. Declare theme/ 

Create the theme.xml in app/design/frontend/Lalit/MyTheme

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
     <title>Lalit - MyTheme</title> <!-- your theme's name -->
     <parent>Magento/blank</parent> <!-- the parent theme, in case your theme inherits from an existing theme -->
     <media>
         <preview_image>media/preview.jpg</preview_image> <!-- the path to your theme's preview image -->
     </media>

 </theme>


3.Registered theme

Add registration.php in app/design/frontend/Lalit/MyTheme folder

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::THEME,
    'frontend/Lalit/MyTheme',
    __DIR__

);

Additionally I created file view.xml in etc folder  app/design/frontend/Lalit/MyTheme/etc/   for configure my images sizes and  other configuration.
as in blank theme 

Now folder structure look like this 


app/design/frontend/Lalit/
├── MyTheme/
│   ├── etc/
│   │   ├── view.xml
│   ├── web/
│   │   ├── images
│   │   │   ├── logo.svg
│   ├── registration.php
│   ├── theme.xml
│   ├── composer.json
│   ├── media/
│   │   ├── preview.jpg
Create <etc> folder
etc folder contain view.xml is optional if you want to configure your theme like change images sizes. you can find similar file in blank theme m2\vendor\magento\theme-frontend-blank\etc\view.xml
you can add composer file composer.json
7
8
9
10
11
12
13
14
15
16
17
18
{
    "name": "magento/sample-module-theme",
    "description": "N/A",
    "require": {
        "php": "~5.5.0|~5.6.0|~7.0.0",
        "magento/theme-frontend-blank": "~100.0",
        "magento/framework": "~100.0"
    },
    "type": "magento2-theme",
    "version": "1.0.0",
    "license": [
        "OSL-3.0",
        "AFL-3.0"
    ],
    "autoload": {
        "files": [ "registration.php" ]
    }
}

Create <media> folder

create folder with name “media” and place inside it an image preview.jpg”

Create <web> folder

  • Create “css folder inside
  • Create an image folder to place images
    • In this folder we place an image “logo.png” inside => it’s the Logo of theme
  • Create “js” folder that contains all js files

Theme settings:

1.  select theme

  • From Admin Administration Menu Content => Themes =>  My theme has appeared in the Design panel

save and clear cache
php bin/magento cache:clean


Comments

  1. nice informative post. Thanks you for sharing.
    Magento 2 is a re-invisioning of the platform bringing it up to date with the latest development practices as a foundation for future features and growth.
    Magento 2

    ReplyDelete

Post a Comment

Popular posts from this blog

How to remove subscriber box and footer links from footer in Magento 2

Preconditions: I installed Magento 2 with sample data used luma theme for customised right now . Now I'm trying to remove Footer subscriber form  in mycustom theme which I created before.  As I tried to remove it from layout by m2\vendor\magento\theme-frontend-luma\Magento_Theme\layout\default.xml Just need to copy paste      <referenceBlock name="form.subscribe" remove="true" /> if you want to remove footer then you remove block like this.       <referenceBlock name="footer_links" remove="true" /> in above file file  m2\vendor\magento\theme-frontend-luma\Magento_Theme\layout\default.xml default.xml file used to change layout of page if file doesn't exist then you can create your own file <?xml version="1.0"?> <page layout="1column" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"      xsi:noNamespaceSchemaLocation="../../../../...

Magento 2.2.1 open source Released| New features and Bug Fixes

This release includes numerous functional fixes and enhancements. Highlights Look for the following highlights in this release: Integrated Signifyd Fraud Protection is now available in Magento Open Source. See  Signifyd fraud protection  for more information. Ability to implement translations from themes. We’ve also significantly reduced JavaScript-related translation issues. Improvements to how the PayPal Express Checkout payment method processes virtual products. Multiple enhancements to product security. See  Magento Security Center  for more information. Twenty-two community-submitted bug fixes and multiple pull requests. Looking for more information on these new features as well as many others? Check out  Magento 2.2 Developer Documentation . Security enhancements Magento 2.2.1 includes multiple security enhancements. Although this release includes these enhancements, no confirmed attacks related to these issues have occurred to ...

MAGENTO 2.2.1, 2.1.10 AND 2.0.17 PATCHES | SECURITY UPDATE

Magento Commerce and Open Source 2.2.1, 2.1.10 and 2.0.17 contain multiple security enhancements. Cross-Site Scripting (XSS). Local File Inclusion (LFI). Authenticated Admin user remote code execution (RCE)   . Arbitrary File Delete vulnerabilities APPSEC-1325: Stored XSS in Billing Agreements Type                  :          Cross-Site Scripting (XSS, stored) CVSSv3 Severity  :         5.5 (Medium) Known Attacks    :        None Description         :    An administrator with limited privileges can create Billing                                                   Agreements with embedded cross-site scripting elements that            ...