Ergebnis 1 bis 5 von 5

Thema: Automatisierte Änderung einer Mitgliedereigenschaft bei bestimmtem Event

  1. #1
    Contao-Nutzer
    Registriert seit
    25.01.2014.
    Beiträge
    21

    Standard Automatisierte Änderung einer Mitgliedereigenschaft bei bestimmtem Event

    Liebe alle

    Die Frage dürfte wohl für die alten Hasen absolut banal sein, leider komme ich selbst nicht weiter:

    Ausgangslage: Beim Besuch einer bestimmten Seite soll ein Mitgliederfeld automatisch einen anderen Wert erhalten. Es geht dabei festzuhalten, dass das jeweilige Mitglied einen Mitgliederbeitrag bezahlt hat.

    Frage: Wie bringe ich es via php fertig, dass der entsprechende Wert des eingeloggten Mitglieds dauerhaft (d.h. via tl_member) geändert wird, wenn die bestimmte Seite besucht wird? Ich bräuchte dabei lediglich die Angabe, wie ich die Eigenschaft via php ansteuere und automatisch ändern kann.

    Versteht man das? ^^

    Herzlichen Dank im Voraus und beste Grüsse
    leroy

  2. #2
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    Wir Du auf den aktuell angemeldeten Frontend-User (das Mitglied) zugreifen kannst, kannst Du Dir z.B. im system/modules/core/modules/ModulePersonalData.php
    abschauen:

    PHP-Code:
    $this->import('FrontendUser''User');

    $objMember = \MemberModel::findByPk($this->User->id);
    $objMember->meinfeld 'meinwert';
    $objMember->save(); 
    Hierbei muss das Feld meinfeld im DCA für tl_member natürlich von Dir definiert worden sein.

    Ich hoffe, das beantwortet Deine Frage.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  3. #3
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Wie genau bezahlt das Mitglied seinen Beitrag?

  4. #4
    Contao-Nutzer
    Registriert seit
    25.01.2014.
    Beiträge
    21

    Standard

    Super! Vielen herzlichen Dank, fiedsch. Werde das gleich mal ausprobieren.

    @spooky: Das Mitglied wird über einen paypal Button auf paypal geleitet und nach dem Abschluss der Bezahlung wieder auf meine Seite zurück. Ich habe mir das so vorgestellt, dass das Mitglied dann via eine php "proxy"-page freigeschaltet und anschliessend zum Mitgliederbereich geforwarded wird.

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Die korrekte Vorgehensweise wäre dann folgende:

    1. Du übergibst als confirmUrl Parameter an PayPal die URL zu einem PHP Script von dir.
    2. In dieser URL übergibst du ein Token, mit der die Bezahlung eines Mitgliedes eindeutig identifiziert und nicht missbraucht werden kann.
    3. In diesem PHP Script setzt du dann den Bezahlstatus des Mitglieds, wenn alle Bedingungen stimmen (richtiger Token & Anfrage kommt als POST Request von PayPal).
    4. Auf der Seite, die du als successUrl an PayPal übergeben hast (also die Success Seite in Contao), veranlasst du, dass der Bezahlstatus des Mitglieds alle X Sekunden überprüft wird - entweder per AJAX oder per PHP (und lässt dann die Seite per JavaScript periodisch neu laden).
    5. Sobald auf der successUrl der Bezahlstatus als bezahlt identifiziert wird, leitest du entsprechend weiter.


    Beachte, dass du in deinem "Post Sale" Script
    PHP-Code:
    define('BYPASS_TOKEN_CHECK'true); 
    verwenden musst, da ansonsten die POST Requests von PayPal nicht funktionieren werden. Siehe zB die postsale.php von Isotope.
    Geändert von Spooky (02.10.2017 um 11:11 Uhr)

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
  •