Frontend - Registrierung

Hallo

habe viel gesucht und auch gefunden jedoch nicht das was ich benötige.
Kurz die Aufgabenstellung, es soll bei der Registrierung ein hiddenfeld eingefügt werden, dass den Registrierenden einer Kundengruppe zuordnet.
Idee: Nur bei Besuchern die über eine Subdomain (meinfreund.domain.de) auf die Registrierungsseite kommen soll dieses hiddenfeld aktiv sein. Ein Cronjob könnte dann die so markierten Besucher auf akzeptiert stellen.

Mein Problem: ich bekomme es nicht hin die url im template auzulesen, wenn ich das hinbekomme müsste ich die URL als Variable speichern und über explode herausfinden ob das ein meinfreund ist.

Auch bekomme ich es nicht hin, eine smartyfunction zu integrieren. entweder es gibt einen fehler oder die ganze deklaration wird mir ausgegeben.

Auch: Shopware_Models_Admin_SaveRegisterMainData_FilterSql hier wäre es auch denkbar…nur finde ich die Function/Datei nicht, so könnte ich dort über php den host und alles abfragen und das hiddenfeld wenn dann die url stimmt in die db schreiben. ging auch.
http://forum.shopware.com/discussion/35987/hook-hook-registrierung-nach-abschluss-registrierung-funktioniert-nicht

Aber vieleicht gibt es ja noch eine elegantere Lösung?

ich glaube als hiddenfeld wurde folgendesc sich anbieten register[billing][text1] …oder? gibt es auch register[personal][text1] ?

Beste Grüße
Robert

Hey clubbasic,
assign doch einfach eine Variable aus der View die bestimmt ob das hidden-Feld angezeigt wird oder nicht :wink:

Grüße,
Simon

1 „Gefällt mir“

hallo Simon

ja…aber wie bekomme ich das hin…wie gesagt meine variable wäre die subdomain
über {config name=host} bekomme ich die subdomain

dann

{$string ={config name=host} } ... geht ja wohl schlecht.. ich müsste also die {config name=host} in einer variable speichern aber wie geh ich da ran
{$array = ","|explode:$string}

{forearch $array as $item}
 {$item = ":"|explode:$item}
 if($item.0 == meinfreund) hiddenfeld
{/forearch}

gruss

Hey clubbasic,

schreib die Logik in den Controller. So z.B.:

Controllerlogik:

//Irgendwie die Domain bekommen
$host = ['bla', 'meinfreund'];

if (in_array('meinfreund', $host)) {
    $this->view->assing('displayHiddenInputField', true);
} else {
    $this->view->assign('displayHiddenInputField', false);
}

Viewlogik:  

{if $displayHiddenInputField}
    
{/if}

Ist kein getester Code, nur ein Ansatz.

Gruß,
Simon

1 „Gefällt mir“

Hallo

meinst du controller /engine/Shopware/Controllers/Frontend/Register.php
class Shopware_Controllers_Frontend_Register extends Enlight_Controller_Action…aber hier wird ja nur Validates geprüft
oder dann doch besser
controller /engine/Shopware/Controllers/Frontend/Forms.php

ist dann aber nicht mehr wirklich updated korrekt oder?

gruss aus berlin

Hey,
du musst dich auf das passende Event registrieren und deine eigene View hinzufügen (für die Shopware_Controllers_Frontend_Register) :

Enlight_Controller_Action_PostDispatchSecure_Frontend_Register

Da gibst du dann in deiner Callback-Methode die Template Dateien an. 

Hier findest du ein Beispiel:
Plugin quick Startup Guide

Grüße,
Simon

1 „Gefällt mir“

Hallo Simon

entschuldige das ich mich hier so blöd anstelle…also ich komme um ein minmal-plugin nicht rum…oder?
kann ich dies als grundlage verwenden Plug-ins mit Shopware

public function install() {

``$this->subscribeEvent(

'

Enlight_Controller_Action_PostDispatchSecure_Frontend_Register

',

``'onPostDispatchIndex'

``);

``return true;

}

@clubbasic schrieb:

Hallo Simon

entschuldige das ich mich hier so blöd anstelle…also ich komme um ein minmal-plugin nicht rum…oder?
kann ich dies als grundlage verwenden https://entwickler.de/online/plug-ins-mit-shopware-136968.html

public function install() {

``$this->subscribeEvent(

'

Enlight_Controller_Action_PostDispatchSecure_Frontend_Register

',

``'onPostDispatchIndex'

``);

``return true;

}

Hallo,

warum nutzt du nicht einfach die Beispiel-Plugins von Shopware selbst? Siehe Simons Beitrag (Plugin quick Startup Guide) oder alles unten im Bereich „Backend and ExtJS resources“ hier: Developer Guides . Und der Plugin Quick Start Guide hat ansich auch den gleichen Aufbau wie dein Link - nur in Englisch.

Dein „Grundlagen“-Link würde ich lieber nicht benutzen, da er sich noch auf Shopware 4 bezieht (seit Shopware 5 soll man unter anderem $view->extendsTemplate nicht mehr nutzen).

Beste Grüße

Sebastian

1 „Gefällt mir“

Danke für Eure tolle Unterstützung