[gelöst]Den Blog eines Users der einen haben darf als Reiter in seinem Profil (Views 2)

am 28.04.2009 - 20:19 Uhr in
Hallo Drupal-Community!
Daß ich, um an so einen Reiter zu kommen, wohl eine Artikelliste über das Views-Modul selbst aufbauen muß habe ich verstanden. Auch so einen Reiter habe ich in die Profile bekommen, allerdings in alles. Nun möchte ich aber nicht allen registrierten Usern einen Blog ermöglichen (nur User mit einer bestimmten Rolle sollen einen Blog haben) und daher sollte der Reiter Blog nur in jenen Profilen angezeigt werden, die auch einen Blog besitzen.
Muß ich dazu ein eigenes Modul schreiben oder gibt es für diesen Fall schon ein Modul oder habe ich im Views-Modul etwas übersehen, das mir das schon anbietet?
Ich hoffe, daß ich mit dieser Frage im richtigen Forum hier bin.
Mit freundlichen Grüßen
Neutrino35
- Anmelden oder Registrieren um Kommentare zu schreiben
Hallo. Wenn dein Link auf
am 29.04.2009 - 02:35 Uhr
Hallo.
Wenn dein Link auf node/add/blog zeigt sollte er Usern mit fehlender berechtigung nicht angezeigt werden.
Gruß
JThan
_____
--> http://www.drupalcenter.de/showroom/11994 <--
Alle Angaben in meinen Beiträgen sind stets ohne Gewähr und auf eigenes Risiko für bare Münze zu nehmen.
Hallo JThan, Über diesen
am 29.04.2009 - 08:21 Uhr
Hallo JThan,
Über diesen Reiter im Profil eines anden Benutzers in dessen Profil ich mich gerade befinde, will ich eine Liste mit Blogbeiträgen des entsprechenden Nutzers ausgeben und nicht einen Blogbeitrag in meinem Blog erstellen. Und dieser Reiter auf diese Blogbeitragsliste soll eben nur in Profilen der Benutzer erscheinen, die auch die entsprechenden Rolle (nennen wir sie mal Blogger) sind.
Mit freundlichen Grüßen
Neutrino35
Hallo. Hast du im
am 29.04.2009 - 09:19 Uhr
Hallo.
Hast du im Bearbeitungsmodus der View mal links in den Basiseinstellungen unter Zugriff versucht, den Zugriff auf die Rolle "Blogger" einzuschränken? Dort kannst du auf Rollenbasis Berechtigungen verteilen.
Der nachfolgende Text gilt nur wenn ich dich richtig verstanden habe:
Meiner Meinung nach musst du dafür aber keine extra View machen, da automatische eine Überssichtsseite für den Userblog angelegt wird ( blog/[user-id] ). Hier müsstest du die Berechtigung dann auch anpassen (Aber warum sollen andere User nicht eine Liste der Blogbeiträge eines einzelnen Users sehen?)
Gruß
JThan
_____
--> http://www.drupalcenter.de/showroom/11994 <--
Alle Angaben in meinen Beiträgen sind stets ohne Gewähr und auf eigenes Risiko für bare Münze zu nehmen.
Hallo JThan, wenn ich im
am 29.04.2009 - 10:05 Uhr
Hallo JThan,
wenn ich im View den Zugriff auf die Rolle "Blogger" begrenze, sehen diesen View doch nur Blogger, dann aber bei allen Benutzern. Ich will es aber anders herum: den Tab (oder Reiter) und den View sollen alle sehen, die auch auf das Profil kommen, aber nur in den Profilen der Benutzer, die in der Rolle "Blogger" sind.
Ich meine das in etwa so:
Wenn der Benutzer in dessen Profil ich mich gerade befinde in der Rolle "Blogger" ist {
zeige Tab "Blog" mit dem Link in den Blog des Benutzers in dessen Profil ich mich gerade befinde.
}
Das gleiche könnte ich mir beispielsweise auch mit einer Liste "Kochrezepte" vorstellen, die als Tab in Profilen gezeigt wird, wenn der Eigentümer des Profils das ich besuche in der Rolle "Kochrezepteschreiber" ist.
Wie ich auch durch das lesen dieses Forums verstanden habe, gibt es auch nur zwei Möglichkeiten, einen extra Tab in ein Profil zu bekommen: Entweder über das Modul Views oder über ein eigenes Modul.
Mit freundlichen Grüßen
Neutrino35
Hallo. Sorry, irgendwie
am 29.04.2009 - 11:15 Uhr
Hallo.
Sorry, irgendwie stehe ich auf dem Schlauch. Wenn du dein Profil anklickst, dann kommt da doch direkt ein Link (zumindest bei mir) zu deinem Blog.
Das ist schon der richtige Link, oder?
Es geht dir also darum, diesen Link zusätzlich noch in einem Tab beim Profil zusätzlich zu "Anzeigen", "Bearbeiten" usw. anzuzeigen? Sowas in dieser Art: http://drupal.org/node/326580 ?
Gruß
JThan
_____
--> http://www.drupalcenter.de/showroom/11994 <--
Alle Angaben in meinen Beiträgen sind stets ohne Gewähr und auf eigenes Risiko für bare Münze zu nehmen.
Hallo JThan, im Profil habe
am 29.04.2009 - 11:54 Uhr
Hallo JThan,
im Profil habe ich schon ziemlich herum gemacht. Die eigentlichen Profildaten werden nicht mehr ausgegeben sondern anstelle dessen das, was man über Content-Profile dort anzeigen lassen kann. Die Profile wie sie Drupal mitbringt, haben mir eben nicht gefallen.
Und genau, ich will in meinem Profil zu Anzeige und Bearbeiten einen weiteren Tab, der Blog heißt und auf einen View verweißt, der in meinem Fall zur Zeit "my_blog_list" heißt und ein Argument benötigt (die UserID in diesem Fall von mir selbst) und mir eine Liste mit Blogbeiträgen (Titel und Teaser und weiteres) ausgibt. Da man diesen Tab mit dem Views-Modul hin bekommt, wurde das auch ein View.
Nun will ich diesen Tab allerdings nicht in jedem Profil ausgeben, sondern nur in jenen, die auch die Möglichkeit haben, einen Blog zu schreiben. Dieser Tab soll dann auch in anderen Profilen erscheinen, auf die ich beispielsweise über die Benutzerliste gehe, aber eben nur dann, wenn diese die Berechtigung haben, einen Blog zu schreiben (Rolle Blogger).
Mit freundlichen Grüßen
Neutrino35
Auch wenn ich hier keine
am 02.05.2009 - 22:13 Uhr
Auch wenn ich hier keine Antwort darauf fand, fand ich sie nun für mich im Buch "Das Drupal-Entwicklerhandbuch" (Addison-Wesley) John K. VanDyk.
Es funktioniert nun so, wie ich mir das Vorstelle, auch wenn ich mir nicht ganz sicher bin, ob ich damit nicht irgend welche Seiteneffekte hervorgerufen habe.
Ich habe dazu ein kleines Modul geschrieben, in dem ein MENU_LOCAL_TASK (ein Tab im Benutzerprofil) erzeugt wird, haben im 'access callback' eine eingene Funktion angegeben, die prüft, ob der User, in dessen Profil ich mich befinde, in der Rolle Blogger ist. Leider gibt das Buch nicht so recht her, wie ich die Prüfung so mache, daß die Rolle im Array der Rollen stehen kann wo sie will.
Mir gefällt das ganze noch nicht so recht, aber es läuft und das ist mir erstmal wichtig. Warum man hier keine Information dazu bekommt, liegt wohl nur am beschissenen Zinseszinsgeld, dem alle wie bekloppt nachspringen - dem aktuellen Feudalismus. Das aber nur am Rande.
Und warum machste das nicht
am 03.05.2009 - 16:11 Uhr
Und warum machste das nicht mit Views?
'access callback' ist dafür gedacht den Zugriff zu steuern und nicht für die Sichtbarkeit. Es sei denn normale Leute dürfen diesen Reiter bei den Bloggern nicht sehen.
EDIT: So hab da mal als Anhang die View, die die Blogeinträge im Profil via Reiter anzeigt. Musst den Inhalt importieren bei Views und nach deinem Geschmack anpassen. Du musst dann noch ne Rolle Blogger erstellen und nur diese Rolle die Berechtigung für Blogeinträge erstellen etc. gewähren.
----------------------------------------
http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Danke!
am 04.05.2009 - 06:39 Uhr
Hallo Spartacus,
genau so wollte ich das, habe allerdings noch nicht gefunden, wo man das im View einstellen kann:
'validate_user_roles' => array(
'3' => 3,
'2' => 0,
),
Dabei muß dann die RollenID 'Blogger' die 3 sein.
Dazu eine Frage: Angenommen ich lösche die Rolle Blogger, erzeuge eine Rolle 'Autofahrer' und anschließend die Rolle Blogger neu: Ändert sich dann im View die RollenID auch auf den neuen Wert?
Mit freundlichen Grüßen
Neutrino35
Du siehst doch bei Argumente
am 04.05.2009 - 07:51 Uhr
Du siehst doch bei Argumente ein Argument, wenn man diesen bearbeiten sieht man weiter unter bei welchen Rollen die UID in der URL gültig ist. Du kannst du natürlich ne andere Rolle außer die Standardrolle logischerweise wählen.
----------------------------------------
http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Ein Forum ist kein Ersatz für das www (Google.de).