Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

[gelöst] Menü für alle sichtbar -> Inhalt aber nur mit Login

Eingetragen von goisgo (102)
am 23.09.2009 - 11:51 Uhr in
  • Allgemeines zu Drupal
  • Drupal 6.x

Hallo Community,

muss jetzt meine Menüstruktur umbauen.
Bisher war folgende Struktur:

Hauptnavi
- Unternavi
- Unternavi2
- Unternavi3

Unternavi 2 und 3 verweist als Menü auf einen Viewpfad. In der View ist geregelt, dass nur Rolle X auf die Inhalt Zugriff hat. Somit war auch das Menü überhaupt nicht für einen Gast sichtbar. Nun möchte ich aber, dass das Menü sichtbar ist, aber bei Klick darauf soll ein Text (Node X?) erscheinen, der zum Login auffordert. Ist das überhaupt möglich?

LG,
goisgo

‹ "Willkommen bei Drupal" erscheint auf der Startseite ab Seite 4 PHP - Globale Variablen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Zugriff verweigert

Eingetragen von KemalO (244)
am 23.09.2009 - 12:04 Uhr

Unter "/admin/settings/error-reporting" kannst Du die Seite 403 (Zugriff verweigert) einstellen.
Hier könntest Du zum Beispiel dann auf die Seite "/user" verweisen.

Somit wird immer auf die Login-Seite verwiesen, wenn ein User ene "Zugriff verweigert" Seite erhält.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Menu

Eingetragen von TomTom122@drupal.org (60)
am 23.09.2009 - 12:05 Uhr

Hi,

schau Dir doch mal dieses Modul hier an --> Menu Access

Damit könnte es funktionieren - hab allerdings selber noch keine Erfahrungen damit!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Erstmal Danke... aber....

Eingetragen von goisgo (102)
am 23.09.2009 - 14:36 Uhr

.... aber leider funktionieren die Tipps nicht. Menu Access, einfach ne super Sache, greift hier nicht.
Das Menu "Menu X" verweist auf den Pfad eines Views, der wiederrum die Zugriffsrolle "keinen Gast" hat. Ich kann im Menu Access machen was ich will, das Menu taucht nur auf wenn ich in der View dazu die Zugriffsrolle abschalte. Das möchte ich nicht, da die View sehr wichtig ist und eine lange Liste aus versch. Inhaltstypen.....

Noch eine Idee... ?

LG,
goisgo

  • Anmelden oder Registrieren um Kommentare zu schreiben

Was kam früher für eine

Eingetragen von KemalO (244)
am 23.09.2009 - 14:46 Uhr

Was kam früher für eine Anzeige, wenn die View geöffnet wurde, aber der User nicht eingeloggt war?

------------------------------------------------------------------
Wenn immer der Klügere Nachgibt, dann regiert der Dumme die Welt!

Gruss Kemal
http://www.oguz-online.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du meinst, wenn man den Link

Eingetragen von goisgo (102)
am 23.09.2009 - 15:03 Uhr

Du meinst, wenn man den Link quasi direkt oben eingibt, ohne Login.
Dann kommt:

Zugriff verweigert
Sie haben keine Zugriffsberechtigung für diese Seite.

Passt ja eigentlich alles. Es soll also das Menü dazu sichtbar sein, und wenn er klickt kommt eh die Meldung oben.

Ich komm nicht weiter.....

lg,
goisgo

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi, ich fürchte ja, das das

Eingetragen von Kars-T (1473)
am 23.09.2009 - 15:27 Uhr

Hi,

ich fürchte ja, das das zu kompliziert wird, aber du kannst die Zugriffsschicht eines Menüpunkts mit hook_menu_alter ändern, wie du willst.

http://api.drupal.org/api/function/hook_menu_alter/6

---

Viele Grüße,

Kars-T XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ok danke, kompliziert aber

Eingetragen von goisgo (102)
am 23.09.2009 - 15:44 Uhr

Ok danke,

kompliziert aber ich denke es ist an der Zeit....

hook_menu() ist ja im menu.module.

Da es ein Standardmodule ist, wird es keinen Sinn machen da etwas zu ändern.

Sprich: Ich muss ein eigenes Modul anlegen und darin den hook laufen lassen?

LG und Danke,
goisgo

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja du musst einen hook in

Eingetragen von Kars-T (1473)
am 23.09.2009 - 17:36 Uhr

Ja du musst einen hook in einem Modul benutzen. Aber pass auf, hook_menu ist völlig was anderes als hook_menu_alter

http://drupal.org/node/231276

---

Viele Grüße,

Kars-T XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo wieder... :) Also

Eingetragen von goisgo (102)
am 24.09.2009 - 08:18 Uhr

Hallo wieder... :)

Also Modul läuft teste und mache und stelle fest, dass views ja selbst den hook_menu_alter einsetzt.
Jetzt die Frage: Bei meinem Problem geht es ja nur um die View - Menüs (view->zugriffskontrolle steuert menu).

Macht es nun Sinn direkt im views_menu_alter zu arbeiten, oder in meinem eigenen .module?
Eigentlich ist die Grundfunktion ja richtig im views_menu_alter, allerdings weiss ich nicht ob
sich das mit meinem module dann "beisst" ?

LG und nochmals Dank für die "auf die Spur bringen",
goisgo

  • Anmelden oder Registrieren um Kommentare zu schreiben

Module

Eingetragen von stBorchert (6003)
am 24.09.2009 - 08:22 Uhr
goisgo schrieb

