swissup / module-theme-store-views

swissup/module-theme-store-views

Magento 2 module that automatically creates store views for each Swissup theme and applies corresponding themes with full installation

magento2-module Compatibility: 2.4.7-2.4.9 Code Quality: Fail Tests: N/A Security: Fail OSL-3.0

Swissup Theme Store Views

Latest Stable Version
Total Downloads
License
PHP Version
Magento

A Magento 2 module that automatically creates store views for each Swissup theme and applies the corresponding theme to them, including running theme-specific installers.

🎯 What it does

This module streamlines the process of setting up multiple Swissup themes by:

  • Creating store views for each available Swissup theme
  • Applying themes automatically to their corresponding store views
  • Running theme installers to install CMS content, blocks, sliders, and configurations
  • Performing maintenance tasks like setup upgrade and reindexing

📋 Requirements

  • Magento 2.4+ (tested on 2.4.x)
  • Swissup themes installed via Composer
  • PHP 7.4+ or 8.x
  • Swissup Marketplace module

🚀 Installation

Method 1: Composer (Recommended)

# Install via Composer
composer require swissup/module-theme-store-views

# Enable the module
php bin/magento module:enable Swissup_ThemeStoreViews

# Run setup upgrade
php bin/magento setup:upgrade

# Clear cache and compile
php bin/magento cache:flush
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy

Method 2: Manual Installation

  1. Download or clone this repository
  2. Copy the module to app/code/Swissup/ThemeStoreViews/
  3. Run the following commands:
# Enable the module
php bin/magento module:enable Swissup_ThemeStoreViews

# Run setup upgrade
php bin/magento setup:upgrade

# Clear cache
php bin/magento cache:flush

📖 Usage

Basic Command

Create store views for all Swissup themes:

php bin/magento swissup:theme:create-storeviews

Command Options

Option Short Description
--reinstall -r Run theme installers even for existing store views
--help -h Display help information

Examples

# Create store views (skips existing ones)
php bin/magento swissup:theme:create-storeviews

# Force reinstall themes for all store views
php bin/magento swissup:theme:create-storeviews --reinstall

# Show help
php bin/magento swissup:theme:create-storeviews --help

🎨 Supported Themes

The module automatically detects and processes these Swissup themes:

Theme Store View Code Store View Name
Swissup/absolute absolute Absolute
Swissup/argento-blank argento_blank Argento Blank
Swissup/argento-essence argento_essence Argento Essence
Swissup/argento-flat argento_flat Argento Flat
Swissup/argento-force argento_force Argento Force
Swissup/argento-home argento_home Argento Home
Swissup/argento-luxury argento_luxury Argento Luxury
Swissup/argento-mall argento_mall Argento Mall
Swissup/argento-marketplace argento_marketplace Argento Marketplace
Swissup/argento-pure2 argento_pure2 Argento Pure2
Swissup/argento-stripes argento_stripes Argento Stripes
Swissup/argentobreeze-blank argentobreeze_blank Argento Breeze Blank
Swissup/argentobreeze-business argentobreeze_business Argento Breeze Business
Swissup/argentobreeze-chic argentobreeze_chic Argento Breeze Chic
Swissup/argentobreeze-force argentobreeze_force Argento Breeze Force
Swissup/argentobreeze-stripes argentobreeze_stripes Argento Breeze Stripes
Swissup/breeze-blank breeze_blank Breeze Blank
Swissup/breeze-evolution breeze_evolution Breeze Evolution

⚡ Features

🏪 Store View Creation

  • Automatically generates valid store view codes
  • Uses theme titles as store view names
  • Assigns to default website and store group
  • Sets appropriate sort order and status

🎨 Theme Application

  • Applies the correct theme to each store view
  • Updates design configuration automatically
  • Maintains theme-store view relationships

📦 Theme Installation

  • Detects etc/marketplace/installer.xml files
  • Runs Swissup Marketplace installers automatically
  • Installs theme-specific content:
    • CMS Pages
    • CMS Blocks
    • Sliders (EasySlider)
    • Product Attributes
    • Configuration Settings
    • Media Files
    • Product Collections

