jahvi/magento2-copy-theme-override

Magento 2 command to automatically copy files into active theme

Installs: 4 321

Dependents: 0

Suggesters: 0

Security: 0

Stars: 12

Watchers: 2

Forks: 3

Open Issues: 0

Type:magento2-module

3.0.0 2020-12-31 18:08 UTC

This package is auto-updated.

Last update: 2024-04-29 03:44:16 UTC


README

Build Status Coverage Status

🎩 Magento 2 command to automatically copy files into active theme.

screen2

Installation

  1. Install via composer composer require jahvi/magento2-copy-theme-override --dev
  2. Run php bin/magento setup:upgrade

How it works?

After installing the extension you will have access to a new command:

php bin/magento dev:copy-theme-override $file_path

This takes a single $file_path argument which is the absolute path of the CSS, LESS, JS, PHTML or HTML file you want to override in your theme, so for example to override the product/list.phtml template you'd run:

php bin/magento dev:copy-theme-override /var/www/magento2/vendor/magento/module-catalog/view/frontend/templates/product/list.phtml

And it will copy the file into your theme as:

/var/www/magento2/vendor/magento/app/design/Sample/theme/Magento_Catalog/templates/product/list.phtml

Setting up your IDE

By itself the command is not very useful but most IDEs or code editors provide a way to run custom commands using keyboard shortcuts that will help simplify this workflow, below are some examples of a few popular ones.

VS Code

  1. Create a .vscode/tasks.json file in the project root with the following content:
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Copy Theme Override",
            "type": "shell",
            "command": "php bin/magento dev:copy-theme-override ${file}",
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}
  1. Open the file to override.
  2. Run build task shortcut, by default Shift + Cmd + B or Ctrl + Shift + B on Windows/Linux.

Sublime Text

  1. Create new build system Tools > Build System > New Build System... with the following content:
{
    "shell_cmd": "php bin/magento dev:copy-theme-override $file",
    "working_dir": "$folder"
}
  1. Open the file to override.
  2. Run Build task, by default Cmd + B or Ctrl + B on Windows/Linux.