Ergebnis 1 bis 11 von 11

Thema: backend userid

  1. #1
    Contao-Nutzer
    Registriert seit
    24.11.2009.
    Beiträge
    131

    Standard backend userid

    hi
    wie ist es möglich die id des im backend angemeldeten users zu ermitteln?

    ich habe mir ein neues module geschrieben, in welchem jeder benutzer im backend artikel eintragen kann. nun möchte ich aber das ein angemeldeter benutzer nur seine artikel sehen bzw. ändern kann.
    ich dachte mir, dass ich dies über die dca-eigenschaft sorting und dann filter löse.

    nun weiß ich aber nicht ob das richtig ist bzw. wie ich die benutzerId des Backend-Users herausbekomme.

    kann jemand helfen??

  2. #2
    Community-Moderator Avatar von schman
    Registriert seit
    19.06.2009.
    Ort
    Dornbirn
    Beiträge
    3.739
    User beschenken
    Wunschliste

    Standard

    Du kannst diese wahrscheinlich folgendermaßen importieren

    PHP-Code:
    $this->import('BackendUser''User');
    $userid $this->User->id;
    $username $this->User->username
    Kein Privat Support via PM.

  3. #3
    Contao-Nutzer
    Registriert seit
    24.11.2009.
    Beiträge
    131

    Standard

    danke für deine schnelle antwort.
    sowas habe ich mir schon geadacht.

    PHP-Code:
    'filter' = array('userid=?''$userid'
    aber wie bekomme ich diese userid dann in $userid rein damit der filter funktioniert?

  4. #4
    Contao-Nutzer Avatar von flom01
    Registriert seit
    16.08.2010.
    Ort
    Feldkirch
    Beiträge
    77

    Standard

    Code:
    'filter' = array('userid' => $this->User->id)
    theoretisch doch so. Ich weiß aber nicht ob du dieses Konstrukt dann auch genau so anwenden kannst
    Geändert von flom01 (25.08.2010 um 08:42 Uhr)

  5. #5
    Contao-Nutzer
    Registriert seit
    24.11.2009.
    Beiträge
    131

    Standard

    habe das mit dem filter jetzt versucht.
    ich bin aber glaube ich etwas falsch gelegen, da man mit 'filter' nur eigen filter erstellen kann, welche man dann auswählen kann.
    ich möchte aber das der filter sofort angewandt wird wenn man das neue modul anklickt.

    wahrscheinlich muss ich dazu eine neue function schreiben, die durch das 'onload_callback' aufgerufen wird.
    könnte das so funktionieren?

  6. #6
    Contao Core-Team
    Association Vorstand
    Avatar von andreas.schempp
    Registriert seit
    15.06.2009.
    Ort
    Lyss
    Beiträge
    5.613
    Partner-ID
    8667
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Versuch einfach mal den $this->import... direkt in der DCA-Datei zu machen (als ausserhalb einer Funktion oder Klasse).
    terminal42 gmbh
    Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
    Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle

  7. #7
    Contao-Nutzer
    Registriert seit
    24.11.2009.
    Beiträge
    131

    Standard

    sorry das ich erst jetzt wieder schreibe.
    meinst du das $this->import->BackendUser?
    was sollte mir das helfen?
    ich benötige irgendeine funktion oder so durch welche nur bestimmte artikel angezeigt werden.

  8. #8
    Contao-Nutzer
    Registriert seit
    14.06.2010.
    Beiträge
    81

    Standard

    Hast du hier schon eine Lösung? Denn ich brauche genau die gleiche Funktion.

    Wäre echt super.
    Danke

  9. #9
    Contao-Nutzer
    Registriert seit
    24.11.2009.
    Beiträge
    131

    Standard

    hi
    nein habe leider noch keine lösung.
    sitze aber noch dabei.

  10. #10
    Contao-Nutzer
    Registriert seit
    14.06.2010.
    Beiträge
    81

    Standard

    Das Filtern funktioniert bei mir nicht mal wenn ich hardcoded die Filterbedingung (nach City) eingebe.
    Code:
    $GLOBALS['TL_DCA']['tl_member']['list']['sorting']['filter'] = array('city=?' => 'München');
    Das erzeugt eine Meldung:
    Code:
    Query error: Unknown column 'F' in 'where clause' (SELECT COUNT(*) AS total FROM tl_member WHERE F) thrown in /Volumes/lt/Documents/work/Kairos/EinGuterTag/htdocs/taxi/system/libraries/Database.php on line 642
    Hat hier jemand eine Idee?

  11. #11
    Contao-Nutzer
    Registriert seit
    14.06.2010.
    Beiträge
    81

    Standard

    Hallo juergen.vallant,

    ich glaube ich habe die Lösung für dein Problem gefunden.

    1) einen callback auf onload wie du bereits erwähnt hast:
    Code:
    $GLOBALS['TL_DCA']['tl_member']['config']['onload_callback'][] = array('MemberFilter', 'setFilter');
    2) dann die Klasse definieren
    Code:
    class MemberFilter extends Backend 
    { 
    
        
        public function __construct() 
        { 
            parent::__construct(); 
            $this->import('BackendUser', 'User'); 
        } 
    	
    	public function setFilter() 
        { 
    		//hier steht die die id des benutzers drinnen $this->User->id;
    		
    		$GLOBALS['TL_DCA']['tl_member']['list']['sorting']['filter'][] = array("city='München'");
    				
        } 
    	
    }
    3) noch die letzte Zeile, also das sorting anpassen. Damit das aber geht, muss in der Datenbank gespeichert werden wer welche Daten erstellt hat.

    Ich hoffe ich konnte dir damit ein wenig helfen.

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
  •