phptemplate_preprocess_user_profile funktioniert nicht, weight verändern oder Teile löschen
Eingetragen von DrupalFan (1646)
am 15.06.2010 - 17:01 Uhr in
am 15.06.2010 - 17:01 Uhr in
Keine der 3 Zeilen hat irgendeine Wirkung:
function phptemplate_preprocess_user_profile(&$variables) {
$variables['account']->content['simplenews']['my_newsletters']['#weight'] = 10;
unset ($variables['account']->content['simplenews']);
unset ($variables['profile']['simplenews']);
}
Warum nicht?
Wie kann ich die SimpleNews-Ausgabe im oberen Bereich der Profilseite entweder entfernen oder nach unten versetzen (weight)?
Ist wirklich unsinnig, das ganz oben auszugeben.
Danke!
- Anmelden oder Registrieren um Kommentare zu schreiben
Hast Du mal überprüft, ob
am 15.06.2010 - 17:25 Uhr
Hast Du mal überprüft, ob diese Funktion überhaupt angesprungen wird?
Beste Grüße
Werner
Ja
am 15.06.2010 - 17:52 Uhr
Ja klar, habe einige Ausgaben gemacht mit print_r um herauszufinden, wie ich die Variablen ansprechen kann.
Sieh Dir die Funktion
am 15.06.2010 - 18:04 Uhr
Sieh Dir die Funktion template_preprocess_user_profile(&$variables) and uns schreibe sie in Deiner Preprocess Funktion um. Schmeiß einfach im foreach-Loop die Simplenews Information raus oder lösche sie vor der Zeile mit dem implode über den entsprechenden Key.
Beste Grüße
Werner
template_preprocess_user_profile -> leere Profile
am 15.06.2010 - 18:33 Uhr
Danke, aber wenn ich den Code der Original template_preprocess_user_profile verwende, dann sind alle Profilseiten leer!
function phptemplate_preprocess_user_profile(&$variables) {
$variables['profile'] = array();
// Sort sections by weight
uasort($variables['account']->content, 'element_sort');
// Provide keyed variables so themers can print each section independantly.
foreach (element_children($variables['account']->content) as $key) {
$variables['profile'][$key] = drupal_render($variables['account']->content[$key]);
}
// Collect all profiles to make it easier to print all items at once.
$variables['user_profile'] = implode($variables['profile']);
}