🔧 Maintenance Tasks

  • Runs setup:upgrade --safe-mode=1
  • Executes indexer:reindex
  • Clears all cache types
  • Provides progress feedback

🛡️ Safety Features

  • Skips existing store views by default
  • Non-interactive execution
  • Error handling and validation
  • Progress bars and status updates

🎨 Enhanced CLI Experience (v1.0.2+)

  • Professional Output: Colorful, styled headers with box borders
  • Real-time Progress: Live progress bar showing current theme and statistics
  • Color-coded Status: Green for success, yellow for warnings, red for errors
  • Live Statistics: Current counts of created and skipped stores
  • Professional Summary: Detailed completion report with statistics
  • Step-by-step Feedback: Clear indicators for each post-processing step
  • Enhanced Error Messages: Clear, colorful error reporting
  • Emoji Indicators: Visual cues for different types of operations

🔍 How It Works

  1. Discovery: Scans for installed Swissup themes
  2. Validation: Checks if themes exist and are properly installed
  3. Store Creation: Creates store views with proper codes and names
  4. Theme Application: Assigns themes to their respective store views
  5. Content Installation: Runs marketplace installers for theme content
  6. Maintenance: Performs setup upgrade, reindexing, and cache clearing

📁 Module Structure

app/code/Swissup/ThemeStoreViews/
├── Console/
│   └── Command/
│       └── CreateThemeStoreViews.php    # Main command class
├── etc/
│   ├── di.xml                           # Dependency injection
│   └── module.xml                       # Module configuration
├── registration.php                     # Module registration
└── README.md                           # This documentation

🐛 Troubleshooting

Store View Already Exists

Issue: Store view with the same code already exists
Solution: Use --reinstall flag to run installers on existing store views

php bin/magento swissup:theme:create-storeviews --reinstall

Theme Not Found

Issue: Theme not detected by the module
Solution: Ensure the theme is properly installed and appears in:

php bin/magento theme:info

Installer Not Found

Issue: No installer.xml found for a theme
Solution: This is normal - not all themes have installers. The module will skip installation for themes without etc/marketplace/installer.xml

Permission Issues

Issue: File permission errors during installation
Solution: Ensure proper file permissions:

chmod -R 755 var/
chmod -R 755 pub/static/
chmod -R 755 pub/media/

Memory Issues

Issue: PHP memory limit exceeded
Solution: The module automatically uses unlimited memory for heavy operations

📊 Output Example

╔══════════════════════════════════════════════════════════════════════════════════════╗
║                    🎨 Swissup Theme Store Views Creator                           ║
╚══════════════════════════════════════════════════════════════════════════════════════╝

🚀 Starting theme store views creation process...
📊 Website: Main Website (ID: 1)
🏪 Store Group: Main Website Store (ID: 1)

📋 Processing 18 themes...
10/18 [===============>------------]  55% Processing: Swissup/argento-pure2 (10/18) | Created: 8 | Skipped: 2

🔧 Found installer for theme: Argento Pure2
📦 Installing package: swissup/theme-frontend-argento-pure2
💻 Executing: php bin/magento marketplace:package:install swissup/theme-frontend-argento-pure2 --store=27 --no-interaction
[notice] Processing swissup/theme-frontend-argento-pure2
[info] Config: Update store parameters
[info] Cms Pages: Backup existing pages
[info] CMS PAGES: Create new pages
[info] Cms Blocks: Backup existing and create new blocks
✅ Command completed!

✅ Created store view: Argento Pure2 (argento_pure2)

18/18 [============================] 100% Complete (18/18) | Created: 16 | Skipped: 2

╔═══════════════════════════════════════════════════════════════════════════════╗
║                            📊 SUMMARY REPORT                               ║
╠═══════════════════════════════════════════════════════════════════════════════╣
║ ✅ Created:  16 store views                                                  ║
║ ⏭️  Skipped:   2 existing ones                                               ║
║ 📋 Total:    18 themes processed                                            ║
╚═══════════════════════════════════════════════════════════════════════════════╝

🔧 Post-processing steps: Running required maintenance tasks...

