Bedienungsanleitung Modul-Funktionen
Frontend-Validierung von Adressen im Checkout
-
Navigieren Sie zu TechDivision >> Account/Cart/Checkout >> Postcode Validator
-
Aktivieren Sie das Modul über die Konfiguration
Enabled
-
Aktivieren Sie die Valdierungsfunktion für Lieferadressen im Checkout
Enabled for Shipping
-
Aktivieren Sie die Valdierungsfunktion für Rechnungsadressen im Checkout
Enabled for Billing
-
-
Im Checkout werden nun frontend-seitig (Javascript) die Liefer- und Rechnungsadressen nach den hinterlegten Standard-Validierungen (Regexp) geprüft
Lieferadresse Rechnungsadresse
Es handelt sich bei dieser Einstellung um eine reine frontend-seitige Prüfung (JS). Wir empfehlen außerdem die Einstellung |
Frontend-Ausschluss von Adressen im Checkout
-
Navigieren Sie zu TechDivision >> Account/Cart/Checkout >> Postcode Validator
-
Aktivieren Sie das Modul über die Konfiguration
Enabled
-
Aktivieren Sie die Valdierungsfunktion für Lieferadressen im Checkout
Enabled for Shipping
-
Aktivieren Sie die Valdierungsfunktion für Rechnungsadressen im Checkout
Enabled for Billing
-
-
Hinterlegen Sie ein Ausschlusskriterium für Postleitzahlen in einem gewünschten Land (hier Deutschland)
-
Im Checkout werden nun frontend-seitig (Javascript) die Liefer- und Rechnungsadressen geprüft und auch gegen Ausschlusskriterien validiert
Wurde die Validierung für andere Bereiche aktiviert, so werden auch hier Adressen gegen Ausschlusskriterien validiert |
Frontend-Validierung von Adressen im Kundenbreich
-
Navigieren Sie zu TechDivision >> Account/Cart/Checkout >> Postcode Validator
-
Aktivieren Sie das Modul über die Konfiguration
Enabled
-
Aktivieren Sie die Valdierungsfunktion für das Adressbuch im Kundenbreich
Enabled for Addressbook
-
-
Im Adressbuch des Kundenbereichs werden nun frontend-seitig (Javascript) Adressspeicherungen geprüft
Sind Ausschlusskriterien definiert, so werden auch diese hier überprüft. |
Backend- und Request-Validierungen von Adressen
Über die Modulkonfiguration können auch Backend- oder Server-Requests, welche Adressspeicherung nach sich ziehen, gegen die hinterlegten Validierungs- und Ausschluss-Regexp geprüft werden. Dies empfiehlt sich vor allem, wenn über Drittsysteme Kundenverwaltungen oder Bestellabschlüsse stattfinden.
Frontend-Validierung von Firmen-Adressen (B2B-Feature)
Ab Version 2.2.0 unterstützt das Modul auch die Validierung von Firmenadressen im Zusammenhang mit dem Magento-B2B-Feature.
-
Navigieren Sie zu TechDivision >> Account/Cart/Checkout >> Postcode Validator
-
Aktivieren Sie das Modul über die Konfiguration
Enabled
-
Aktivieren Sie die Valdierungsfunktion für Lieferadressen im Checkout
Enabled for company create and edit (B2B)
-
-
Auf den Frontend-Formularen zur Anlage und zur Bearbeitung von Firmen werden nun frontend-seitig (Javascript) die Adressen nach den hinterlegten Standard-Validierungen (Regexp) geprüft
Es handelt sich bei dieser Einstellung um eine reine frontend-seitige Prüfung (JS). |
Backend-Validierung von Firmen-Adressen (B2B-Feature) / Code-Änderung
Ab Version 2.2.0 unterstützt das Modul auch die Validierung von Firmenadressen im Zusammenhang mit dem Magento-B2B-Feature. Die Validierung ist rein frontendseitig (Javascript). Mit einer kleinen Code-Anpassung kann die Validierung auch backendseitig im PHP-Code aktiviert werden.
Leider kann die Codeanpassung nicht ins Modul integriert werden, da Magento-Commerce bzw. das Magento-B2B-Feature installationstechnisch vorausgesetzt werden.
Implementierung SaveValidator
Es soll eine Klasse implementiert werden, welche das SaveValidatorInterface verwendet.
<?php
/**
* Copyright (c) 2021 TechDivision GmbH <info@techdivision.com> - TechDivision GmbH
* All rights reserved
*
* This product includes proprietary software developed at TechDivision GmbH, Germany
* For more information see http://www.techdivision.com/
*
* To obtain a valid license for using this software please contact us at
* license@techdivision.com
*/
namespace TechDivision\PostCodeValidator\Model\SaveValidator;
use Magento\Company\Api\Data\CompanyInterface;
use Magento\Company\Model\SaveValidatorInterface;
use TechDivision\PostCodeValidator\Helper\Config;
/**
* @copyright Copyright (c) 2021 TechDivision GmbH <info@techdivision.com> - TechDivision GmbH
* @link http://www.techdivision.com/
* @author MET <met@techdivision.com >
*/
class CompanyPostcode implements SaveValidatorInterface
{
/** @var CompanyInterface */
private $company;
/** @var Config */
private $config;
/**
* @param CompanyInterface $company
* @param Config $config
*/
public function __construct(
CompanyInterface $company,
Config $config
) {
$this->company = $company;
$this->config = $config;
}
/**
* @inheritdoc
*/
public function execute()
{
if (
$this->config->isModuleEnabled() &&
$this->config->isValidationEnabledForB2B() &&
$this->config->isValidationEnabledForControllers()
) {
$this->config->validatePostCodes(
$this->company->getPostcode(),
$this->company->getCountryId()
);
}
}
}
Registrierung Validator
Die implementierte Klasse muss via DI im SaveValidatorPool angemeldet werden.
<?xml version="1.0"?>
<!-- ****** -->
<!-- di.xml -->
<!-- ****** -->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Company\Model\SaveValidatorPool">
<arguments>
<argument name="validators" xsi:type="array">
<item name="postCode" xsi:type="string">\TechDivision\PostCodeValidator\Model\SaveValidator\CompanyPostcode</item>
</argument>
</arguments>
</type>
</config>