Antwort
 
LinkBack Themen-Optionen Thema bewerten Ansicht
  #1  
Alt 05.04.07, 10:11
Forum Zuschauer
 
Registriert seit: 17.05.06
Beiträge: 6

Seite pro fe_user


Ich habe eine kleine Herausforderung und benötige mal Hilfe von Profis... also von euch.

Ich möchte eine Extension schreiben, die im Backoffice die Möglichkeit gibt jedes Content-Element nicht nur einer FE-Gruppe sondern auch einem speziellen FE-User zuzuordnen. Ich möchte in der Folge die Möglichkeit haben einen Inhalt einer Gruppe (dann sehen alle FE-User den Inhalt) oder einem speziellen FE-User anzuzeigen.

Was bisher geschah:

Ich habe eine Extension über den Kickstart erstellt die, die Tabelle tt_content um ein Feld fe_user erweitert und in Beziehung zu fe_user steht. Im Backoffice beim Editieren der Inhalte kann ich auch den FE-User zuornen und Typo3 speichert auch alles sauber in die DB.

Mein Problem:

Wie bekomme ich den Rendering-Prozess dazu, dass er nach der Überprüfung auf die Gruppenberechtigung auch nach der FE-User-Berechtigung fragt und dann entscheidet was er anzeigt?

Ich bin mir sicher, dass nicht nur ich ein solches Problem habe und konnte trotztem keinen Hinweis in anderen Themen finden.

Bin über eure Hilfe sehr dankbar )
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #2  
Alt 05.04.07, 10:12
Forum Zuschauer
 
Registriert seit: 17.05.06
Beiträge: 6

Nun, ich bin zwar etwas weiter gekommen aber nicht wirklich erfolgreich mit der Lösung.
Ich habe herausgefunden das class.tslib_fe.php vermutlich mein Kandidat sein wird und ich habe festgestellt, dass dort die Funktion checkPageGroupAccess für die Berechtigung veratwortlich ist. Quick und sehr dirty habe ich die Funktion direkt mal verändert um zu testen ob ich damit weiterkomme. Leider werden noch immer alle Seiten auch nach der Zuordnung zu einem fe_user allen Usern angezeigt.
PHP-Code:
function checkPageGroupAccess($row$groupList=NULL$userList=NULL) {
        if(
is_null($groupList)) {
            
$groupList $this->gr_list;
        }
        
        if(
is_null($user)) {
            
$userList $this->fe_user;
        }
        
        if(!
is_array($groupList)) {
            
$groupList explode(','$groupList);
        }
        
        if(!
is_array($userList)) {
            
$userList explode(','$userList);
        }
        
        
$right 0;
        
        
$pageUserList explode(','$row['tx_page2user_fe_user'] ? $row['tx_page2user_fe_user'] : 0);
        
$pageGroupList explode(','$row['fe_group'] ? $row['fe_group'] : 0);
        
        if(
count(array_intersect($userList$pageUserList)) > 0)
        {
            return 
1;
        }
        elseif(
count(array_intersect($groupList$pageGroupList)) > 0)
        {
            return 
1;
        }
        else
        {
            return 
false;
        }
        
        return 
false;
    } 
Wäre für eure Hilfe sehr dankbar!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #3  
Alt 05.04.07, 15:52
Benutzerbild von mstuebner
TYPO3 Forum Team
Moderator
 
Registriert seit: 01.09.04
Ort: 84424 Isen b. Dorfen
Alter: 41
Beiträge: 2.211
mstuebner eine Nachricht über Skype™ schicken

Ich täts mal garnicht in der Ext. programmieren, sondern generischer im TS-Template:

Typoscript-Code:
1:
2:
3:
4:
5:
6:
7:
1 = CONTENT
1.table = tt_content
1.select {
pidInList = this
orderBy = sorting
andWhere = your_dbfield = TSFE:fe_user|user
}

Untested und ohne Syntaxcheck, aber prinzipiell der Ansatz.
__________________
mfg Matthias

TYPO3-Consultant -- TYPO3 Entwicklung
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #4  
Alt 05.04.07, 16:15
Forum Zuschauer
 
Registriert seit: 17.05.06
Beiträge: 6

Danke erstmal..

das ist natürlich noch viel schöner als mein Ansatz
Ich habe Deinen Ansatz aber noch nicht zum Laufen gebracht.

1. Wo baue ich die Abfrage am besten ein wenn ich automaketemplate verwende und die Spalten mit styles.content.get auslese?

2. Dein Tip betrifft aber nur die Inhalte also Datensätze in tt_content. Was mache ich mit den Seiten also mit mit der prinzipiellen Anzeige einer Seite (pages) und damit auch mit der Navi usw.

Kannst Du mir evtl. noch das Osterfest retten

DANKE!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #5  
Alt 05.04.07, 16:29
Benutzerbild von mstuebner
TYPO3 Forum Team
Moderator
 
Registriert seit: 01.09.04
Ort: 84424 Isen b. Dorfen
Alter: 41
Beiträge: 2.211
mstuebner eine Nachricht über Skype™ schicken

