Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

Userprofile bookmarken

Eingetragen von wanderfrosch (56)
am 08.04.2008 - 16:38 Uhr in
  • Modul-Entwicklung
  • Drupal 5.x

Hallo,

kennt jemand eine Möglichkeit Benutzer Profile zu "My Bookmarks" hinzuzufügen. Ich habe es versucht mit dem Modul "views bookmark" nur schaffe ich es nicht in die Panels einen "Bookmark link" einzubauen.

Hat jemand eine Idee was ich falsch mache? Oder funktioniert mein Vorhaben so nicht.

Danke im vorraus.

‹ update-funktion ohne wirkung kleine frage zu sql-statement ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hat keiner

Eingetragen von wanderfrosch (56)
am 09.04.2008 - 12:11 Uhr

...eine Idee???

  • Anmelden oder Registrieren um Kommentare zu schreiben

Welches Profil verwendest Du?

Eingetragen von quiptime (4972)
am 09.04.2008 - 12:38 Uhr

Welches Profil verwendest Du? Das normale von Drupal oder ein Profil mit Node Profile oder aehnlich gelagerten Modulen?

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das Advanced Profile2.

Eingetragen von wanderfrosch (56)
am 09.04.2008 - 12:50 Uhr

Das Advanced Profile2.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nur Nodes koennen gebookmarkt werden

Eingetragen von quiptime (4972)
am 09.04.2008 - 12:55 Uhr

Wenn ich Jetzt richtig liege ist die Situation so.
Nur Nodes können gebookmarkt werden. Profile, auch mit Advanced Profile2 aufgepeppte, sind keine Nodes.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Was halt nur komisch ist,

Eingetragen von wanderfrosch (56)
am 09.04.2008 - 13:01 Uhr

Was halt nur komisch ist, dass ich in den Einstellungen von "Views Bookmark" alles das aktivieren kann.
Also: usernode,panel,user profile, etc.

Siehst Du ne andere Möglichkeit???

  • Anmelden oder Registrieren um Kommentare zu schreiben

"Node Profile"

Eingetragen von quiptime (4972)
am 09.04.2008 - 13:51 Uhr
wanderfrosch schrieb

Was halt nur komisch ist, dass ich in den Einstellungen von "Views Bookmark" alles das aktivieren kann.
Also: usernode,panel,user profile, etc.

Siehst Du ne andere Möglichkeit???

Wenn Du user profile als Option in der Bookmark Konfig siehst bedeutet es nicht zwingend das es auch waehlbar sein muss.

Beispiel fuer diese Logik/Unlogik ist CCK. Bei bestimmten Feldtypen wird auch das Feld der Optionsliste angezeigt, selbst wenn man kein Selectfeld definiert.

Ich kenne das Bookmark Modul nicht. Deswegen weiss ich nicht ob bei der Sache mit den User Profilen ein Workaround existiert - vermutlich eher nicht. Es sei den man verwendet die normalen (Advanced) Profile nicht.

Eventuell bringt Dich http://groups.drupal.org/profiles-as-nodes weiter.
Dort geht es in Richtung des Modules "Node Profile"

Wenn es keinen Workaround gibt um normale Profile zu Bookmarken und diese Funktionalitaet fuer Dich wichtig ist wirst Du wohl den Schritt in Richtung des Modules "Node Profile" gehen muessen. D. h., Du musst die (Advanced) Profiles der User auf Nodes umstellen die ein "Node Profile" Node sind.

PS
drupal.org ist Heute down, oder fast down.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo quiptime, vielen Dank

Eingetragen von wanderfrosch (56)
am 10.04.2008 - 08:50 Uhr

Hallo quiptime,

vielen Dank für die ausführliche Antwort.
Das hat erstmal auch in Sachen "Drupalhintergrundwissen" weiter geholfen.

...halt so als "Neudrupaler".

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wie meinst Du das

Eingetragen von wanderfrosch (56)
am 16.04.2008 - 13:05 Uhr

Wie meinst Du das ???

quiptime schrieb

D. h., Du musst die (Advanced) Profiles der User auf Nodes umstellen die ein "Node Profile" Node sind.

Kannst Du mir die Vorgehensweise mal näher erklären.

Das könnte mir, denke ich, weiter helfen. Da alle Module die was mit Bookmark zutun haben die NodeID abspeichern und keine UserID.

Bzw. ist es möglich anhand der UserID die dazugehörige NodeID abzufragen??

Wäre nett wenn ich von Dir hören würde. Wie gesagt ich bin noch Anfänger.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wie bereits gesagt, die

Eingetragen von quiptime (4972)
am 16.04.2008 - 16:02 Uhr

Wie bereits gesagt, die normalen Userprofile von Drupal sind keine Nodes. Deswegen verhalten sich die Profile nicht wie Nodes und koennen nicht wie Nodes verwendet werden.