🚀 Step 1/3: Running setup:upgrade...
🔍 Step 2/3: Running reindex...
🧹 Step 3/3: Clearing cache...
✅ Cache cleared successfully!

🎉 SUCCESS! Theme store views setup completed successfully!
╔═══════════════════════════════════════════════════════════════════════════════╗
║                        🌟 PROCESS COMPLETE 🌟                              ║
╚═══════════════════════════════════════════════════════════════════════════════╝

🔗 Related Commands

# List all store views
php bin/magento store:list

# Check theme installation
php bin/magento theme:info

# Manual marketplace installation
php bin/magento marketplace:package:install swissup/theme-frontend-[theme-name] --store=[store-id]

# Manual setup and maintenance
php bin/magento setup:upgrade --safe-mode=1
php bin/magento indexer:reindex
php bin/magento cache:flush

📄 License

This module follows the same license as your Magento installation and Swissup modules.

💬 Support

For issues related to:


Version: 1.0.2
Compatible: Magento 2.4.x
Created: 2025

Changelog

All notable changes to the Swissup Theme Store Views module will be documented in this file.

[1.0.2] - 2025-01-08

Enhanced

  • 🎨 CLI Output: Complete visual overhaul with colorful, professional output
  • 📊 Progress Tracking: Real-time progress bar showing processed themes count
  • 📈 Live Statistics: Display of created and skipped store counts during processing
  • 🌈 Color Coding: Green for success, yellow for warnings, red for errors
  • 📋 Professional Headers: Styled banners and boxed sections
  • ⚡ Status Messages: Clear progress indicators with emojis and colors
  • 📦 Installation Feedback: Enhanced installer output with better formatting
  • 🎯 Command Execution: Improved command output with colored formatting
  • 🏁 Summary Report: Detailed completion summary with statistics

Technical Improvements

  • Enhanced progress bar with custom formatting and live message updates
  • Improved installer output clearing for better display
  • Better error handling and user feedback
  • Real-time counter updates throughout the process

[1.0.1] - 2025-01-08

Fixed

  • Updated composer.json configuration for proper package management
  • Resolved module installation path conflicts
  • Improved documentation and validation scripts

Added

  • Enhanced package validation script
  • Professional README with badges
  • Complete GitHub integration templates

[1.0.0] - 2025-01-08

Added

  • Initial release of Swissup Theme Store Views module
  • Automatic store view creation for 18 Swissup themes
  • Theme application to corresponding store views
  • Integration with Swissup Marketplace installer system
  • Support for etc/marketplace/installer.xml processing
  • Automatic installation of theme content (CMS pages, blocks, sliders, etc.)
  • --reinstall option to force reinstall on existing store views
  • Progress bars and detailed output for user feedback
  • Automatic maintenance tasks (setup:upgrade, reindex, cache clear)
  • Error handling and validation
  • Non-interactive execution with proper store context

Features

  • Command: swissup:theme:create-storeviews
  • Options: --reinstall (-r)
  • Supported Themes: All 18 major Swissup themes
  • Auto-detection: Finds installers in both vendor/ and app/design/ directories
  • Safety: Skips existing store views unless forced
  • Maintenance: Complete setup upgrade and reindexing

Technical Details

  • Compatible with Magento 2.4.x
  • Uses proper Magento APIs for store creation
  • Integrates with Swissup Marketplace commands
  • Memory-safe execution with unlimited memory for heavy operations
  • Proper dependency injection and command registration
Versions
Version Stability QA Status Compatibility Released
1.0.4 stable Fail Magento 2.4.7-2.4.9 Details 2026-05-15 11:22:07
1.0.3 stable Not tested Not yet tested Details 2025-12-05 13:50:05
1.0.2 stable Not tested Not yet tested Details 2025-07-08 17:20:40
1.0.1 stable Not tested Not yet tested Details 2025-07-08 15:02:12
1.0.0 stable Not tested Not yet tested Details 2025-07-08 14:11:15

Requires 1

Package Constraint
swissup/module-marketplace ^1.9

Suggests 18

