All Projects → robaimes → module-checkout-designs

robaimes / module-checkout-designs

Licence: other
Allow multiple options for Magento 2 checkout layout. Provides capabilities to AB test checkout changes and more.

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to module-checkout-designs

module-blog-sample-data
Sample data for Magento 2 blog extension
Stars: ✭ 15 (-46.43%)
Mutual labels:  magento2, magento2-extension, magento2-module, magento2-extension-free, magento2-module-free
module-translation
magefan.com/magento-2-translation-extension
Stars: ✭ 35 (+25%)
Mutual labels:  magento2, magento2-extension, magento2-module, magento2-extension-free, magento2-module-free
module-login-as-customer
Allows admin to login as a customer (enter to customer account).
Stars: ✭ 104 (+271.43%)
Mutual labels:  magento2, magento2-extension, magento2-module, magento2-extension-free, magento2-module-free
module-dsu
No description or website provided.
Stars: ✭ 18 (-35.71%)
Mutual labels:  magento2, magento2-extension, magento2-module, magento2-extension-free, magento2-module-free
module-blog-comments-recaptcha
module-blog-comments-recaptcha
Stars: ✭ 17 (-39.29%)
Mutual labels:  magento2, magento2-extension, magento2-module, magento2-extension-free, magento2-module-free
module-notifications
Notify the Magento 2 admin user about disabled caches or new customer reviews.
Stars: ✭ 20 (-28.57%)
Mutual labels:  magento2, magento2-extension, magento2-module, magento2-extension-free, magento2-module-free
module-lazyload
magefan.com/magento-2-image-lazy-load-extension
Stars: ✭ 47 (+67.86%)
Mutual labels:  magento2, magento2-extension, magento2-module, magento2-extension-free, magento2-module-free
magento-2-layered-navigation
Magento 2 Layered Navigation extension Free optimizes the navigation process, redirects users to product catalog pages, and makes finding products easier
Stars: ✭ 16 (-42.86%)
Mutual labels:  magento2, magento2-extension, magento2-module, magento2-extension-free, magento2-module-free
module-catalog
Fixes for some known Magento 2 issues in Catalog
Stars: ✭ 23 (-17.86%)
Mutual labels:  magento2, magento2-extension, magento2-module, magento2-extension-free, magento2-module-free
magento-2-mega-menu
Mageno 2 Mega Menu (Magicmenu) helps you create neat and smart navigation menus to display the main categories on your website.
Stars: ✭ 33 (+17.86%)
Mutual labels:  magento2, magento2-extension, magento2-module, magento2-extension-free, magento2-module-free
module-wysiwyg-advanced
Extend TinyMCE 4 & 5 tools in Magento 2
Stars: ✭ 60 (+114.29%)
Mutual labels:  magento2, magento2-extension, magento2-module, magento2-extension-free, magento2-module-free
magento-2-security
Magento 2 Security extension FREE. Security extension gives store owners the ability to detect the IP addresses that are intentionally attacking their store at any given time. Therefore, they have timely measures to prevent this issue such as blocking those IP addresses or sending warning emails to store owners.
Stars: ✭ 40 (+42.86%)
Mutual labels:  magento2, magento2-extension, magento2-module, magento2-extension-free, magento2-module-free
module-dsu-client
No description or website provided.
Stars: ✭ 17 (-39.29%)
Mutual labels:  magento2, magento2-extension, magento2-module, magento2-extension-free, magento2-module-free
Dev-Tools-Magento-2-Module
A collection of utilities meant to improve the experience of developing modules for Magento without breaking existing functionality.
Stars: ✭ 18 (-35.71%)
Mutual labels:  magento2, magento2-extension, magento2-module, magento2-extension-free, magento2-module-free
module-blog-m22
Fixes for Blog on Magento 2.2.x
Stars: ✭ 21 (-25%)
Mutual labels:  magento2, magento2-extension, magento2-module, magento2-extension-free, magento2-module-free
magento-2-infinite-scroll
Magepow Infinite Scroll extension Free hepls website loading content and products without reloading page
Stars: ✭ 17 (-39.29%)
Mutual labels:  magento2, magento2-extension, magento2-module, magento2-extension-free, magento2-module-free
module-conflict-detector
magefan.com/magento2-conflict-detector
Stars: ✭ 40 (+42.86%)
Mutual labels:  magento2, magento2-extension, magento2-module, magento2-extension-free, magento2-module-free
module-geoip
Detect Country by IP in Magento 2
Stars: ✭ 51 (+82.14%)
Mutual labels:  magento2, magento2-extension, magento2-module, magento2-extension-free, magento2-module-free
magento-2-ajax-cart
Magento 2 Ajax Cart allows customers to add products to cart right on the current window without having to redirect to another page. Completely reduce redirect wait times and improve the shopping experience.
Stars: ✭ 16 (-42.86%)
Mutual labels:  magento2, magento2-extension, magento2-module, magento2-extension-free, magento2-module-free
clean-admin-menu
Magento 2 Extension to cleanup admin menu and Store > Configuration area by arranging third party extension items.
Stars: ✭ 101 (+260.71%)
Mutual labels:  magento2, magento2-extension, magento2-module, magento2-extension-free

