Subnavigation bzw. Seiten sperren
am 15.06.2010 - 20:39 Uhr in
Ich nutze das Modul PrivateMsg und in einem Modul folgende Funktion:
privatemsg_new_thread($recipients, $subject, $body);
Damit diese Funktion funktioniert, muss man in der Rechteverwaltung zulassen, dass User Nachrichten schreiben dürfen. Durch diese Erlaubnis, erscheint im Backend für jeden User neben der Headline "Messages" noch ein zusätzlicher Reiter mit "Neue Nachricht schreiben". Wie kann ich dies unterbinden. Die Messages kommen lediglich vom System. User sollen den Reiter nicht haben, sowie die Seite nicht besuchen können, wo sich das Formular befindet... Ich kriegs echt nicht hin, hab schon sämtliche hooks probiert, komme aber irgendwie nicht ran. Ist auch kein Node sondern eine Modulseite :-(
- Anmelden oder Registrieren um Kommentare zu schreiben

Also wenn du einfach
am 16.06.2010 - 08:17 Uhr
Also wenn du einfach verhindern willst, dass das Formular angezeigt wird, würde ich das über hook_form_alter regeln. Frag darin einfach die ID ab und dann redirecte auf eine entsprechende Seite. Wenn du den Menüpunkt auch weghaben willst, dann legst du entweder ein eigenes Menü an, das das alte ersetzt und den Punkt nicht mehr enthält, oder du implementierst hook_menu_alter und setzt den Menüpunkt type von "normal_item" auf "menu_callback" und erzeugst dann mit dem Devel-Modul den Menurouter neu.
Das wäre so meine Idee für dein Problem.
danke ...
am 16.06.2010 - 18:29 Uhr
irgendwie hätte ich einfach den cache mal leeren sollen sehe ich grad :-( auf jdenfall das mit dem hook_menu_alter kannte ich noch nicht. danke das hilft mir auf jedenfall weiter.
ha...
am 16.06.2010 - 18:38 Uhr
hiermit hab ich alles beides auf einen streich...
function hook_menu_alter(&$items) {
unset($items['messages/new']);
}
genau, wenn du den Pfad gar
am 16.06.2010 - 18:46 Uhr
genau, wenn du den Pfad gar nicht mehr brauchst ist das "the way to go". Dann ist das ja GELÖST ;-)