[gelöst] drupal_set_title deaktivieren?
am 27.08.2010 - 08:57 Uhr in
Hallo,
bei mir übersteuert der Titel eines Add-Form den Titel des User-Profiles.
Ich habe nun drupal_set_title gefunden mit dem man den Titel angeben kann.
Gibt es auch eine Möglichkeit, dass man "drupal_set_title" für das Add-Form deaktivieren kann, sodass vom Add-Form keine Titelausgabe erfolgt und wieder der Ursprungstitel des User-Profiles verwendet wird?
Ich stochere hier leider wieder nur im Nebel rum.
Danke und Gruß
Matthias
- Anmelden oder Registrieren um Kommentare zu schreiben

Häng mal den Quelltext an,
am 27.08.2010 - 09:09 Uhr
Häng mal den Quelltext an, also hook_menu und den page_callback.
Hallo Sense, ich weiß leider
am 27.08.2010 - 09:38 Uhr
Hallo Sense,
ich weiß leider nicht wie man den Quelltext hook_menu und den page_callback ausgibt. Ich muss auch gestehen, dass ich nicht weiß was "hook_menu" und "page_callback" überhaupt ist.
Ich hab eigentlich nur das Beispiel hier nachgemacht http://www.drupalcenter.de/handbuch/18981 um ein Add-Form über einen Views-Block ins Profil zu bekommen.
<?php module_load_include('inc', 'node', 'node.pages'); ?><?php
// Output node form.
print node_add('user_gaestebuch');
?>
Ich dachte nun, dass man irgendwie mit Hilfe von "drupal_set_title" den Titelaufruf von "node_add('user_gaestebuch')" unterbinden kann sodass der Ursprungstitel des Profiles verwendet wird.
Grübel.
Du kannst doch dort den Titel
am 27.08.2010 - 09:37 Uhr
Du kannst doch dort den Titel mit drupal_set_title() wieder überschreiben.
Hallo Sense, hmmm - blos wie
am 27.08.2010 - 09:46 Uhr
Hallo Sense,
hmmm - bloß wie macht man das?
wenn ich das mal in Coder-Gaga-Sprache schreiben sollte ....
<?php// Set page title.
drupal_set_title(($dont_use_nodetyp_gaestebuch_title) -> $use_original_titel_from_profile));
?>
Ich weiß aber leider nicht wie man das richtig schreibt sodass wieder der Originaltitel verwendet wird. Ich spreche kein PHP.
Ich habe gerade endlose Threads auf Drupal.org durchgelesen - die richtige Schreibweise aber leider nicht finden können auch http://api.drupal.org/api/function/drupal_set_title/ bringt mich als PHP-Noob nicht weiter.
Gruß Matthias
Naja was sollte denn als
am 27.08.2010 - 09:50 Uhr
Naja was sollte denn als Titel verwendet werden?
Du kannst ja einfach
drupal_set_title('Test');, dann sollte der Titel sich in "Test" ändern.Zitat: Du kannst ja einfach
am 27.08.2010 - 09:59 Uhr
Du kannst ja einfach drupal_set_title('Test');, dann sollte der Titel sich in "Test" ändern.
Jo - soweit ist das klar.
Als Titel soll aber wieder - da der Views-Block im User-Profile geladen wird - der Inhaber/Autor des Profiles erscheinen bzw. der Original-Profile-Titel.
Vom Gedankengang müsste man dem View-Block bzw dem Add-Form beibringen.
"Schaue nach in welchem Profil Du geladen wirst"
"Schaue nach wer der Autor/Inhaber des Profiles ist"
"Dann -> drupal_set_title($author_from_profil);
oder besser
"Schaue nach in welchem Profil Du geladen wirst"
"Schaue nach wie der Originaltitel des Profils heißt"
"Dann -> drupal_set_title($original_title_from_profile);
Dass allerdings in funktionstüchtiges PHP umzuschreiben, kann ich leider nicht.
Hättest Du da einen Tip?
Grübelnde Grüße
Verwende doch mal
am 27.08.2010 - 10:36 Uhr
Verwende doch mal folgendes:
<?phpif(arg(0) == 'user' && is_numeric(arg(1)) {
$account = user_load(arg(1));
drupal_set_title($account->name);
}
?>
oder du erstellst eine eigene Version der node_add Funktion
<?php
global $user;
module_load_include('inc', 'node', 'node.pages');
if (node_access('create', 'user_gaestebuch')) {
$node = array('uid' => $user->uid, 'name' => (isset($user->name) ? $user->name : ''), 'type' => 'user_gaestebuch', 'language' => '');
print drupal_get_form('user_gaestebuch_node_form', $node);
}
?>
Ich würde die 2. Lösung bevorzugen
Hallo Sense, Version 1.
am 27.08.2010 - 10:31 Uhr
Hallo Sense,
Version 1. funktioniert super - nun wird der Name des Profile-Inhabers verwendet ;-)
Version 2: funzt leider nicht ganz da zwar der "Speichern" und "Vorschau-Botton" ausgegeben wird aber das Formular-Feld (für die Eingabe des Textes) und das Feld für den "Gästebuch-Titel" werden nicht angezeigt.
Version 1 ist aber erstmal ausreichend für mein Problem.
Vielen Dank für die Hilfe - das hätte ich alleine sicher nicht hinbekommen ;-)
Probier die 2. Lösung noch
am 27.08.2010 - 10:37 Uhr
Probier die 2. Lösung noch einmal, hatte vergessen eine Variable zu ersetzen.
Diese Lösung ist auch die Sauberere von beiden.
Perfekt - das funktioniert
am 27.08.2010 - 10:47 Uhr
Perfekt - das funktioniert nun spitzenmäßig.
Alleine befand ich mich bei diesem Problem auf verlorenem Posten ;-)
Nochmals herzlichen Dank.
Schulterklopfende Grüße
Matthias
Dafür ist die Community ja da
am 27.08.2010 - 11:07 Uhr
Dafür ist die Community ja da ... ;)