Aimes_CheckoutDesigns

"Supported Magento Version" "Latest Release"

  • Compatible with Magento Open Source and Adobe Commerce 2.3.x & 2.4.x
  • Compatible with Hyvä Themes using the Luma Checkout Fallback

Features

This module provides the ability to change checkout page designs/layout similar to page specific selectable layouts.

The module currently provides the following functionality:

  • Provide a different checkout user experience per store
  • Provide a different checkout user experience per customer group
Example Config

Example Config

This in turn will allow you to do things such as, but not limited to, the following:

Please note: These are only examples of functionality that this module makes possible. This module itself does not provide any additional functionality and serves only as a base for other modules. For example usage, please see Aimes_CheckoutDesigns.

  • AB Testing any checkout changes
  • Something broken or users can't checkout with a specific design? Select a different design or the default Magento checkout so that users can still checkout until you can deploy your fixed code.
  • Collect different data per design to help determine any issues
    • Track the different drop-off points
    • Track conversion rates

Any feature requests and/or pull requests are welcomed!

Requirements

  • Magento Open Source or Adobe Commerce version 2.3.x or 2.4.x

Installation

Please install this module via Composer. This module is hosted on Packagist.

  • composer require aimes/module-checkout-designs
  • bin/magento module:enable Aimes_CheckoutDesigns
  • bin/magento setup:upgrade

Usage

Step 1: Define new checkout layout

di.xml

<virtualType name="Vendor\Module\Model\Checkout\Design\MyDesign"
             type="Aimes\CheckoutDesigns\Model\CheckoutDesign">
    <arguments>
        <argument name="code" xsi:type="string">my_design_code</argument>
        <argument name="name" xsi:type="string">My Design Name</argument>
        <argument name="layoutHandle" xsi:type="string">my_design_layout_handle</argument>
        <argument name="layoutProcessors" xsi:type="array">
            <item name="defaultProcessor" xsi:type="object">
                <!-- Object must implement \Magento\Checkout\Block\Checkout\LayoutProcessorInterface -->
            </item>
        </argument>
        <argument name="configProviders" xsi:type="array">
            <item name="defaultProvider" xsi:type="object">
                <!-- Object must implement \Magento\Checkout\Model\ConfigProviderInterface -->
            </item>
        </argument>
    </arguments>
</virtualType>

Explanation

  • Designs must implement \Aimes\CheckoutDesigns\Api\CheckoutDesignInterface
    • code is a unique string identifier for your design
    • name is a string to represnt the frontend / human friendly label
    • layoutHandle is a string to represent the layout handle that will be processed when the design is in use. The above would include my_design_layout_handle.xml
    • layoutProcessors is an array of objects that will only be processed when the associated design is utilised
      • Items must implement \Magento\Checkout\Block\Checkout\LayoutProcessorInterface
    • configProviders is an array of objects that will only be processed when the associated design is utilised
      • Items must implement \Magento\Checkout\Model\ConfigProviderInterface

Example code

For working code examples, please refer to Aimes_CheckoutDesignsExample. This package can also be installed.

Step 2: Add your design to the available options

di.xml

<type name="Aimes\CheckoutDesigns\Model\Config\Source\CheckoutDesigns">
    <arguments>
        <argument name="designs" xsi:type="array">
            <item name="my_design" xsi:type="object">
                Vendor\Module\Model\Checkout\Design\MyDesign
            </item>
        </argument>
    </arguments>
</type>

Step 3: Select design

Your design should now show up as an option in the system configuration below:

Sales -> Checkout -> Design / Layout -> Checkout Design

  • Select the default design
  • Select specific designs per customer groups

Licence

GPLv3 © Rob Aimes

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].