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.

Maintainers

Package info

git.modehaus.de/hyvae/outfitbundles

Homepage

Type:magento2-module

pkg:composer/mhinspeya/outfitbundles

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

1.0.2 2026-03-30 10:37 UTC

This package is not auto-updated.

Last update: 2026-03-30 10:50:51 UTC


README

``mhinspeya/module-outfitsbundles``

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
  • 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:

  1. Outfit List Template (outfitspicalikebundles.phtml)

    • Displays all outfits in a category
    • AJAX-based loading
    • Error handling for missing outfits
  2. 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_1 through outfit_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 operations
  • var/log/system.log - General errors
  • var/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