Nodes koennen in einzelnen Nodetypes mit CCK erweitert werden. Ebenso kann man mittels Views sehr viel mit Nodes anstellen.

Um nun Profile von Usern als normale Nodes verwenden zu koennen gibt es verschiedene Module.

Usernode,
Node Profile
Bio

Zur Verwendung dieser Module gibt es einiges an Dokumentationen. Das Meiste davon wenn nicht alles bezieht sich auf Drupal 5.x. Auch sind nicht alle Dokus zu dem Thema ganz aktuell. Wenn man diese Dokus liest, vor allem das von Michel, kommt man schnell zu einer verwirrenden Situation und verliert den Ueberblick was denn nun eigentlich genau zu tun ist.

Aus meiner Erfahrung ist die Verwendung des Modules Node Profile am geeignetsten. Damit meine ich, einzig die Verwendung dieses Modules. Ohne das Modul Usernode. Wird das Modul Node Profile verwendet kann bzw. sollte man sogar das normale Userprofil deaktivieren.

Um auf deine Frage mit den Node ID's und den User ID's zurueckzukommen.

Das Modul Node Profile hat eine Funktion aehnlich dem ganz normalen Node Modul. Beim normalen Node Modul hat die Funktion den Namen node_load(). Beim Modul Node Profile hat die Funktion den Namen nodeprofile_load().
Diese Funktion ist das schweizer Taschenmesser bei Userprofilen unter Verwendung von Node Profile. Diese Funktion kann immer dann zum Einsatz kommen wenn man gezielt auf Daten einzelner Node Profile Node zugreifen will.

Beispiel eines solchen Zugriff.

Ein Nodetyp "address" mit Namen Adresse wurde definiert und mit CCK erweitert. Er hat u. a. die Felder "field_firstname" und "field_lastname".

Nun gibt es von vielen Usern jeweils ein Node vom Typ "address". Das angelegte Template ist "node-address.tpl.php". Bei der Ausgabe der einzelnen Nodes vom Typ "address" soll die User ID ermittelt und die beiden Felder "field_firstname" und "field_lastname" sollen extra formatiert ausgegeben werden. Im Template kennt man einzig die Node ID.

Im Template "node-address.tpl.php" kommt dieser Code zum Einsatz:

$mynode = nodeprofile_load('address', arg(1));

// Vorname
$firstname = $mynode->field_firstname[0]['value'];
//Nachname
$lastname = $mynode->field_lastname[0]['value'];
// User ID
$userid = $mynode->uid;

Bei Anzeige einer Node lautet die URL http://domain.com/node/x. Die ID der Node ist x. Und demzufolge ist im Codebeispiel bei nodeprofile_load('address', arg(1)) arg(1) die ID der aktuellen Node.

Hinweis:
Ich habe nicht aus Spass $mynode im Codebeispiel $mynode = nodeprofile_load('address', arg(1)); geschrieben.
Der Grund.
Man kann sich schnell das normale Nodeobject ueberschreiben wenn man gewohnheitsmaessig $node = nodeprofile_load('address', arg(1)); verwendet.

Ich hoffe ich konnte Dir ein Stueck weiterhelfen.

Ansonsten musst Du Deine Fragestellung etwas praezisieren.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo quiptime,

Eingetragen von wanderfrosch (56)
am 17.04.2008 - 11:27 Uhr

Hallo quiptime,

Danke für die ausführlichen Infos.
Verwirrend ist seeehr gut aus gedrückt.

Das hat mir, dank Deines Code-Schnipsels alles sehr weitergeholfen. Das Problem was ich mit allem habe ist, dass das AdvProf ja auf Node Profile aufsetzt (zumindest muss man es im Inhaltestyp aktivieren).

Usernode wird wiederum z.B. von Buddylist UI benötigt. was zur Folge hat, dass ich dieses Modul auch brauche.

Ich habe vor, ähnlich wie bei XING, das meine Nutzer die Möglichkeit haben diverse, andere Nutzerprofile die für sie relevant sind zu bookmarken und ggf. (das wäre dann der zweite Schritt) sich noch Notitzen zu den abgespeicherten Benutzern machen zu können.

Wie gesagt, die beiden Bookmark Module die es z.Z. gibt, speichern halt nur die NodeID´s und nicht die UserID´s.
Es ist dann so wenn die ID eines Users "4" ist und ich will mir den User bookmarken, wird mir, wenn ich auf "My Bookmarks" gehe dann z.B. der Node "4" angezeigt. Der kann dann allerdings vom Typ "Story" sein. Weil die beiden ID´s gleich sind.
Das ist halt das Problem.

Um auf Deinen Code Schnipsel zurückzukommen. Ich habe es jetzt so gelöst.

<?php
 
//Modul advanced_profile/includes/panels-content_userinfo.inc
 
$mynode = nodeprofile_load('usernode', arg(1));
 
