Hyvä Theme erstellen für Magento 2.4.8-p3

1. Verzeichnisstruktur erstellen

Erstelle folgende Ordnerstruktur:


app/design/frontend/Mironsoft/default/
├── etc/
├── media/
├── web/
│   ├── css/
│   └── tailwind/
├── Magento_Theme/
│   └── templates/
├── registration.php
└── theme.xml
Datei: app/design/frontend/Mironsoft/default/registration.php
Datei: app/design/frontend/Mironsoft/default/theme.xml

3. Tailwind-Verzeichnis vom Parent-Theme kopieren

Das ist der wichtigste Schritt! Du musst das komplette web/tailwind Verzeichnis vom Parent-Theme in dein Child-Theme kopieren:

4. CSS-Verzeichnis erstellen

bin/cli mkdir -p app/design/frontend/Mironsoft/default/web/css

5. Media-Verzeichnis erstellen

bin/cli mkdir -p app/design/frontend/Mironsoft/default/media

6. NPM Dependencies installieren

bin/npm --prefix app/design/frontend/Mironsoft/default/web/tailwind install

7. CSS generieren und bauen

bin/npm --prefix app/design/frontend/Mironsoft/default/web/tailwind run build

8. Während der Entwicklung (Watch-Modus)

bin/npm --prefix app/design/frontend/Mironsoft/default/web/tailwind run watch

9. Config anpassen:

10. tailwind-source.css anpassen

Datei: app/design/frontend/Mironsoft/default/web/tailwind/tailwind-source.css

**
 * Mironsoft Default Theme
 *
 * Main entry file for theme CSS, processed by Tailwind CSS v4.
 */

@import "@hyva-themes/hyva-modules/css";
@import "tailwindcss" source(none);
@source "../../**/*.phtml";
@source "../../**/*.xml";

/* Custom styles */
@import "./base";
@import "./components";
@import "./theme";
@import "./utilities";

/* Import generated styles for Hyvä Compatible Modules and Design Tokens */
@import "./generated/hyva-source.css";
@import "./generated/hyva-tokens.css";

@theme {
    /* Background and foreground colors */
    --color-bg: var(--color-slate-50);
    --color-fg: var(--color-slate-950);
    --color-fg-secondary: var(--color-slate-600);
    --color-surface: var(--color-white);
}

11. package.json anpassen

Datei: app/design/frontend/Mironsoft/default/web/tailwind/package.json

{
  "name": "@mironsoft/default-theme",
  "version": "1.0.0",
  "description": "Mironsoft Default Hyvä Theme with Tailwind CSS v4",
  "type": "module",
  "dependencies": {
    "@hyva-themes/hyva-modules": "^1.2.4",
    "@tailwindcss/cli": "^4.1.17",
    "tailwindcss": "^4.1.17"
  },
  "scripts": {
    "start": "npm run watch",
    "generate": "npx hyva-sources && npx hyva-tokens",
    "prewatch": "npm run generate",
    "watch": "npx tailwindcss -i tailwind-source.css -o ../css/styles.css --watch",
    "browser-sync": "npx browser-sync start --config ./browser-sync.config.cjs",
    "prebuild": "npm run generate",
    "build": "npx tailwindcss -i tailwind-source.css -o ../css/styles.css --minify"
  },
  "engine-strict": true,
  "engines": {
    "node": ">=20.0.0"
  },
  "browserslist": [
    "> 0.5% and not dead"
  ],
  "author": "Mironsoft",
  "license": "proprietary",
  "private": true
}

12. Komplette Verzeichnisstruktur


app/design/frontend/Mironsoft/default/
├── etc/
│   └── view.xml (optional)
├── media/
│   └── preview.png
├── web/
│   ├── css/
│   │   └── styles.css (wird generiert)
│   └── tailwind/
│       ├── base/
│       │   ├── index.css
│       │   ├── preflight.css
│       │   └── print.css
│       ├── components/
│       │   ├── index.css
│       │   └── ... (weitere CSS-Dateien)
│       ├── generated/
│       │   ├── hyva-source.css
│       │   └── hyva-tokens.css
│       ├── theme/
│       │   ├── index.css
│       │   └── ... (weitere CSS-Dateien)
│       ├── utilities/
│       │   ├── index.css
│       │   └── ... (weitere CSS-Dateien)
│       ├── .nvmrc
│       ├── browser-sync.config.cjs
│       ├── hyva.config.json
│       ├── package.json
│       └── tailwind-source.css
├── registration.php
└── theme.xml

13. Magento Setup


bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f de_DE en_US
bin/cache-clean