Profilinformationen im Block ausgeben / Modul author-pane anpassen
am 04.08.2009 - 13:20 Uhr in
Liebe Leute,
über die Suche bin ich leider nicht klug geworden ...
Ich habe mir mit dem Modul author-pane http://drupal.org/project/author_pane einen Block mit dem Profil generiert, der jetzt neben jeden Artikel ausgegeben wird.
z.B. hier http://www.thematisch.at/thematisch-beim-online-webmontag-am-27-juli-2009
Nun würde ich gerne Felder aus den (von mir schon angelegten) Profilinformationen z.B. "vorname" und "nachname" auch
in diesem Block stehen haben und nicht nur Informationen, die offenbar das System automatisch generiert wie das Erstanmeldedatum.
Vermutlich ginge das in einem dieser beiden Files des Moduls:
author-pane-block.tpl.php
author-pane.tpl.php
Was ist der php-code, um das reinzukriegen? Irgendwie muss ich ja
da abfragen können, was schon da ist auf der Site ...
Oder gibts da ein anderes Modul, um das komfortabler zu machen?
Vielen herzlichen Dank!
LG Andrea
(ich habe leider keine Ahnung von php, bitte einfach antworten! Danke!)
- Anmelden oder Registrieren um Kommentare zu schreiben
$profile
am 05.08.2009 - 10:30 Uhr
Vermutlich ginge das in einem dieser beiden Files des Moduls:
author-pane-block.tpl.php
author-pane.tpl.php
Ich vermute du hast recht.
Wenn ich
autor_pane/modules/profile.author-pane.inc
richtig verstehe, dann müsstest du in der Template-Datei eine Variable$profile
zur Verfügung haben, die ein Array mit Profilinformationen enthält.Als erstes solltest du dir anschauen, wie dieses Array strukturiert ist:
<pre><?php var_export($profile); ?></pre>
(alternativ kannst du auch den Theme Developer aus dem Devel-Modul verwenden).In der ersten Ebene findest du die Kategorien deines Profils, in der zweiten Ebene findest du Feldnamen.
Beispiel:
<?php
array(
'account' => array(
'#type' => 'user_profile_category',
'#title' => 'account',
'name' => array(
'#type' => 'user_profile_item',
'#title' => 'Benutzername',
'#value' => 'andrea',
'#weight' => 0,
'#attributes' => array('class' => 'profile-name'),
)
),
'Benutzerinformationen' => array(
'#type' => 'user_profile_category',
'#title' => 'Benutzerinformationen',
'profile_vorname' => array(
'#type' => 'user_profile_item',
'#title' => 'Vorname',
'#value' => 'Andrea',
'#weight' => 0,
'#attributes' => array('class' => 'profile-profile_vorname'),
)
'profile_nachname' => array(
'#type' => 'user_profile_item',
'#title' => 'Nachname',
'#value' => 'Mayer-Edoloeyi',
'#weight' => 0,
'#attributes' => array('class' => 'profile-profile_vorname'),
)
),
);
?>
Die komplette Kategorie 'Benutzerinformationen' kannst du jetzt wie folgt ausgeben:
<?php
echo drupal_render($profile['Benutzerinformationen']);
?>
Oder du gibst nur das Feld mit dem Vornamen aus:
<?php
echo drupal_render($profile['Benutzerinformationen']['profile_vorname']);
?>
Oder du gibst nur den Vornamen aus:
<?php
echo check_plain($profile['Benutzerinformationen']['profile_vorname']['#value']);
?>
Das
check_plain
ist im letzen Fall wichtig um Cross-Site-Scripting und ähnliches zu verhindern.drupal_render
macht das automatisch wenn es angebracht ist.--
Danke!
am 05.08.2009 - 14:26 Uhr
Ich sage gleich mal danke. Aber leider verstehe ich nicht, wo ich denn das
jetzt hinschreiben soll, um das abzufragen ...
Mhhhm, LG Andrea
In die author-pane.tpl.php
am 05.08.2009 - 14:28 Uhr
In die
author-pane.tpl.php
.--
Passiert nix
am 05.08.2009 - 15:06 Uhr
Ich habe jetzt in die author-pane.tpl.php ganz unten
<?php
var_export($profile);
?>
Danke, Andrea
andreame schrieb Ich habe
am 05.08.2009 - 15:08 Uhr
Ich habe jetzt in die author-pane.tpl.php ganz unten
<?php
var_export($profile);
?>
Nö passt schon. Müsste ich genauer untersuchen was da flasch läuft.
--
author-pane-block.tpl.php
am 06.08.2009 - 08:08 Uhr
Versuch's mal in der
author-pane-block.tpl.php
. Bei mir wird das Author Pane nicht als Block angezeigt und es gibt die Variable$profile
. Da du das Author Pane als Block verwendest könnte es sein dasauthor-pane-block.tpl.php
zur Anzeige des Author Panes verwendet wird.Übrigens: mit dem Theme-Developer aus oben erwähntem Devel-Modul kannst du selbst herausfinden, welche Template-Datei zur Ausgabe eines bestimmten Teils der Seite verwendet wird, welche Variablen dort zur Verfügung stehen und durch welche Datei du die Ausgabe überschreiben kannst.
Letzteres ist insbesondere dahingehend wichtig, das du ja nicht die Datei im Modulverzeichnis ändern solltest, sondern sie in dein Themeverzeichnis kopieren und die Kopie ändern solltest.
--