$myuserid = $mynode->nid;

   if (
module_exists('views_bookmark') && ($account->uid != $user->uid)){
      
$vars['bookmark_user_class'] = "bookmark-user";
       
$vars['bookmark_user_icon'] = theme_image(path_to_theme() . '/' . $themedir . "/images/bookmark_user.png", 'Add user to Bookmarks', 'Add user to Bookmarks', NULL, TRUE);
       
$vars['bookmark_user_text']= t('Bookmark User');
       
$vars['bookmark_user_link'] ='views_bookmark/mark/'.$myuserid.'/1';       
       
$vars['bookmark_user'] = '<div class="'.$vars['bookmark_user_class'].'">' . l($vars['bookmark_user_icon'] . ' '. $vars['bookmark_user_text'], $vars['bookmark_user_link'],NULL,NULL,NULL,NULL,TRUE) .'</div>';
          }
?>

Das scheint bei den ersten Versuchen auch funktioniert zu haben.

Ich hoffe nicht, dass Du jetzt die Hände über dem Kopf zusammen schlägst. ;-)

LG,
Der Wanderfrosch

  • Anmelden oder Registrieren um Kommentare zu schreiben

OK, meine Empfehlung mit

Eingetragen von quiptime (4972)
am 17.04.2008 - 13:54 Uhr

OK, meine Empfehlung mit Node Profile only zu arbeiten ist die abgespeckteste Variante um ein oder mehrere Nodetypes als Userprofil/e zu verwenden.

Du hast natuerlich Recht mit der geschilderten Situation der Abhaengigkeiten bezueglich Usernode usw. - eben in Deinem konkreten Aufgabenszenario.
 

Dein Codesnipped. Wo hast Du den Code eingefuegt? Deute ich richtig mit "panels-content_userinfo.inc"?
 

Noch was Allgemeines zur Verwendung und dem Einsatz von Templates.

Sehe Dir mal den Code der beteiligten Module Bookmarks und AdvProf naeher an. Insbesondere suche dabei nach Funktionen mit dem Schema

function theme_ich_eine_funktion()

Diese Theme-Funktionen geben in der Regel irgend etwas aus. Fuer diese Funktionen kann man Templates erstellen. Wenn Du so willst sind das dann Funktions-Templates - ist jetzt 'ne inoffizielle Bezeichnung von mir.

Mit solchen Funktions-Templates solltest Du arbeiten. Damit wird der Code der einzelnen Module/Moduldateien in denen diese Templates "ihren Ursprung" haben nicht angetastet und sie bleiben fuer eventuelle Updates in Bereitschaft.

Meist gibt es an diesen Theme-Funktionen Beschreibungen ueber ihre Funktionen. Oder man kann mit etwas Phantasie und bei vom Modulentwickler guenstig gewaehlten Variablennamen auf ihre Funktion schliessen. Auch kann man nachsehen was an den Stellen passiert an denen diese Theme-Funktionen im Modul aufgerufen werden.

Beisp.

Die Funktion function theme_ich_eine_funktion($foo, $bar) wird mit aufgerufen/angesprochen mit theme('ich_eine_funktion', $variable1, $variable2).

Wenn eine solche Theme-Funktion Variablen uebernimmt ist es manchmal interessant zu wissen wie die Variablen gefuellt werden. Deswegen schaut man an die Stellen wo diese Funktionen aufgerufen/angesprochen werden.
Mit etwas Phantasie und bei vom Modulentwickler guenstig gewaehlten Variablennamen kann man dabei wichtige Informationen gewinnen die man fuer seinen eigenen Code bzw. die Programmierungen im Funktions-Template wissen sollte oder gebrauchen kann.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
Weiter

Neue Kommentare

  • Arrrrg. Nix Tabelle :-D /*
    vor 1 Woche 2 Tagen
  • Textboxen mit Tabelle
    vor 1 Woche 2 Tagen
  • Du sollst ja auch keine
    vor 1 Woche 2 Tagen
  • Theme
    vor 1 Woche 2 Tagen
  • Welches Theme benutzt du
    vor 1 Woche 3 Tagen
  • Mit Responsive Raster hatte
    vor 1 Woche 3 Tagen
  • Hallo Alex,um das Häkchen
    vor 1 Woche 3 Tagen
  • Modul view_unpublished
    vor 1 Woche 5 Tagen
  • Modul "override node options"
    vor 1 Woche 5 Tagen
  • Im Grunde ist dass ein
    vor 2 Wochen 1 Tag

Statistik

Beiträge im Forum: 250270
Registrierte User: 20478

Neue User:

  • Stevebok
  • Robertnobia
  • AltonRaf

» Alle User anzeigen

User nach Punkten sortiert:
wla9463
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 1 Benutzer und 5 Gäste online.

Benutzer online

  • 8biter

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association