LokiCheckout_DevProfiles

Development

This is an add-on package to the LokiCheckout. It is only a dummy to kickstart new modules easily.

Features

  • Switch profiles: Allow to select a profile in a selectbox and then autofill all values with one HTTP request;

Installation

Install this package via composer (assuming you have setup the composer.yireo.com repository correctly already):

composer require loki-checkout/magento2-dev-profiles

Next, enable this module:

bin/magento module:enable LokiCheckout_DevProfiles

Profile creation

To create a new profile, add a class like the following. The example assumes a module YireoTraining_ExampleLokiCheckoutProfile. Make sure to implement the ProfileInterface.

<?php
declare(strict_types=1);

namespace YireoTraining\ExampleLokiCheckoutProfile\Profile;

use LokiCheckout\DevProfiles\Profile\ProfileInterface;

class JohnDoeProfile implements ProfileInterface
{
    public function getCode(): string
    {
        return 'john_doe';
    }

    public function getLabel(): string
    {
        return 'John Doe';
    }

    public function getAddressValues(): array
    {
        return [
            'firstname' => 'John',
            'lastname' => 'Doe',
        ];
    }

    public function getEmailAddress(): string
    {
        return 'john@example.com';
    }
}

Next, register this profile with a di.xml file:

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="LokiCheckout\DevProfiles\Profile\ProfileListing">
        <arguments>
            <argument name="profiles" xsi:type="array">
                <item name="john_doe_profile" xsi:type="object">YireoTraining\ExampleLokiCheckoutProfile\Profile\JohnDoeProfile</item>
            </argument>
        </arguments>
    </type>
</config>

After refreshing the cache, the new profile should appear in the profile selection box.

Support

For getting support, create an Issue under the following project URL:

https://gitlab.yireo.com/loki-checkout/LokiCheckout_DevProfiles

Loki Components

The following LokiComponents are created or references in this module:

loki-checkout-dev-profiles.profile-switcher
Module Dependencies

The following dependencies are declared in the module its `etc/module.xml` file:

Magento_Checkout Magento_Quote Magento_Store Loki_Components Loki_FieldComponents LokiCheckout_Core
Composer details
Magento module name
LokiCheckout_DevProfiles
Composer name
loki-checkout/magento2-dev-profiles
Composer version
2.0.3
Default branch
main
Requirements
magento/framework: ^103.0
magento/module-checkout: ^100.0
magento/module-quote: ^101.0
magento/module-store: ^101.0
loki/magento2-css-utils: ^1.0
loki/magento2-components: ^2.0
loki-checkout/magento2-core: ^2.0
Releases
dev-main 27 August 2025
2.0.3 21 August 2025
2.0.2 19 August 2025
2.0.1 07 August 2025
2.0.0 22 July 2025
Changelog

[2.0.3] - 21 August 2025

Fixed

  • Add dependency with loki/magento2-css-utils
  • Fix duplicate import
  • Replace LokiComponentsUtilBlockCssClass with LokiCssUtilsUtilCssClass
  • Declare used PHP namespaces
  • Document latest version of template

[2.0.2] - 19 August 2025

Fixed

  • Lower requirements to PHP 8.1
  • Fix A11Y issues

[2.0.1] - 07 August 2025

Fixed

  • Lower PHP requirement to PHP 8.2+

[2.0.0] - 22 July 2025

Fixed

  • Rename PHP namespace from Yireo_Loki* to Loki*
  • Rename composer package from yireo/magento2-loki* to loki/magento2*
  • Bump loki/magento2-components to major 2.0
  • Bump loki/magento2-field-components to major 2.0
  • Bump LokiCheckout_Core to 2.0.0

[1.0.0] - 26 May 2025

Fixed

  • Add France profile
  • Generate new MODULE.json with simple test count
  • Fix additional runs of Playwright tests
  • Allow PHP 8.4 in CI
  • Update composer and module deps

[0.0.3] - 25 April 2025

Fixed

  • Allow upgrading to LokiFieldComponents and LokiCheckout 1.0
  • Remove x-model because of CSP compliance
  • Reduce dependencies with CheckoutState::saveQuote()

[0.0.2] - 16 April 2025

Fixed

  • Move scripts from "before.body.end" to new "loki-scripts" container

[0.0.1] - 08 April 2025

  • Initial release

Last modified: July 22, 2025