mhinspeya / outfitbundles
Streamline your shopping experience with our Outfits and Bundles module. Easily add multiple products to your cart with just one click, saving you time and hassle. Discover curated collections and convenient bundles, making it simpler than ever to find everything you need in one place.
Package info
git.modehaus.de/hyvae/outfitbundles
Type:magento2-module
pkg:composer/mhinspeya/outfitbundles
Requires
- mhinspeya/backend-mod: ^1.0
Suggests
- mhinspeya/backend-mod: Support Configuration
This package is not auto-updated.
Last update: 2026-03-30 10:50:51 UTC
README
``mhinspeya/module-outfitsbundles``
- Main Functionalities
- Features
- Installation
- Configuration
- Usage
- Technical Specifications
- Attributes
- API Endpoints
- Translations
- Troubleshooting
Main Functionalities
MHinspeya Outfits & Bundles is a comprehensive Magento 2 module that enables merchants to create, manage, and display curated outfit collections with integrated Picalike AI-powered product recommendations.
Key Features:
- Outfit Management: Create and manage outfit collections with multiple products
- Picalike Integration: AI-powered similar product recommendations
- Multi-language Support: Full German (DE, AT, CH) translations
- CMS Block Generation: Automatic CMS block creation for outfit categories
- AJAX Add to Cart: Enhanced add-to-cart with detailed feedback (items added, out of stock tracking)
- Responsive Design: Modern Alpine.js-based frontend with Tailwind CSS
- Admin Grid Management: Comprehensive backend interface for outfit products
Features
1. Outfit Category Management
- Assign a dedicated category for outfit collections
- Automatic child category detection
- Multi-store view support
2. Picalike AI Integration
- Configure Picalike API URL and key
- Set product recommendation limits
- Automatic similar product fetching
- Cron-based data synchronization
3. Enhanced Add to Cart
- Multi-item cart addition: Add multiple outfit items in one click
- Stock tracking: Real-time out-of-stock detection
- Detailed feedback: Shows exactly how many items were added, out of stock, or skipped
- Error handling: Graceful handling of product availability issues
Example response:
{
"status": "success",
"message": "2 of 3 item(s) added to cart. 1 item(s) out of stock: Blue Shirt",
"added_count": 2,
"out_of_stock_count": 1,
"skipped_count": 0
}
4. CMS Block Automation
- Generate CMS blocks for outfit categories
- Update main outfit category landing page
- Customizable block content
5. Display Customization
- Button color configuration
- Text color settings
- Font size and letter spacing
- Custom font family support
6. Product Status Management
- Enable/Disable individual outfit products
- Bulk status updates
- Position/sorting management
Installation
* = in production please use the --keep-generated option
Type 1: Zip file
- Unzip the zip file in
app/code/MHinspeya - Enable the module by running
php bin/magento module:enable MHinspeya_OutfitsBundles - Apply database updates by running
php bin/magento setup:upgrade* - Compile dependency injection by running
php bin/magento setup:di:compile* - Deploy static content by running
php bin/magento setup:static-content:deploy* - Flush the cache by running
php bin/magento cache:flush
Type 2: Composer
- Make the module available in a composer repository for example:
- private repository
repo.magento.com - public repository
packagist.org - public github repository as vcs
- private repository
- Add the composer repository to the configuration by running
composer config repositories.repo.magento.com composer https://repo.magento.com/ - Install the module composer by running
composer require mhinspeya/module-outfitsbundles - Enable the module by running
php bin/magento module:enable MHinspeya_OutfitsBundles - Apply database updates by running
php bin/magento setup:upgrade* - Compile dependency injection by running
php bin/magento setup:di:compile* - Deploy static content by running
php bin/magento setup:static-content:deploy* - Flush the cache by running
php bin/magento cache:flush
Configuration
Navigate to Stores > Configuration > MHinspeya > Outfits & Bundles
General Settings
Outfit Category
- Select the parent category for outfit collections
- All child categories will be used for outfit grouping
Picalike Configuration
Activate Picalike
- Enable/Disable Picalike integration
- Default: Disabled
Picalike API URL
- Enter your Picalike API endpoint
- Example:
https://api.picalike.com/recommend
Picalike Key
- Your Picalike API authentication key
Product Limit
- Maximum number of similar products to fetch
- Default: 10
Display Settings
Button Color
- Hex color code for buttons
- Example:
#000000
Text Color
- Hex color code for button text
- Example:
#FFFFFF
Font Size
- Button font size in pixels
- Recommended: 10px
Letter Spacing
- Button letter spacing in pixels
- Recommended: 2px
Font Family
- Custom font family name
- Example:
avantgarde-gothic-std-regular
CMS Block Management
Create Outfit CMS Blocks
- Click button to generate CMS blocks for all outfit categories
- Automatically creates blocks with category content
Assign Main Page Outfits
- Update the main outfit category landing page
- Select CMS block for outfit main page
Automation
Generate Picalike Automatically
- Enable automatic Picalike data generation via cron
- Runs scheduled tasks to update similar products
Generate Outfit CMS Blocks Automatically
- Enable automatic CMS block generation via cron
Usage
Frontend Display
The module provides two main frontend templates:
Outfit List Template (
outfitspicalikebundles.phtml)- Displays all outfits in a category
- AJAX-based loading
- Error handling for missing outfits
Outfit Detail Template (
outfitdetailtemplate.phtml)- Shows individual outfit with similar products
- Size selection
- Multi-item add to cart
- Stock availability display
Admin Management
Navigate to: Outfits & Bundles > OutfitsBundles Products
Grid Features:
- View all outfit products
- Filter by status, category, product ID
- Bulk actions: Enable/Disable
- Edit individual products
- Position management
Product Fields:
- Product ID
- Main Product ID
- Product Name
- Product Status (Enable/Disable)
- Product Quantity
- Product Price
- Special Price
- Position
Technical Specifications
Database Tables
mhinspeya_outfitsbundles_outfitsbundles_products
- Stores outfit product relationships
- Links main products with similar products
- Manages product metadata (images, prices, status)
mhinspeya_outfitsbundles_outfitsbundles_picalike
- Stores Picalike configuration data
- Manages API responses
Cron Jobs
outfitsbundles_genratepicalike
- Frequency: Configurable
- Function: Fetches Picalike data for all outfit products
- Updates similar product recommendations
outfitsbundles_productdata_cron
- Frequency: Configurable
- Function: Synchronizes product data
- Updates prices, stock, and metadata
Type Safety
The module is fully type-safe with PHP 7.4+ strict typing:
- All method parameters have type declarations
- Return types are explicitly defined
- Proper type casting for database values
- Exception handling with typed exceptions
Attributes
Category Attributes
bundle_product (bundle_product)
- Type: Yes/No
- Scope: Store View
- Used to mark categories as outfit categories
Outfit Images (5 custom image fields)
outfit_image_1throughoutfit_image_5- Type: Image
- Scope: Store View
Vertical Image Outfit (vertical_image_outfit)
- Type: Image
- Scope: Store View
Video URL (videourl)
- Type: Text
- Scope: Store View
- Stores video URL for outfit display
API Endpoints
AJAX Endpoints
Add to Cart
- URL:
/outfitsbundles/ajax/addtocart - Method: POST
- Content-Type: application/json
- Request Body:
{ "addtocart": [ [main_product_id, option_value, super_attribute_id], [main_product_id, option_value, super_attribute_id] ] } - Response:
{ "status": "success|error", "message": "Detailed message", "added_count": 2, "out_of_stock_count": 1, "skipped_count": 0 }
Category Data
- URL:
/outfitsbundles/ajax/category?category_id={id} - Method: GET
- Returns: Category info and main products
Related Products
- URL:
/outfitsbundles/ajax/related?outfitcat_id={id} - Method: GET
- Returns: All outfit products with sizes and pricing
Translations
The module includes complete German translations for:
- de_DE (German - Germany)
- de_AT (German - Austria)
- de_CH (German - Switzerland)
Total translation entries: 119
All user-facing messages are translatable, including:
- Admin interface labels
- Frontend messages
- Error messages
- Success notifications
- Add to cart feedback
Troubleshooting
Common Issues
1. Picalike data not loading
- Verify Picalike configuration is activated
- Check API URL and key are correct
- Review cron job execution logs
- Check
var/log/outfitcollection.log
2. Products not appearing in frontend
- Ensure products are marked as "Enable" in admin grid
- Verify outfit category is correctly configured
- Check product stock status
- Clear cache:
php bin/magento cache:flush
3. Add to cart not working
- Check browser console for JavaScript errors
- Verify AJAX endpoint is accessible
- Ensure products are configurable type
- Check size attributes are properly configured
4. CMS blocks not generating
- Verify outfit category has child categories
- Check admin user permissions
- Review system.log for errors
- Ensure store view is properly configured
5. Type errors after upgrade
- Run:
php bin/magento setup:di:compile - Clear generated files:
rm -rf generated/* - Deploy static content:
php bin/magento setup:static-content:deploy
Debug Mode
Enable debug logging by checking:
var/log/outfitcollection.log- Picalike operationsvar/log/system.log- General errorsvar/log/exception.log- Exception traces
Support
For issues or feature requests, please contact MHinspeya support.
Version: 1.0.0
Magento Compatibility: 2.4.x
PHP Version: 7.4+
License: Proprietary