[quote=xpert911;61418]1. Wo baue ich die Abfrage am besten ein wenn ich automaketemplate verwende und die Spalten mit styles.content.get auslese?

bla < styles.content.get
bla.select.andWhere = your_dbfield = TSFE:fe_user|user

(Hast Du Dir schon mal angesehen wie styles.content.get definiert ist? Mach das mal.)

Zitat:
Zitat von xpert911 Beitrag anzeigen
2. Dein Tip betrifft aber nur die Inhalte also Datensätze in tt_content. Was mache ich mit den Seiten also mit mit der prinzipiellen Anzeige einer Seite (pages) und damit auch mit der Navi usw.
Du bezogst Dich explizit auf Content Elemente! Da Dein Userfield ja in tt_content ist musst Du Dir erst mal den Zusammenhang zwischen der pages und tt_content aufbauen.

Ansonsten lässt sich statt 1.table = tt_content auch ein 1.table = pages nutzen, da ist Google ein guter Freund.
__________________
mfg Matthias

TYPO3-Consultant -- TYPO3 Entwicklung
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #6  
Alt 13.04.07, 15:52
Forum Zuschauer
 
Registriert seit: 17.05.06
Beiträge: 6
Frage

Brauche nochmal eure Hilfe,

habe es nun so umgesetzt...

Typoscript-Code:
1:
2:
3:
4:
5:
6:
7:
# Substitute the ###MainContent### subpart
subparts.MainContent = COA
subparts.MainContent < styles.content.get
subparts.MainContent.table = tt_content
subparts.MainContent.select.pidInList = this
subparts.MainContent.select.orderBy = sorting
subparts.MainContent.select.andWhere = tx_page2user_fe_user = TSFE:fe_user|user|uid

ich hatte auch bereits TSFE:fe_user|user versucht und es funktioniert leider nicht. Das Inhaltselement (tt_content) mit der korrekten id (des eingeloggten) Users im Feld tx_page2user_fe_user wird leider nicht angezeigt.

Was mache ich falsch?
Habt Ihr noch eine Idee?

DANKE!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #7  
Alt 13.04.07, 16:53
Forum Zuschauer
 
Registriert seit: 17.05.06
Beiträge: 6

Falls es euch interssiert...

so funktioniert es zwar nicht

Typoscript-Code:
1:
2:
3:
4:
5:
6:
subparts.MainContent = COA
subparts.MainContent < styles.content.get
subparts.MainContent.table = tt_content
subparts.MainContent.select.pidInList = this
subparts.MainContent.select.orderBy = sorting
subparts.MainContent.select.andWhere = tx_page2user_fe_user = TSFE:fe_user|user|uid

aber wenn ich die id des Users fest eincode dann klappt es...

Typoscript-Code:
1:
2:
3:
4:
5:
6:
subparts.MainContent = COA
subparts.MainContent < styles.content.get
subparts.MainContent.table = tt_content
subparts.MainContent.select.pidInList = this
subparts.MainContent.select.orderBy = sorting
subparts.MainContent.select.andWhere = tx_page2user_fe_user = 5

und wenn ich anderer Stelle die id ausgeben möchte dann funktioniert auch TSFE:fe_user|user|uid und ergibt die korrekte id des Users????

Was läuft hier grumm?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #8  
Alt 13.04.07, 22:16
Forum Zuschauer
 
Registriert seit: 17.05.06
Beiträge: 6

Ok, wenn es jemand gebrauchen kann....

Typoscript-Code:
1:
2:
3:
4:
5:
6:
subparts.MainContent = COA
subparts.MainContent < styles.content.get
subparts.MainContent.table = tt_content
subparts.MainContent.select.pidInList = this
subparts.MainContent.select.orderBy = sorting
subparts.MainContent.select.andWhere.dataWrap = ((tx_page2user_fe_user = {TSFE:fe_user|user|uid} AND ( fe_group = {TSFE:fe_user|user|usergroup} OR fe_group = 0)) OR (tx_page2user_fe_user = 0 AND ( fe_group = {TSFE:fe_user|user|usergroup} OR fe_group = 0))) AND pid = {TSFE:id}

so funktioniert es bei mir.
Jetzt Zeigt er mir
1. alle öffentlichen Inhalte an,
2. alle Inhalte der Gruppe und
3. alle Inhalte des jeweiligen Users.

Schön wäre jetzt noch wenn er auch usern von übergeordneten Gruppen die Inhalte anzeigt.... heute nicht mehr

Wenn aber jemand eine Idee hat, dann freue ich michüber die Lösung.

Schönes Wochenende!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Commerce mit FE_User Reimemonster commerce 2 30.05.08 16:31
FE_User Verwaltung Franzmann TYPO3 4.x FE-User 2 04.04.08 09:45
Abmeldungslink für fe_user robelix Direct Mail 0 10.03.08 10:03
frage zur ext fe_user Flex32 Alle anderen Extensions 1 30.08.07 11:23
Fe_user .:timmy Alle anderen Extensions 0 07.08.06 15:02


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:22 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0