Package Reason
swissup/theme-frontend-absolute Swissup Absolute theme
swissup/theme-frontend-argento-blank Swissup Argento Blank theme
swissup/theme-frontend-argento-essence Swissup Argento Essence theme
swissup/theme-frontend-argento-flat Swissup Argento Flat theme
swissup/theme-frontend-argento-force Swissup Argento Force theme
swissup/theme-frontend-argento-home Swissup Argento Home theme
swissup/theme-frontend-argento-luxury Swissup Argento Luxury theme
swissup/theme-frontend-argento-mall Swissup Argento Mall theme
swissup/theme-frontend-argento-marketplace Swissup Argento Marketplace theme
swissup/theme-frontend-argento-pure2 Swissup Argento Pure2 theme
swissup/theme-frontend-argento-stripes Swissup Argento Stripes theme
swissup/theme-frontend-argentobreeze-blank Swissup Argento Breeze Blank theme
swissup/theme-frontend-argentobreeze-business Swissup Argento Breeze Business theme
swissup/theme-frontend-argentobreeze-chic Swissup Argento Breeze Chic theme
swissup/theme-frontend-argentobreeze-force Swissup Argento Breeze Force theme
swissup/theme-frontend-argentobreeze-stripes Swissup Argento Breeze Stripes theme
swissup/theme-frontend-breeze-blank Swissup Breeze Blank theme
swissup/theme-frontend-breeze-evolution Swissup Breeze Evolution theme

Compatibility

Each Magento release line is installed on its supported PHP versions, then the module is built (DI compilation + static-content deploy) and its unit and integration suites are run. The matrix shows the lines and PHP versions the module is confirmed to install and run on. Code-quality results further down (phpstan, phpcs, …) are reported separately and never affect compatibility.

Compatibility matrix (Magento × PHP)
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 Pass Pass
2.4.8 Pass Pass
2.4.9 Pass Pass

Code Quality

Advisory checks against the module's source. Static analysis runs once across the whole module; PHPStan re-runs per Magento + PHP version because resolvable symbols differ between releases. These NEVER affect the Compatibility badge — a phpcs finding can't make a module incompatible.

Static analysis

Coding standards (phpcs), mess detection (phpmd), copy-pasted code (cpd), PHP cross-version compatibility, composer.json validity. Each runs once for the whole module.

Static analysis results
Tool Status Findings Summary
PHPCS Fail 95 33 errors, 62 warnings (ruleset: Magento2) — 30 auto-fixable with phpcbf
PHPMD Warning 1 1 rule violation (ExcessiveMethodLength:1)
Cpd Pass 0
Composer validate Info 1 valid; 1 advisory note (composer validate --strict)

PHPStan

Type-checks the module's PHP against a real Magento install at the configured gate level. Re-runs per Magento and PHP version because resolvable symbols differ between releases. Cell → details modal.

PHPStan results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 121 121
2.4.8 120 120
2.4.9 120 120

Tests

Unit and integration suites, run for each applicable Magento and PHP version. A test failure speaks to the module's behaviour, not its compatibility with a Magento line, so it is reported here separately and never reddens the compatibility matrix.

Unit tests

Unit tests results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 N/A N/A
2.4.8 N/A N/A
2.4.9 N/A N/A

Integration tests

Integration tests results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 N/A N/A
2.4.8 N/A N/A
2.4.9 N/A N/A

Security

Security checks run directly against the module: an audit of its declared dependencies for known vulnerabilities (composer audit) and a scan of its source for malware and web-shell signatures. Each runs once. A malware detection fails the version outright.

Security results
Tool Status Findings Summary
Composer audit Error 0 composer audit produced unparseable output (exit=100)
Malware scan Pass 0
License
OSL-3.0
Homepage
https://github.com/swissup/theme-storeviews
Authors

More from swissup

View vendor
Make it pay

Turn an existing module into recurring revenue.

If you already maintain a Magento 2 module on GitHub or GitLab, listing it on Packagento takes about five minutes. We mirror your tags, handle distribution signing, and route paid licenses through Stripe Connect, so you can keep shipping the way you already do.