Ergebnis 1 bis 8 von 8

Thema: Extra Schritt bei Seite für Benutzer

  1. #1
    Contao-Nutzer
    Registriert seit
    08.03.2011.
    Beiträge
    26

    Standard Extra Schritt bei Seite für Benutzer

    Ich habe eine Frage über das Entwicklen von Erweiterungen. Ich möchte gerne Benutzers eine eigenes seite geben. Aber mit die folgenden Funktionen:

    1. Benutzer kann Seite nach Aktivierung (sichtbar oder nicht) nicht mir bearbeiten
    2. Message im Dashboard für die Administratoren dass eine Seite aktiviert ist
    3. Nach veröffentlichen von Seite kann der Benutzer die Seite nich mir bearbeiten


    Meine Frage ist das möglich? Ich glaube das einen neue Seitentype benötigt ist.

  2. #2
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    1 und 3 ist ja das selbe? Sowas kannst Du mit einem onload_callback erreichen. Einfach bevor der Datensatz angezeigt wird prüfen, ob der User zugreifen darf. Wenn nicht auf die Errorseite weiterleiten, wenn schon, dann ist ja ok.

    Du kannst auch die "edit" Funktion mit einem button_callback entfernen, falls der User den Datensatz nicht bearbeiten darf.
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  3. #3
    Contao-Nutzer
    Registriert seit
    08.03.2011.
    Beiträge
    26

    Standard

    Vielen Dank für Ihre Antwort!!!

    Ah nein, das ist nich gleich. Ein Benutzer möchte nicht eine Seite veröffentlichen nur Aktivieren. Für das woll ich eine neue Eigenschaft machen für den Regular Seitentyp. Wenn Sie die Eigenschaft geändert erhaltet der Administratoren eine Nachricht. Der Administrator kann dann entscheiden um die Seite zu veröffentlichen. Aber ist es möglich? Ich habe keine hook gesehen wenn eine Seite aktualisiert oder ist, dass die button_callback?

    Entschuldigung für mein schlechtes Deutsch!

  4. #4
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Mach Dir keine Sorgen um Dein Deutsch, ich versteh's bis anhin ganz gut

    Ja, dann müsstest Du eine zusätzliche Checkbox "Seite aktivieren" hinzufügen und diese je nach dem anzeigen lassen oder eben nicht.
    All das erreichst Du indem Du im onload_callback (siehe Dokumentation. Es gibt sogenannte Hooks aber auch Callbacks) das jeweilige Feld anzeigst oder ausblendest.
    Ganz einfach mit einem
    PHP-Code:
    unset($GLOBALS['TL_DCA']['tl_page']['fields']['myfieldtohide']); 
    Dass ein Benutzer per E-Mail informiert wird, wenn jemand eine Seite aktiviert kannst Du mit einem save_callback auf diesem Feld erreichen.
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  5. #5
    Contao-Nutzer
    Registriert seit
    08.03.2011.
    Beiträge
    26

    Standard

    Danke! Ich soll das später ausprobieren!

    Jetzt 2.9.4 updates

  6. #6
    Contao-Nutzer
    Registriert seit
    08.03.2011.
    Beiträge
    26

    Standard

    Danke schön. Es funktioniert schon fast! Die ändern buttons sind weg! Aber noch nicht "Edit Multiple". Ich habe noch nicht die richtige operation gefunden.

  7. #7
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    global_operations->all
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  8. #8
    Contao-Nutzer
    Registriert seit
    08.03.2011.
    Beiträge
    26

    Standard

    Danke! Morgen soll ich das ausprobieren!

    Ich habe schön das Quellcode hier unter. In TeacherContentAccess#onPageVisibilityChanged mochte ich gerne die Seite Eigenschaft "veröffentlichen" wieder ausschalten. Ist es korrekt dass ich dann eine SQL UPDATE muss ausführen?

    Code:
        /**
         * Invoked when the page details needs to be saved
         */    
        public function onPageVisibilityChanged($varValue, DataContainer $dc)
    	{
            // retrieve the record details of the page
            $pageRecord = $this->Database->prepare("SELECT title, active FROM tl_page WHERE id=?")
    										->limit(1)
    										->execute(CURRENT_ID)
    										->row();
            
            $pageName = $pageRecord['title'];
            
            // check if the property changed
            $oldActive = $pageRecord['active'];
            if ( $oldActive == $varValue ) {
                // opt out early because the property value hasnt changed
                return;
            }
            
            // send an e-mail to the administrators when the page visibility has changed and
            // make sure to disable any input
            $objEmail = new Email();
            $objEmail->from = $GLOBALS['TL_ADMIN_EMAIL'];
            $objEmail->fromName = $GLOBALS['TL_ADMIN_NAME'];
            $objEmail->subject = sprintf( $GLOBALS['TL_LANG']['MOD']['wiki']['page_changed_email_subject'], $pageName, $this->Environment->host);
            $objEmail->text = 'Een e-mail bericht na een verandering op de pagina';
            $objEmail->sendTo( $GLOBALS['TL_ADMIN_EMAIL'] );    
            
            // change the published state of the page
            $pageRecord = $this->Database->prepare("UPDATE tl_page SET published='0' WHERE id=?")
    										->limit(1)
    										->execute(CURRENT_ID);   
    }
    Geändert von sprog (08.03.2011 um 18:04 Uhr)

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Tyight instalieren ? Schritt für Schritt anleitung
    Von findetemo im Forum Installation / Update
    Antworten: 4
    Letzter Beitrag: 17.06.2010, 13:45
  2. Installation - Schritt für Schritt
    Von jagstang im Forum Installation / Update
    Antworten: 11
    Letzter Beitrag: 30.04.2010, 15:45
  3. Suche - Ergebnis auf extra Seite ausgeben
    Von profound im Forum Allgemeine Inhaltselemente
    Antworten: 12
    Letzter Beitrag: 23.03.2010, 11:53
  4. Schritt für Schritt - Anleitung für Templates
    Von mandrael im Forum Layout / Templates / Holy Grail
    Antworten: 5
    Letzter Beitrag: 12.11.2009, 18:44
  5. Schritt für Schritt Anleitung eines Template
    Von chr.flader im Forum Layout / Templates / Holy Grail
    Antworten: 1
    Letzter Beitrag: 03.07.2009, 13:54

Lesezeichen

Lesezeichen

Berechtigungen

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