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
Swissup Theme Store Views
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
- Download or clone this repository
- Copy the module to
app/code/Swissup/ThemeStoreViews/ - 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.xmlfiles - 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
- Discovery: Scans for installed Swissup themes
- Validation: Checks if themes exist and are properly installed
- Store Creation: Creates store views with proper codes and names
- Theme Application: Assigns themes to their respective store views
- Content Installation: Runs marketplace installers for theme content
- 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:
- This module: Contact your development team
- Swissup themes: Visit Swissup Documentation
- Magento core: Check Magento DevDocs
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.xmlprocessing - Automatic installation of theme content (CMS pages, blocks, sliders, etc.)
--reinstalloption 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
| 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.
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.
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.
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
| 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
| 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.
More from swissup
View vendorTurn 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.