PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Gelöst] Neue, personalisierte Profilliste erstellen



Nortix
14.07.2007, 10:11
Hallo,

und erstmal meinen Glückwunsch zu dieser hevorragenden Umsetzung für Drupal. :)

Ich möchte eine angepasste Profileliste erstellen. In dem Forum von drupal.org (http://drupal.org/node/16011) gibt es verschiedene Hinweise, aber keinen davon konnte ich unter YAML umsetzen. Habe ich da etwas übersehen?

Grüße

hass
14.07.2007, 10:57
Habe mir das mal angeschaut, aber ich kann keinen Grund erkennen warum das nicht funktionieren sollte.


Welche YAML für Drupal Version?
Welches Subtheme benutzt Du?
Wo hast Du die phptemplate_user_profile funktion eingebaut?


Ab Version 2.5.2.5:
1. phptemplate_user_profile in template.inc einbauen
2. user_profile.tpl.php ins Verzeichnis "/sites/all/themes/yaml" legen, wenn das YAML Theme dort installiert wurde (ansonsten Pfad anpassen)
3. bei Verwendung von Subthemes müssen in den /sites/all/themes/yaml/layouts/yaml_* Ordnern Dummy Dateien mit dem Namen "user_profile.tpl.php" angelegt werden, welche die Zentrale "/sites/all/themes/yaml/user_profile.tpl.php" einbinden (baugleich zu node.tpl.php).

getestet... funktioniert.

Nortix
14.07.2007, 11:13
1. phptemplate_user_profile in template.inc einbauen

Das war der Fehler. Ich habe den Code in die template.php kopiert.

Danke für die schnelle Hilfe.

hass
14.07.2007, 12:24
Das muss grundsätzlich auch funktionieren, aber dann hättest Du es in jede template.php einbauen müssen...

Nortix
14.07.2007, 22:22
Hätte ich machen können, aber warum schwer wenn es auch einfach geht. :D

imported_imported_Ben
22.08.2007, 21:22
Hallo.

Ich habe die user_profile.tpl.php in template.inc eingebaut (beides in ertsen Orner yaml). Dann habe ich die gleiche user_profile.tpl.php in den Theme Ordner abgelegt, das ich benutze. Leider weiß ich nicht, wie ich die Datei richtig erstelle:
"3. bei Verwendung von Subthemes müssen in den /sites/all/themes/yaml/layouts/yaml_* Ordnern Dummy Dateien mit dem Namen "user_profile.tpl.php" angelegt werden, welche die Zentrale "/sites/all/themes/yaml/user_profile.tpl.php" einbinden (baugleich zu node.tpl.php)."

Es funktioniert, heißt also das Userprofil wird so angezeigt, wie ich es möchte.

Ich habe also fast die gleiche Konstellation wie hier beschreiben, jedoch habe ich ein Problem. Wenn ich mich einloggen möchte erscheint nur noch eine weiße Seite.

hass
23.08.2007, 20:02
Hallo.

Ich habe die user_profile.tpl.php in template.inc eingebaut (beides in ertsen Orner yaml). Dann habe ich die gleiche user_profile.tpl.php in den Theme Ordner abgelegt, das ich benutze. Leider weiß ich nicht, wie ich die Datei richtig erstelle:
"3. bei Verwendung von Subthemes müssen in den /sites/all/themes/yaml/layouts/yaml_* Ordnern Dummy Dateien mit dem Namen "user_profile.tpl.php" angelegt werden, welche die Zentrale "/sites/all/themes/yaml/user_profile.tpl.php" einbinden (baugleich zu node.tpl.php)."

Es funktioniert, heißt also das Userprofil wird so angezeigt, wie ich es möchte.

Ich habe also fast die gleiche Konstellation wie hier beschreiben, jedoch habe ich ein Problem. Wenn ich mich einloggen möchte erscheint nur noch eine weiße Seite.




Warum hast Du die Datei "user_profile.tpl.php" in die "template.inc" eingebaut? Die Datei wird in dieses Verzeichnis gelegt - mehr nicht.

In den Layouts-Verzeichnissen legt man dann auch wieder eine "Dummy"-Datei mit den Namen "user_profile.tpl.php". Diese darf dann aber nur folgendes enthalten und bindet damit die zentrale Datei ein:


<?php
include realpath(dirname(__FILE__) .'/../../user_profile.tpl.php');



Wegen der "weißen Seite" müsste man in die Logfiles oder das Drupal Log schauen... spontan würde ich auf zu wenig Speicher in PHP (oder ein Programmierfehler) tippen...

imported_imported_Ben
24.08.2007, 10:13
Sorry, hatt mich falsch ausgedrückt. Habe folgendes in die templat.inc eingebaut:

/**
* Catch the theme_profile_profile function, and redirect through the template api
*/
function phptemplate_user_profile($user, $fields = array()) {
// Pass to phptemplate, including translating the parameters to an associative array. The element names are the names that the variables
// will be assigned within your template.
/* potential need for other code to extract field info */
return _phptemplate_callback('user_profile', array('user' => $user, 'fields' => $fields));
}

Wenn dies nicht eingefügt ist, wird das neue Layout der Profile nicht angezeigt, aber die weiße Seite kommt beim einloggen. Ist es ausgebaut, läuft alles normal. Auch keine Probleme beim login.

Hier mal der Logeintrag:

Cannot modify header information - headers already sent by (output started at /var/www/virtual/seite.de/drupal/htdocs/sites/all/themes/yaml/template.inc:1) in /var/www/virtual/seite.de/drupal/htdocs/includes/common.inc in Zeile 309.


Ben

hass
24.08.2007, 17:52
Hast Du irgendwo einen schließenden PHP Tag


?>

am Ende der Datei eingebaut? Wenn ja - umbedingt entfernen... sollte es das nicht gewesen sein, bitte nochmal melden.

imported_imported_Ben
25.08.2007, 10:50
Nein, keinen schliessenden PHP Tag...

In den bearbeiteten Datein ist auch kein leerzeichen am Anfang einer Datei.

Fehlersuche geht weiter.

Ben
So langsam verzweifel ich...

imported_imported_Ben
28.08.2007, 18:24
Hallo.

Kann es an der Ergänzung der template.inc liegen, das ich da einen Bock drin habe. Ich komme einfach nicht weiter.
Vielleicht kann ja jemand mal den Code posten, den er verwendet...

Hier meiner:

/**
* Catch the theme_profile_profile function, and redirect through the template api
*/
function phptemplate_user_profile($user, $fields = array()) {
// Pass to phptemplate, including translating the parameters to an associative array. The element names are the names that the variables
// will be assigned within your template.
/* potential need for other code to extract field info */
return _phptemplate_callback('user_profile', array('user' => $user, 'fields' => $fields));
}


Ben

imported_imported_Ben
29.08.2007, 11:55
So, wenn ich eingeloggt bin und dann die geänderten Dateien per ftp einspiele, kann ich weiterhin eingeloggt arbeiten und die Profile werden auch richtig angezeigt. Sobald ich mich auslogge funktioniert es wieder nicht.

Fehlersuche geht weiter...


Ben

hass
29.08.2007, 17:39
Normalerweise sind doch User Profiles ohne Login garnicht sichtbar... da fehlt dann vielleicht die Berechtigung.

imported_imported_Ben
30.08.2007, 09:03
Ich habe aber die Berechtigung gesetzt, das alle die User sehen dürfen. Also ist das dann auch ok. Das wird doch aber nichts mit dem Login zu tun haben. Denn ohne Änderung der Profile geht ja alles...

Die Fehlersuche geht weiter.


Ben