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, 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            ...

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 ...