Contao-Camp 2024
Ergebnis 1 bis 10 von 10

Thema: Mitgliedergruppen Vergabe per Formular oder Katalog oder Inserttag

  1. #1
    Contao-Fan Avatar von izanagi
    Registriert seit
    19.01.2011.
    Ort
    Köln
    Beiträge
    595

    HTML Mitgliedergruppen Vergabe per Formular oder Katalog oder Inserttag

    Die Mitgliedergruppen Vergabe automatisieren und für Formulare sowie Catalog Interaktionen nutzen

    Die Mitgliedergruppen Funktion in Contao ist wirklich ein feine Sache. Wenn man sie noch flexibler gestalten könnte,
    würden man noch mehr nette Features umsetzen können.

    Beispiel:
    Ein neuer User bekommt die Gruppe "Neuling" und "Mitglied"
    Alle Neulinge sehen speziell für sie eingerichtete Werbeinfos/Funktion/Anmelde-infos
    Zudem haben Neulinge nicht gleich vollen Zugang.

    Meldet er sich für einen Newsletter oder Bewirbt sich über ein Formular, oder erstellen sein eigenes Karteprofil über den Katalog,
    so kann er die Gruppe "vip" erlangen und verliert den Status "neuling".
    Dadurch verändert sich für ihn die Website und die Zugangsberechtigung.

    Ein anderer User registriert sich als "Partner" und bekommt erweiterte Berechtigungen,
    soll aber auch seinen Account umwandeln können zu ein Normales Mitglied.

    Ein Käufer soll nach Teilnahme an einem Gewinnspiel besondere Produkte sehen können......

    Um diese Vielfalt nutzen zu können habe ich ein Script geschrieben das über einen Hook gestartet wird.


    HINWEIS: Bitte keine Experimente auf produktiven Plattformen. Immer brav im Sandkasten testen. Ich übernehme keine Garantie für etwaige Schäden

    FORMULAR(GENERATOR) GRUPPENZUWEISUNG

    Für die Identifizierung habe ich ein verstecktes Feld angelegt mit Namen "dex" zum hinzufügen einer Gruppe
    und(oder) ein Feld mit namen "kil" zum entfernen einer Gruppe.
    Dem versteckten Feld gibt ihr einen echten Wert und einen eigenen Sicherheitscode ein.
    Das Script überprüft anhand einer Formel ob der Sicherheitscode gleich dem echten Wert ist.
    Der Ausdruck sieht so aus "id*cz#####"
    In das Sternchen kommt die echte ID der Mitgliedergruppe und die Raute bekommt den Sicherheitscode.
    Den Code errechnet ihr euch selbst indem ihr die Formel benutzt:
    FORMEL zum manuellen codieren ((x * 15) + 344) * 23;

    Beispiel für Gruppe ID 8: 8*15=120 +344=464 *23=10672
    Unser Wert für HIDDEN Feld ist also "id8cz10672"
    Bei manipulationsversuche wird das Script also nicht ausgeführt.
    Die Formel und alles, könnt ihr natürlich selbst ändern.

    Würde ich ein Anmeldeformular nun um das HIDDEN Feld "dex" mit Wert "id8cz10672" erweitern,
    so wird der User nach abschicken die Gruppenzuweisung mit id 8 bekommen.
    Gebe ich ein HIDDEN Feld "kil" mit Wert "id8cz10672"
    so wird dem User nach abschicken die Gruppenzuweisung ID 8 entzogen





    CATALOG GRUPPENZUWEISUNG

    Hier ebenfalls ein HIDDEN Feld anlegen. Bis dato ist mir nicht bekannt das es im Katalog eins gibt, daher folgendes:

    Unter modules/catalog/templates/
    befindet sich das catalog_edit.xyz Template das ihr modifiziert oder euch erstmal eine Kopie davon anlegt.
    Im Template setzt ihr unter dem hidden REQUEST_TOKEN ein neues Hidden Feld

    PHP-Code:
    <input type="hidden" value="id8cz10672" name="dex"/> 
    Das neue Template dann auch im CatalogEdit Modul auswählen.




    Jetzt zum Eigentlichen...
    unter modules/ legt ihr einen neuen Ordner an zb. "eigenefunktionen"
    Jetzt erstellt eine "Extrafunktionen.php" mit folgedem Inhalt


    PHP-Code:
    <?php if (!defined('TL_ROOT')) die('You can not access this file directly!');

    /**
     * TYPOlight webCMS
     *
     * The TYPOlight webCMS is an accessible web content management system that
     * specializes in accessibility and generates W3C-compliant HTML code. It
     * provides a wide range of functionality to develop professional websites
     * including a built-in search engine, form generator, file and user manager,
     * CSS engine, multi-language support and many more. For more information and
     * additional TYPOlight applications like the TYPOlight MVC Framework please
     * visit the project website https://contao.org.
     *
     * This is not a complete extension. Its only a little Script for group assignment over form submitted and catalog edited
     * Script powered by www.mediadistrict.de 
     * PHP version 5
     * @copyright  MediaDistrict e.K.
     * @author     Marco Groß
     * @package    
     * @license    free for all :) 
     * @filesource this file only
     */
    class Extrafunktionen extends Frontend
    {
        public function 
    gruppenzuweisung($arrPost$arrForm$arrFiles){

            
    /////////////////////////////////////////// Automatische Gruppenzuweisung BEGINN    
            
    $this->import('FrontendUser','user');
            
    $user_id $this->user->id;  
            
    $this->import('FrontendUser''Member');
            
    $ok 0;$okkill 0;
            
    $addgroup_id = array();$killgroup_id = array();
            
    // Beispiel Code id2cz8602   = ID 2 ok
            // Beispiel Code id2cz7489   = ID 2 fail
            // FORMEL zum manuellen codieren ((x * 15) + 344) * 23;
            // FORMEL zum auto decodieren ((x / 23) - 344) / 15;
            
            
    if ($arrPost["dex"] && $arrPost["dex"] != ""){// muss Hiddenfeld haben
                    
    $inhalt $arrPost["dex"];
                    
    $alle explode("&"$inhalt);
                    
    $idnumber = array();
                    
    $codenumber = array();
                    for (
    $next 0$next <= count($alle)-1$next++){
                        
    $zeichen preg_split('/[id.cz]/'$alle[$next], -1);
                        
    $newarray = array();
                        for (
    $x 0$x <= count($zeichen)-1$x++){//neuen Index
                            
    if($zeichen[$x]!=''){
                            
    array_push($newarray$zeichen[$x]);
                            } 
                        }
                        
                        
    $idnumber[$next] = $newarray[0];
                        
    $codenumber[$next] = $newarray[1];
                        
    $codenumber[$next] = (($codenumber[$next] / 23) - 344) / 15;// Sicherheitscode dekodieren
                        
    if ($codenumber[$next] == floor($codenumber[$next]) && $codenumber[$next] == $idnumber[$next]){// muss ganze Zahl sein und mit ID übereinstimmen
                            
    $ok 1;
                            
    $addgroup_id[$next] = $idnumber[$next];
                        } 
                    }
                    
    //print_r($codenumber[$next]);
                    
                
            
    }
            
            if (
    $arrPost["kil"] && $arrPost["kil"] != ""){// muss Hiddenfeld haben
                    
    $inhalt $arrPost["kil"];
                    
    $alle explode("&"$inhalt);
                    
    $idnumber = array();
                    
    $codenumber = array();
                    for (
    $next 0$next <= count($alle)-1$next++){
                        
    $zeichen preg_split('/[id.cz]/'$alle[$next], -1);
                        
    $newarray = array();
                        for (
    $x 0$x <= count($zeichen)-1$x++){//neuen Index
                            
    if($zeichen[$x]!=''){
                            
    array_push($newarray$zeichen[$x]);
                            }
                        }
                        
                        
    $idnumber[$next] = $newarray[0];
                        
    $codenumber[$next] = $newarray[1];
                        
    $codenumber[$next] = (($codenumber[$next] / 23) - 344) / 15;// Sicherheitscode dekodieren
                        
    if ($codenumber[$next] == floor($codenumber[$next]) && $codenumber[$next] == $idnumber[$next]){// muss ganze Zahl sein und mit ID übereinstimmen
                            
    $okkill 1;
                            
    $killgroup_id[$next] = $idnumber[$next];
                        }
                    }
            }


            
    $memberGroups $this->Member->groups;
            for (
    $addit 0$addit <= count($addgroup_id)-1$addit++){//neuen Index
                    // ---------------- neuer Gruppe zuweisen ---------------------------------
                     
    if ($ok == && !in_array($addgroup_id[$addit], $this->Member->groups)){//wenn nicht schon vorhanden
                      
    $memberGroups[] = $addgroup_id[$addit];//array push

                     
    }
            }
            for (
    $killit 0$killit <= count($killgroup_id)-1$killit++){//neuen Index
                    // ---------------- Gruppe entfernen ---------------------------------
                    
    $this->import('FrontendUser''Member');
                    if (
    $okkill == && in_array($killgroup_id[$killit], $this->Member->groups)){//wenn vorhanden
                        
    $key array_search($killgroup_id[$killit], $memberGroups);// gesuchte Element killen
                        
    unset($memberGroups[$key]);// Entfernt das gekillte Arrayelement um Index neu aufzubauen
                        
    $memberGroups array_values($memberGroups);// Array mit fortlaufendem Index erzeugen um Lücken zu entfernen
                    
    }
            }
            
            if (
    $ok == || $okkill == 1){// Tabelle beschreiben
                
    $group_ids serialize($memberGroups); 
                
    $this->Database->prepare("UPDATE tl_member SET groups = ? WHERE id = ?")->execute($group_ids$user_id); 
            }
            
    ///////////////////////////////////////// Automatische Gruppenzuweisung ENDE

        
    }
        
        public function 
    gruppenzuweisungcat(){
        
        
                    
    /////////////////////////////////////////// Automatische Gruppenzuweisung BEGINN    
            
    $this->import('FrontendUser','user');
            
    $user_id $this->user->id;  
            
    $this->import('FrontendUser''Member');
            
    $ok 0;$okkill 0;
            
    $addgroup_id = array();$killgroup_id = array();
            
    // Beispiel Code id2&cd8602   = ID 2 ok
            // Beispiel Code id2&cd7489   = ID 2 fail
            // FORMEL zum manuellen codieren ((x * 15) + 344) * 23;
            // FORMEL zum auto decodieren ((x / 23) - 344) / 15;
            
            
    if ($_REQUEST["dex"]  && $_REQUEST["dex"]  != ""){// muss Hiddenfeld haben
                    
    $inhalt $_REQUEST["dex"];
                    
    $alle explode("&"$inhalt);
                    
    $idnumber = array();
                    
    $codenumber = array();
                    for (
    $next 0$next <= count($alle)-1$next++){
                        
    $zeichen preg_split('/[id.cz]/'$alle[$next], -1);
                        
    $newarray = array();
                        for (
    $x 0$x <= count($zeichen)-1$x++){//neuen Index
                            
    if($zeichen[$x]!=''){
                            
    array_push($newarray$zeichen[$x]);
                            } 
                        }
                        
                        
    $idnumber[$next] = $newarray[0];
                        
    $codenumber[$next] = $newarray[1];
                        
    $codenumber[$next] = (($codenumber[$next] / 23) - 344) / 15;// Sicherheitscode dekodieren
                        
    if ($codenumber[$next] == floor($codenumber[$next]) && $codenumber[$next] == $idnumber[$next]){// muss ganze Zahl sein und mit ID übereinstimmen
                            
    $ok 1;
                            
    $addgroup_id[$next] = $idnumber[$next];
                        } 
                    }
                    
    //print_r($codenumber[$next]);
                    
                
            
    }
            
            if (
    $_REQUEST["kil"] && $_REQUEST["kil"]  != ""){// muss Hiddenfeld haben
                    
    $inhalt $_REQUEST["kil"];
                    
    $alle explode("&"$inhalt);
                    
    $idnumber = array();
                    
    $codenumber = array();
                    for (
    $next 0$next <= count($alle)-1$next++){
                        
    $zeichen preg_split('/[id.cz]/'$alle[$next], -1);
                        
    $newarray = array();
                        for (
    $x 0$x <= count($zeichen)-1$x++){//neuen Index
                            
    if($zeichen[$x]!=''){
                            
    array_push($newarray$zeichen[$x]);
                            }
                        }
                        
                        
    $idnumber[$next] = $newarray[0];
                        
    $codenumber[$next] = $newarray[1];
                        
    $codenumber[$next] = (($codenumber[$next] / 23) - 344) / 15;// Sicherheitscode dekodieren
                        
    if ($codenumber[$next] == floor($codenumber[$next]) && $codenumber[$next] == $idnumber[$next]){// muss ganze Zahl sein und mit ID übereinstimmen
                            
    $okkill 1;
                            
    $killgroup_id[$next] = $idnumber[$next];
                        }
                    }
            }


            
    $memberGroups $this->Member->groups;
            for (
    $addit 0$addit <= count($addgroup_id)-1$addit++){//neuen Index
                    // ---------------- neuer Gruppe zuweisen ---------------------------------
                     
    if ($ok == && !in_array($addgroup_id[$addit], $this->Member->groups)){//wenn nicht schon vorhanden
                      
    $memberGroups[] = $addgroup_id[$addit];//array push

                     
    }
            }
            for (
    $killit 0$killit <= count($killgroup_id)-1$killit++){//neuen Index
                    // ---------------- Gruppe entfernen ---------------------------------
                    
    $this->import('FrontendUser''Member');
                    if (
    $okkill == && in_array($killgroup_id[$killit], $this->Member->groups)){//wenn vorhanden
                        
    $key array_search($killgroup_id[$killit], $memberGroups);// gesuchte Element killen
                        
    unset($memberGroups[$key]);// Entfernt das gekillte Arrayelement um Index neu aufzubauen
                        
    $memberGroups array_values($memberGroups);// Array mit fortlaufendem Index erzeugen um Lücken zu entfernen
                    
    }
            }
            
            if (
    $ok == || $okkill == 1){// Tabelle beschreiben
                
    $group_ids serialize($memberGroups); 
                
    $this->Database->prepare("UPDATE tl_member SET groups = ? WHERE id = ?")->execute($group_ids$user_id); 
            }
            
    ///////////////////////////////////////// Automatische Gruppenzuweisung ENDE


        
    }
    }

    zur Hölle ich muss das hier erwähnen bei der eigenen Funktion darf es in der PHP kein Close Tag geben. Das "?>" darf hier am Ende nicht stehen. Es hat mich einen blöden Nachmittag gekostet das zu erfahren *grml*

    Kurz zur Erläuterung
    Die "gruppenzuweisung" Funktion ist für das abschicken von Formulardaten
    Die "gruppenzuweisungcat" Funktion ist eine seperate für das abschicken von Katalog(item)daten, da es von der ContaoCore Routine nicht erfasst wird.




    Zum Schluß müssen wir nur noch festlegen wann und wo wir diese Funktion abfrufen möchten.

    Im Ordner system/config/
    die Datei dcaconfig.php bearbeiten und folgendes einsetzen:

    PHP-Code:
    $GLOBALS['TL_HOOKS']['processFormData'][] = array('Extrafunktionen''gruppenzuweisung');
    //$GLOBALS['TL_HOOKS']['catalogFrontendUpdate'][] = array('Extrafunktionen', 'gruppenzuweisungcat');
    $GLOBALS['TL_HOOKS']['catalogFrontendInsert'][] = array('Extrafunktionen''gruppenzuweisungcat'); 
    In diesem Beispiel wird unsere Funktion nach dem Abschicken eines Formulars ausgeführt und nachdem der User (im FE) einen neuen KatalogItem erstellt hat.


    Danke fürs Lesen. Und viele Grüße.
    Geändert von izanagi (15.05.2014 um 13:54 Uhr)

  2. #2
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo izanagi,
    vielen Dank für das Tutorial!

    Wäre schön, wenn du das ins Wiki bringen könntest. Hier im Forum geht sowas leider immer unter...
    http://de.contaowiki.org/Kategorie:Catalog

    MIr fallen auch schon direkt ein paar Anwendungsmöglichkeiten ein :-)

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  3. #3
    Contao-Fan Avatar von izanagi
    Registriert seit
    19.01.2011.
    Ort
    Köln
    Beiträge
    595

    Standard

    Uff und das vom Profi zu hören... das versüßt mir doch den Tag

    Ich werds ins Wiki eintragen.

    VG

  4. #4
    Contao-Nutzer
    Registriert seit
    20.07.2012.
    Beiträge
    4

    Staunendes Gesicht Genial - und so gehts automatisiert

    hallo,

    klasse! funktioniert einwandfrei.

    wenn man auf der seite mit dem formular über javascript dieses automatisch absenden lässt, kann man dem mitglied eine gruppe zuweisen, indem man es auf eine seite schickt und dort eben automatisch, das formular absenden lässt.

    Code:
    document.getElementById("myform").submit();
    dann kommt man erst zur eigentlichen seite, die man dem mitglied anzeigen lässt.

    ich verkaufe zugänge zu online-videoportalen (für medizinische ausbildungen ... hast du was anderes gedacht?).
    die will ich über die mitgliedsgruppen freigeben.
    nach einem einkauf wird nun einer auf die seite mit dem autoformversand geleitet, bekommt die mitgliedsgrupe und wird dann auf die bestätigunsgseite geleitet.
    sehr fein.

    danke!
    stefan

  5. #5
    Contao-Fan Avatar von izanagi
    Registriert seit
    19.01.2011.
    Ort
    Köln
    Beiträge
    595

    HTML Mitgliedervergabe per InsertTag AddOn ^^

    Hi stefansan
    danke für die positive Kritik. Ich habe das ganze auch noch mal in eine zweite Variante gepackt, mittels Inserttag

    Das Geben oder Nehmen der Mitgliedergruppe kann man nun an jedem Ort per InsertTag starten.
    Das ganze sollte natürlich nicht unüberlegt benutzt werden. Für einige Dinge macht es aber eventuell Sinn.


    Initialisiert wird der Hook wie immer in der dcaconfig.php
    mit folgendem Inhalt:
    PHP-Code:
    $GLOBALS['TL_HOOKS']['replaceInsertTags'][] = array('Extrafunktionen''gruppenzuweisungstag'); 

    Unsere Extrafunktionen.php müssen wir erweitern mit dieser Funktion:
    PHP-Code:
        public function gruppenzuweisungstag($strTag)
        {
            
    $arrSplit explode('::'$strTag);
            
    $yeah 0;
            if(
    preg_match("/^addgroup[0-9]/"$arrSplit[0])){
                
    $group explode("addgroup"$arrSplit[0]);
                if (isset(
    $arrSplit[1])){
                    
    $secure $arrSplit[1];
                    
    $groupid $group[1];
                    
    $yeah 1;
                }
            } else if (
    preg_match("/^cache_addgroup[0-9]/"$arrSplit[0])){
                
    $group explode("cache_addgroup"$arrSplit[0]);
                if (isset(
    $arrSplit[1])){
                    
    $secure $arrSplit[1];
                    
    $groupid $group[1];
                    
    $yeah 1;
                }
            } else if(
    preg_match("/^killgroup[0-9]/"$arrSplit[0])){
                
    $group explode("killgroup"$arrSplit[0]);
                if (isset(
    $arrSplit[1])){
                    
    $secure $arrSplit[1];
                    
    $groupid $group[1];
                    
    $yeah 2;
                }
            } else if (
    preg_match("/^cache_killgroup[0-9]/"$arrSplit[0])){
                
    $group explode("cache_killgroup"$arrSplit[0]);
                if (isset(
    $arrSplit[1])){
                    
    $secure $arrSplit[1];
                    
    $groupid $group[1];
                    
    $yeah 2;
                }
            } else {
                 return 
    false;
            }
            
            if(
    $yeah == || $yeah == 2){
                    
    /////////////////////////////////////////// Automatische Gruppenzuweisung BEGINN    
                    
    $this->import('FrontendUser','user');
                    
    $user_id $this->user->id;  
                    
    $this->import('FrontendUser''Member');
                    
    $ok 0;$okkill 0;
                    
    $addgroup_id;$killgroup_id;
                    
    // {{addgroup*::####}}
                    // Beispiel Inserttag {{addgroup21::15157}}
                    // Beispiel Inserttag {{killgroup22::15502}}
                    // FORMEL zum manuellen codieren ((x * 15) + 344) * 23;
                    // FORMEL zum auto decodieren ((x / 23) - 344) / 15;
                    
    $memberGroups $this->Member->groups;
                    
    $idnumber $groupid;
                    
    $codenumber $secure;
                    if (
    $yeah == 1){
                    
                            
    $codenumber = (($codenumber 23) - 344) / 15;// Sicherheitscode dekodieren
                            
    if ($codenumber == floor($codenumber) && $codenumber == $idnumber){// muss ganze Zahl sein und mit ID übereinstimmen
                                
    $ok 1;
                                
    $addgroup_id $idnumber;
                            } 
                            if (
    $ok == && !in_array($addgroup_id$this->Member->groups)){//wenn nicht schon vorhanden
                                
    $memberGroups[] = $addgroup_id;//array push
                            
    }
                        
                    }
                    
                    if (
    $yeah == 2){
                    
                            
    $codenumber = (($codenumber 23) - 344) / 15;// Sicherheitscode dekodieren
                            
    if ($codenumber == floor($codenumber) && $codenumber == $idnumber){// muss ganze Zahl sein und mit ID übereinstimmen
                                
    $okkill 1;
                                
    $killgroup_id $idnumber;
                            } 
                            
    $this->import('FrontendUser''Member');
                            if (
    $okkill == && in_array($killgroup_id$this->Member->groups)){//wenn vorhanden
                                
    $key array_search($killgroup_id$memberGroups);// gesuchte Element killen
                                
    unset($memberGroups[$key]);// Entfernt das gekillte Arrayelement um Index neu aufzubauen
                                
    $memberGroups array_values($memberGroups);// Array mit fortlaufendem Index erzeugen um Lücken zu entfernen
                            
    }

                    }
                    
                    if (
    $ok == || $okkill == 1){// Tabelle beschreiben
                        
    $group_ids serialize($memberGroups); 
                        
    $this->Database->prepare("UPDATE tl_member SET groups = ? WHERE id = ?")->execute($group_ids$user_id); 
                        
                    }
                    
    ///////////////////////////////////////// Automatische Gruppenzuweisung ENDE
            
            
    } else {
                 return 
    false;
            }

        } 
    Der InsertTag sieht dann wie folgt aus:
    PHP-Code:
    {{addgroup*::####}}
    oder {{killgroup*::####}}
    zb.: {{addgroup21::15157}} 
    HINWEIS: Derzeit funktioniert nur EINE Vergabe. Das heisst das InsertTag kann nur EINMAL auf einer Seite benutzt werden (weil die Datenbank erst aktualisiert werden muss) Wenn ich Zeit hab erarbeite ich eine Lösung.
    Geändert von izanagi (23.07.2012 um 14:32 Uhr)

  6. #6
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard Mitglieder-Registrierung

    Hallo,

    kann ich das auch verwenden, wenn jemand sich per Registrierungsformular "member_default" anmeldet?


    Mark

  7. #7
    Contao-Fan Avatar von izanagi
    Registriert seit
    19.01.2011.
    Ort
    Köln
    Beiträge
    595

    Standard

    Hallo Mark,
    bei der Registrierung gibt es die Funktion ja bereits im Core.
    Mitgliedergruppen können da ja bereits vergeben werden.

    Falls du generell fragen wolltest, Ja man kann ja sie überall da verwenden wo man ein Formular abschickt.
    Musst es nur schaffen das hidden Feld in die Registrierung zu bekommen.
    Da fällt mir ein, "member_default"... klar mach dir eine Kopie von der member_default und setz einfach das Hidden Feld
    unter dem request tokken.
    z.b: so
    PHP-Code:
    .....
    <input type="hidden" name="FORM_SUBMIT" value="<?php echo $this->formId?>" />
    <input type="hidden" name="REQUEST_TOKEN" value="{{request_token}}" />
    <input type="hidden" value="id8cz10672" name="dex"/>  
    .....
    Aber wie gesagt, Gruppenvergabe geht auch einfach im Backend(RegistrierModul) und ne Gruppe löschen macht ja keinen Sinn weil man als Gast sowieso keiner angehört.


    Möglichkeit 2:
    Oder speziell bei der Registrierung kannst du ja gleich den passenden Hook dafür benutzen

    PHP-Code:
    // config.php
    $GLOBALS['TL_HOOKS']['createNewUser'][] = array('MyClass''myCreateNewUser');
     
    // MyClass.php
    public function myCreateNewUser($intId$arrData)
    {
        
    // Den Datensatz modifizieren

    Da müsstest du dann die Funktion aber selbst zusammenbasteln und die Parameter entsprechend anpassen.
    Falls du was anderes meintest, frag mich gerne.

    VG

  8. #8
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.025

    Standard

    hallo in die runde,

    hat diese art jemdand unter 3.2.9 im einsatz?

    ich habe es installiert, funktioniert leider nicht.

    ziel insgesamt, ist das setzen von einer gruppe via formular im FE.

    wie kann ich eine gruppe im FE setzen? außer bei der Registrierung
    über das REG-modul !?

    lg.

    alex

  9. #9
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.025

    Standard 3.2.9 GELÖST

    ich habe es zum laufen bekommen. es lag an der dcaconfig, welche ich noch nicht
    mit den hooks "befüllt" hatte.

  10. #10
    Contao-Nutzer
    Registriert seit
    16.03.2016.
    Beiträge
    37

    Standard Gruppenzuweisung in 3.5

    Hallo,

    ich habe gerade dieses super Tutorial gefunden und es eingebunden. Allerdings macht es nichts unter Contao 3.5

    Ich habe den Hook, anstatt über system/config/dcaconfig.php, über die config-Datei in dem Modulordner registriert und zudem auch die autoload.php angelegt (vorher hatte ich Fatal Error, weil die klasse nicht gefunden wurde). Muss für Contao 3.5 noch mehr angepasst werden, ich habe leider nichts dazu gefunden...

    VIelen Dank schon mal !

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •