Eigener Content-Type + Menüpunkt dafür in Primary Links = verschwindet für anonymous user. Drupal ist mir zu schlau.
am 31.10.2007 - 23:01 Uhr in
Hallo Drupal-Cracks,
folgendes Problem, das mich kirre macht:
- Ich habe einen eigenen Content-Type erstellt: "mein_ct"
- Nur angemeldete User können Inhalte für diesen Content-Type erstellen.
- Unter Primary Links (horizontales Hauptmenü, Zen-Theme) habe ich dafür einen Menüpunkt angelegt - dieser verweist auf "node/add/mein_ct"
Wenn man angemeldet ist, dann sieht man den Menüpunkt und alles verhält sich so wie gewünscht.
Wenn man aber _nicht_ angemeldet ist, dann verschwindet dieser Menüpunkt aus der Hauptnavigation, was er auf keinen Fall soll.
Ich möchte den Menüpunkt permanent im Menü haben - wenn ein anonymous User da draufklickt, dann soll er eben den üblichen "Login error" erhalten - aber ich möchte kein herumwackelndes Hauptmenü, das verwirrt die User.
Wieso Drupal das so macht ist mir schon klar (anonymous hat keine Rechte für diesen Content Type). Aber das ist mir eine Spur zu "schlau".
Wie kriege ich also den Menüpunkt für meinen Content Type permanent sichtbar ins Hauptmenü rein (auch für anonyme User ohne Rechte für mein_ct)?
Einen "Trick" habe ich schon selbst gefunden: Dazu müsste ich den Pfad für das Menü statt mit "node/add/mein_ct" eher mit "http://www.meinesite.de/node/add/mein_ct" anlegen. So bekommen das alle User angezeigt - es kann aber nicht die Lösung sein, da ich so nicht mehr unabhängig von der URL wäre.
Danke schon mal für Tipps!
- Ilias
- Anmelden oder Registrieren um Kommentare zu schreiben
Du könntest alternativ für
am 01.11.2007 - 19:47 Uhr
Du könntest alternativ für den Pfad noda/add/mein_ct einen Alias erstellen, den könntest du dann im Menü verwenden.
gruß pebosi
Hast Du es mit manuellem Menüeintrag versucht?
am 01.11.2007 - 19:55 Uhr
Wie kriege ich also den Menüpunkt für meinen Content Type permanent sichtbar ins Hauptmenü rein (auch für anonyme User ohne Rechte für mein_ct)?
Wie Jetzt?
Wenn Du manuell einen neuen Menüeintrag mit der URL "/node/add/mein_ct" im Hauptmenü erstellst sollte dieser Menüeintrag immer angezeigt werden.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Bei "node/add" Links ist das
am 01.11.2007 - 20:01 Uhr
Bei "node/add" Links ist das nicht so. Hab gerade mal meinen Vorschlag mit dem Alias probiert, geht auch nicht.
gruß pebosi
Template fuer die Primarys?
am 01.11.2007 - 20:18 Uhr
In der Tat.
Wenn der Link unbedingt in den Primarys sein soll koennte man ueber ein Template fuer die Primarys ran und den Link unabhaengig von der Rechtepruefung ausgeben.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Das habe ich jetzt nicht
am 01.11.2007 - 21:55 Uhr
Das habe ich jetzt nicht verstanden: "Template fuer die Primarys". Wie, wo, was?
Ist schon ein echt blödes Problem. Der Trick mit der externen URL ist dann vorerst die einfachste, dreckige Lösung.
Evtl. hat ja jemand noch einen Tipp ...
Danke schon mal für eure Mühe!
- Ilias
Die Primary Links sind vor
am 01.11.2007 - 23:27 Uhr
Die Primary Links sind vor der Ausgabe ein Array. Man sollte entsprechend der Array-Struktur einen zusaetzlichen Wert in das Array reinschieben koennen - den Link "node/add/blabla". Das Reinschieben sollte mit einer der PHP-Funktionen fuer Arrays klappen.
Damit man an das Array der Links rankommt kann man ein Template verwenden. Eventuell geht es sogar in der "page.tpl.php".
Ansatzpunkt in einer "page.tpl.php" kann dieser Code sein
<?php if (isset($primary_links)) : ?>
<?php print theme('links', $primary_links, array('class' => 'links primary-links')) ?>
<?php endif; ?>
Das haengt aber vom verwendeten Theme ab.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.