Hallo zusammen
Bin dabei ein Modul zu schreiben das in der oxuser.php die Klasse _setAutoGroups überschreibt. Dazu habe ich die folgende metadata.php angelegt:
$aModule = array (
'id' => 'vtech_autogrp',
'title' => 'Vendingtechnik | automatische Gruppenzuordnung nach PLZ',
'description' => 'Ordnet Benutzer anhand der PLZ einer bestimmten Benutzergruppe zu.',
'thumbnail' => 'autogroup.png',
'version' => '1.0',
'author' => 'Pasquale Pari',
'url' => 'http://www.vendingtechnik.com',
'email' => '[email protected]',
'extend' => array (
'oxuser' => 'vtech_autogroup/vtech_autogroup',),
'settings' => array
(
array(
'group' => 'main',
'name' => 'vtechGruppe',
'type' => 'str',
'value' => 'b673a96dfe19ed06cded8ede40ba8241',
),
array(
'group' => 'main',
'name' => 'vtechPLZ',
'type' => 'arr',
'value' => '8868','8752'
),
)
);
Die _setAutoGroups habe ich so erweitert (vorheriger Code absichtlich nicht eingefügt…) in der Datei vtech_autogroup.php:
/** prüfen ob automatische Gruppenzuordnung deaktiviert ist,
* falls nicht -> PLZ prüfen und evt. zuordnen... */
if ( !$this->oxuser__oxdisableautogrp->value ) {
$user_gruppe = oxConfig::getInstance()->getConfigParam('vtechGruppe');
$plzGruppe = oxConfig::getInstance()->getConfigParam('vtechPLZ');
$plzRechnung = $this->oxuser__oxzip->value ;
$plzLieferung = $this->oxaddress__oxzip->value ;
foreach ($plzGruppe as $einzelPLZ) {
if ($einzelPLZ == $plzRechnung || $einzelPLZ == $plzLieferung) {
$this->addToGroup($user_gruppe);
}
}
Das Modul kann aktiviert werden und auch die Werte lassen sich in den Modul-Einstellungen eintragen und speichern. Das Modul ordnet jedoch die Kunden mit entsrechender PLZ nicht zur gewünschten Gruppe. Auch wird die PLZ der einer abweichenden Lieferadresse ignoriert. Vielleicht spreche ich ja die Liefer PLZ nur falsch an…
Hat jemand eine Idee wie ich das Modul zum Laufen bringe?
Danke schon zum Voraus für die Mithilfe!
LG Pasquale