Macht es nun Sinn direkt im views_menu_alter zu arbeiten, oder in meinem eigenen .module?

Immer in einem eigenen Modul!

goisgo schrieb

Eigentlich ist die Grundfunktion ja richtig im views_menu_alter, allerdings weiss ich nicht ob
sich das mit meinem module dann "beisst"?

Beissen wohl nicht, jedoch sind nach dem nächsten Update von Views Deine Änderungen weg.
Wenn Du Dein Modul aktivierst kann es sein, dass der Code in der ..._menu_alter() keine Wirkung zeigt. Das liegt dann daran, dass die hooks in alphabetischer Reihenfolge (ausgehend vom Modulnamen) aufgerufen werden.
Es sei denn, das Modul hat eine andere Gewichtung als "0".

Diese Gewichtung kannst Du entweder gleich bei der Installation (in der modulename.install, Funktion modulename_install()) oder aber direkt in der Datenbank (Tabelle {system}) setzen.

hth,

 Stefan

--
sei nett zu Deinem Themer

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ok, vielen Dank für die

Eingetragen von goisgo (102)
am 24.09.2009 - 13:40 Uhr

Ok, vielen Dank für die Hilfe....

Habe bisher folgende Dinge geschafft:
- Eigenes Modul angelegt
- Modul aktiviert

Meine Hooks sprechen das System auch an (Danke Stefan, weight war die Lösung - habe jetzt 99 für mein module in die DB eingetragen).

Allerdings hänge ich jetzt noch an meinem Problem: Die view hat den pfad ..... /downloadtest
Downloadtest hat die Zugriffsbeschränkung nur für Rolle X.

Das Menü sollte aber sichtbar sein (siehe TOP).

Mein Module ruft die Funktion auf:

<?php
test_menu_alter
(&$items) {
$items['downloadstest']['access callback'] = TRUE;
}
?>

Problem: Es taucht tatsächlich das Menü auf.
Allerdings kann der Gast auch darauf klicken und übergeht den Zugriffsrollenschutz der view .........

Ich möchte keinen access ändern, sondern nur die Sichtbarkeit.

<?php
$items
['downloadstest']['hidden'] = 0;
?>

klappt nicht...

Letzte Frage: Ich muss nach jeder Änderung des test.module das update.php ausführen, sehe ich das richtig?

Lieben Gruß und THX,
goisgo

  • Anmelden oder Registrieren um Kommentare zu schreiben

user_access

Eingetragen von stBorchert (6003)
am 28.09.2009 - 09:51 Uhr

Was passiert, wenn Du den Menüpunkt nicht vom View anlegen lässt, sondern einfach per Hand (admin/build/menu) erstellst?

 Stefan

--
sei nett zu Deinem Themer

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Stefan, so habe ich

Eingetragen von goisgo (102)
am 28.09.2009 - 10:04 Uhr

Hallo Stefan,

so habe ich das auch gemacht: View erstellt kein Menü. Das Menü habe ich händisch gebuildet, mit dem Pfad auf den view.

Heul.....

LG,
goisgo

  • Anmelden oder Registrieren um Kommentare zu schreiben

Menü

Eingetragen von stBorchert (6003)
am 28.09.2009 - 10:24 Uhr

Naja, Views kann schon Menüpunkte erstellen. Wenn man das möchte.
Ich bin der Meinung, dass das so eigentlich gar nicht möglich ist. Wenn Zugriff auf den Inhalt besteht, wird der Menüpunkt angezeigt. Wenn nicht, dann nicht.
Dafür sorgt das Menüsystem selbst (und lässt an diesem Punkt auch keine Veränderung zu).
Das Ändern des 'access callbacks' bringt in diesem Fall auch nichts, da hiermit ebenfalls der Zugriff auf den eigentlichen Inhalt gesteuert wird.
Du könntest allerdings Folgendes versuchen:
Im Template des Views (oder besser noch in der dazu passenden Funktion TEMPLATENAME_preprocess_views_view__VIEWNAME) überprüfst Du, ob der aktuell angemeldete Benutzer den Inhalt ansehen darf.
Wenn das nicht der Fall ist, rufst Du drupal_access_denied auf.
Das könnte funktionieren.

 Stefan

--
sei nett zu Deinem Themer

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Stefan, denke ich

Eingetragen von goisgo (102)
am 28.09.2009 - 10:34 Uhr

Hallo Stefan,

denke ich verstehe: Sprich die Zugriffskontrolle der view selbst abstellen. Dann sind ja alle Menüs sichtbar. Über preprocess dann im view selbst überprüfen ob nach klick auf Menü die Rechte vorhanden sind. Wäre das der Weg? Teste das mal,

LG,
goisgo

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke !

Eingetragen von goisgo (102)
am 28.09.2009 - 11:26 Uhr

So,

jetzt ein dickes, sehr dickes DANKE !

Genau Dein Tipp ist die Lösung all meiner (selbstgestrickten...) Probleme.

meinthema_preprocess_views_view(&$vars) -> Dort überprüfe ich die $vars['name'] des views und kann dort anhand der Userfilterung schalten und walten wie ich will.

Nochmals: DANKE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

LG,
goisgo

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 5 Tagen
  • Hey danke
    vor 1 Woche 6 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 9 Stunden
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 4 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 4 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 2 Tagen
  • In der entsprechenden View
    vor 3 Wochen 2 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 2 Tagen
  • gelöst
    vor 5 Wochen 5 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 14 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association