Kundenregistrierung nur durch Admin

Hallo zusammen,

ich stehen vor folgendem Problem:
Ich möchte einen B2B-Shop aufbauen. Dabei wäre es schön, wenn icht jeder direkt die Preise sehen würde sondern erst nach erfolgter Registrierung. Allerdings würde ich gerne diese Registrierungen überprüfen und danach von Hand freigeben.

Lösung 1:“Private Sales” ist leider keine Lösung für mich, da die Händler unser Sortiment sehen sollen.

Lösung 2: “Preise erst nach Login sichtbar” klappt soweit. Aaaber… jeder kann sich auf die schnelle registrieren und sehen sofort danach die Preise. Also geht das so auch nicht :frowning:

Ich habe auch versucht das über Benutzergruppen zu lösen. Leider habe ich keine Möglichkeit gefunden in einer Benutzergruppe die Preise auszublenden. So könnte ich die “neuen Kunden” von Hand aus der “blinden” Gruppe in eine “sehende” Gruppe zu verschieben.

Ich freue mich auf Hilfe,

Thomas

Hallo Thomas,

ich würde bei Lösung 2 einen Ansatz suchen. Nun brauchst Du noch eine funktionale Erweiterung, ein Modul, das die gewünschte Freischaltung übernimmt. Administrativ läßt sich das per default nicht lösen.

Gruß

Hi,

vielleicht hilft Dir das weiter:

http://www.marmalade.de/shop/OXID-eShop-Module/Product2Customer-Version-2.html

kontaktiere Joscha und frag ihn ob man das Modul an Deine Anforderungen anpassen könnte.

lg
matux

Hallo zusammen,

@Marco:
die Lösung 2 ist wohl wirklich die bessere. Ich habe eben einen weiteren Ansatz gefunden: Es würde wohl reichen unter “Anmelden” den Link “Konto eröffnen” zu entfernen. So ist es unseren Kunden nicht möglich selbst ein Konto zu erstellen und die ausgeblendeten Preise zu sehen.
“Passwort erstellen” sollte natürlich sichtbar bleiben.
Ist es möglich diesen Link zu entfernen? Wenn ja, wie?
Ich beschäftige mich mit Oxid erst seit ein paar Tagen deshalb fehlt mir ein wenig der Überblick.

@matux:
Vielen Dank für die Info. Ich schau mir das mal an!

Gruß, Thomas

gibt es für das Problem schon eine Lösung?
ich bin aktuell selber auf der Suche nach so einer Lösung. Habe bereits angefangen mit den einzelnen User-Gruppen zu testen, dass die normal registrierten Benutzer zwar die Produkte sehen (mit den für sie bestimmten Preise) aber nicht bestellen können. Wird aber (vermutlich) nicht so einfach lösen sein, ohne programmieren zu müssen oder liege ich da falsch??

Oder gibt es dafür evtl. ein Modul?

Leider brachte mir die Recherche über Google und die Suche hier im Forum auch keine entsprechende Lösung oder Denkanstoß über weiter Ideen oder Hilfestellungen würde ich mich wirklich freuen.

Hi,
ich könnte dir ein Modul bauen, das verhindert, dass sich User registrieren können. Es wäre dann nur über die Adminoberfläche möglich User anzulegen.
Dann kann man die Lösung “Preise erst nach Login sichtbar” verwenden.
Würde das dein Problem lösen?

Grüße
Fabian

Ein Modul das die “registrieren” - Links im Frontend ausblendet? Ist das nicht mit Kanonen auf Spatzen geschossen?

Das Modul würde nicht den Link ausblenden. Wenn du den Link kennst, kannst du ihn ja trotzdem aufrufen, auch wenn er im Shop nicht da ist.
Das Modul ändert die Funktionalität der Registrierung. Übers Frontend würde die Methode nicht mehr aufgerufen werden dürfen. Nur wenn die Methode über den Admin aufgerufen wird, funktioniert das Anlegen eines Kunden.
Nur fürs Link entfernen braucht man ja kein Modul.

Grüße
Fabian

Hallo,

schau dir mal die core/smarty/plugins/block.oxhasrights.php an.
Diese könnte man wie folgt abändern (bei Shop Updates darauf achten, dass die Änderung ggf. verschwinden können):

function smarty_block_oxhasrights( $params, $content, &$smarty, &$repeat )
{
    static $oUser = null;
    static $blIsUser = null;
    
    if ($oUser === null) {    
       $oUser = oxNew( 'oxuser' );
       $blIsUser = $oUser->loadActiveUser();
    }

    if ($params['ident'] == 'TOBASKET' && $blIsUser && $oUser->inGroup('oxiddealer')) {
        return $content;
    }
    
    switch ($params['ident']) {
        case 'TOBASKET':
            return '';
        default:
            return $content;
            
    } 
}

Was es bewirkt:
Die Bestellmöglichkeit wird im Template ausgeblendet, wenn der Nutzer nicht eingeloggt ist oder wenn er eingeloggt ist, sich aber nicht in der Händlergruppe befindet.

Darauf aufbauend könnte man es auch auf die Preise etc. ausweiten.

Viele Grüße
Benny

Hallo Benny,

ich werde es mir morgen gleich mal anschauen. Klingt ja genau so wie ich es haben muß :slight_smile:

besten dank erstmal ich melde mich morgen nochmal mit dem Ergebnis.