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

Freund hinzufügen auf der Profilseite mit "User Relationships"

Eingetragen von Vieper (22)
am 09.01.2010 - 16:29 Uhr in
  • Module
  • Drupal 6.x

Hi,
ich würde gerne auf der Profilseite von jedem user die möglichkeit haben ihn direkt als Freund hinzuzufügen und das möchte ich gerne in die "user-profile.tpl.php" einbauen.

Ich denke, es müsste dem Code um jemanden direkt eine Nachricht mit privatemsg zuschreiben ja recht ähnlich sein:

<?php
print $profile[privatemsg_send_new_message];
?>

Der funktioniert auch.

Also dachte ich mir für User relationships folgendes:

<?php
print $profile[user_relationships_api_request_action];
?>

Doch das funktioniert leider nicht. Da kommt nichts.

Kann mir einer weiterhelfen?

Lg Vieper

‹ Exposed Filters und Flags. Im Suchformular auch Suche nach geflaggten Inhaltstypen ermöglichen? [gelöst]Non-CCK-Feld mit Inhalt aus CCK-Feld füllen? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

weiß keiner ne Antwort?

Eingetragen von Vieper (22)
am 19.01.2010 - 16:03 Uhr

weiß keiner ne Antwort? oder habe ich mich vllt. unverständlich ausgedrückt?

Es gibt ja auch schon einen Block in dem genau das, also einen Freund hinzufügen erreicht wird... Nur will ich es nicht als Block sondern im Profil eingebunden. Ich komme aber leider nicht and den Code von dem Block ran, also weiss nicht was da drin steht...

Jemand ne Idee?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi, ich bin selbst noch ganz

Eingetragen von steeph (92)
am 23.01.2010 - 14:31 Uhr

Hi, ich bin selbst noch ganz ungeübt mit Drupal. Aber ich würde sagen mit

<?php
print $profile[user_relationships_ui];
?>

erreichst du, was du möchtest.
Vielleicht hilft dir auch http://drupal.org/node/35728 weiter.

Und danke für die Frage. Damit hast du mir gleich zwei Antworten gegeben, die ich gerade gesucht hab *g*.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Oh man, ich habe alles

Eingetragen von Vieper (22)
am 23.01.2010 - 16:37 Uhr

Oh man, ich habe alles mögliche ausprobiert aber genau das nicht XD

Ich danke dir VIELMALS!!!!!!!!!

Jetz weiss nich vllt. noch zufällig mal eben wie ich den Text ändern kann der da steht, bzw. wo? Also im moment steht ja da:

Beziehungen
Beziehungs Aktionen
Become ...`s Freund

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vieper schrieb Jetz weiss

Eingetragen von Thoor (3678)
am 23.01.2010 - 17:21 Uhr
Vieper schrieb

Jetz weiss nich vllt. noch zufällig mal eben wie ich den Text ändern kann der da steht, bzw. wo? Also im moment steht ja da:

In Deiner Oberflächenübersetzung admin/build/translate

thoor - Thomas Ortner
Drupal 7 Screencasts in deutsch!

  • Anmelden oder Registrieren um Kommentare zu schreiben

hmm also ich könnte ja auch

Eingetragen von Vieper (22)
am 23.01.2010 - 20:14 Uhr

hmm also ich könnte ja auch einfach die .po datei dafür umschreiben oder?
Allerdings möchte ich ja auch gerne die formatierung ändern, also was genau da stehen soll. Z.B hätte ich gerne das dort steht:
... zur Freundesliste hinzufügen
oder
... als Freund hinzufügen

Und nicht noch der Quatsch mit Beziehungen, Aktionen oderso

  • Anmelden oder Registrieren um Kommentare zu schreiben

Meine Lösung

Eingetragen von steeph (92)
am 30.01.2010 - 22:25 Uhr

Weil ich 0 Ahnung von PHP und nur wenig Erfahrung mit Drupal hab, ist das möglicherweise der schlechteste Weg es zu tun, aber bei mir funktionierts wunderbar. Ich hab mir meine Lösung aus Code-Schnippseln von anderen zusammengesucht und noch etwas dran gefrickelt. Also darf gerne jemand einen besseren/saubereren Vorschlag machen.

In die user-profile.tpl.php

Um bestehende Beziehungen (und einen Entfernen-Link) anzuzeigen:

<?php
global $user;
     
$actions = _user_relationships_ui_between($user, $account);
          if (
count($actions)) {
           
//get remove link from array
           
foreach($actions as $remove){
             
//print remove link
             
print $remove; print "<br/><br/>";
            }
          }
   
?>

Für einen Become-a-Fan-Link:

<?php
global $language;
?>

<?php
      $req
= $user->uid;
     
$acc = $account->uid;
      if (
user_relationships_load(array('between' => array($req, $acc), 'rtid' => '10', 'approved' => 1), array('count' => TRUE)) > 0){
//        print $remove;
     
}
      else{
        print
"<a href=\"?q=";
        print
$language->language;
        print
"/relationship/";
        print
$account->uid;
        print
"/request/10\">";
        print
t('Become a Fan');
        print
"</a><br/>";
      }
   
?>

Hier musst du an beiden Stellen die 10 durch die ID des jeweiligen Beziehungstyps ersetzen (also vermutlich 1, wenn du nur einen Beziehungstyp angelegt hast) und eben das 'Become a Fan' durch was passendes ersetzen.
Den zweiten Block kannst du für jeden Beziehungstyp wiederholen, jeweils mit einer anderen ID.

Hoffe es hilft weiter.

  • Anmelden oder Registrieren um Kommentare zu schreiben

<?phpglobal $user;$currentuid

Eingetragen von Hacky (255)
am 29.03.2010 - 12:59 Uhr

<?php
global $user;
$currentuid = $user->uid;
$uid = arg(1);
$name = user_load($uid);
$name = $name->name;
$rid = array();

$relationships = user_relationships_load(array('between' => array($currentuid, $uid), 'rtid' => $rtid, 'approved' => 1));

if (
module_exists('devel')) {
    
dsm($relationships);
}

foreach (
$relationships as $key => $value) {
$rid = $key;
}

if (
count($relationships) === 0) {
   
$friender = '<tr>
<td><a href="/relationship/'
.$uid.'/request?destination=user/'.$uid.'" title="Add Friend" class="user_relationships_popup_link"><img src="/files/icons/buddyrequest.png"></a></td>
<td><a href="/relationship/'
.$uid.'/request?destination=user/'.$uid.'" title="Add Friend" class="user_relationships_popup_link">Befriend '.$name.'</a></td>
</tr>'
;

}

elseif (
count($relationships) >0) {

$friender = '<tr>
<td><a href="/user/1/relationships/'
.$rid.'/remove?destination=user/'.$uid.'" title="Remove Friend" class="user_relationships_popup_link"><img src="/files/icons/buddyremove.png"></a></td>
<td><a href="/user/1/relationships/'
.$rid.'/remove?destination=user/'.$uid.'" title="Remove Friend" class="user_relationships_popup_link">De-Friend '.$name.'</a></td>
</tr>'
;

}
?>


<table>
<?php print $friender;?>
<tr>
<td><a href="linktousersfriends"><img src="/files/icons/buddylist.png"></a></td>
<td><a href="linktousersfriends"><?php print $name;?>'s friends</a></td>
</tr>
<tr>
<td><a href="/messages/new/<?php print $uid;?>" title="Message <?php print $name;?>"><img src="/files/icons/compose.png"></a></td>
<td><a href="/messages/new/<?php print $uid;?>" title="Message <?php print $name;?>">Message <?php print $name;?></a></td>
</tr>
<tr>
<td><a href="usercontent/<?php print $uid;?>" title="<?php print $name;?>'s content"><img src="/files/icons/globe.png"></a></td>
<td><a href="usercontent/<?php print $uid;?>" title="<?php print $name;?>'s content"><?php print $name;?>'s content</a></td>
</tr>
</table>
?>

Damit geht es besser, müsst es nur richtig zusammen setzten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich finde das ist alles sehr

Eingetragen von md (3717)
am 29.03.2010 - 13:21 Uhr

Ich finde das ist alles sehr umständlich.
Warum nicht einfach im Theme eine neue Region definieren, diese, z.B. in der page.tpl.php oder user-profile.tpl.php, dort ausgeben wo man sie haben will und dann den Block für diese Region auf der User Profilseite aktivieren.
Vielleicht noch mit CSS etwas stylen und fertig.

vg
md - DrupalCenter.de

mdwp* Drupal Consulting & Services

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das sagst du so einfach das

Eingetragen von Hacky (255)
am 29.03.2010 - 13:57 Uhr

Das sagst du so einfach das problem ist wenn du das so ausgeben...bekommst du 4 Zeilen Text:

Beziehung
Beziehnung blaa...
und dann noch "wollen sie blaa hinzu adden"

das Beziehung ist einfach unötig und sieht scheisse aus ... wenn du das mit css bearbeiten willst geht das nur mit dem ganzen Text ! ... hat schon sein Grund das es hier so beschrieben wird ...

hier noch ein beipsiel funktioniert super !

<?php
   
global $user;

   
//check if user may have this relationship
   
if (user_relationships_api_can_request($user->uid, '1')) {
   
$req = $user->uid;
   
$acc = $account->uid;
     
//check if relationship allready excists, change the rtid to the relationship id you want them to have
     
if (user_relationships_load(array('between' => array($req, $acc), 'rtid' => '1', 'approved' => 1), array('count' => TRUE)) > 0){
       
//create remove action
       
$actions = _user_relationships_ui_between($user, $account);
        if (
count($actions)) {
         
//get remove link from array
         
foreach($actions as $remove){
           
//print remove link
           
print $remove;
          }
        }
      }
      else{
       
//create relation action
       
$actions = _user_relationships_ui_actions_between($user, $account);
        if (
count($actions)) {
         
//print create link action
         
print $actions[0];
        }
      }
    }
   
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das sag ich nicht nur so

Eingetragen von md (3717)
am 29.03.2010 - 15:21 Uhr

Das sag ich nicht nur so einfach, sondern mach das auch. Z.B. in der Community für den beck Verlag.
http://community.beck.de

Aber natürlich kann das jeder so lösen, wie er möchte.

vg
md - DrupalCenter.de

mdwp* Drupal Consulting & Services

  • Anmelden oder Registrieren um Kommentare zu schreiben

Okay, dann würd ich gern

Eingetragen von Hacky (255)
am 29.03.2010 - 15:46 Uhr

Okay, dann würd ich gern wissen wie du das gemacht hast ? beschreib mal genauer bitte :)

ich meine wenn ich das hier ausfüre

<?php
print $profile[user_relationships_ui];
?>

erhalte ich
___________________________
Beziehungen

Your relationships to this user

* Freund (Entfernen)
___________________________

Was will ich da groß ändern mit CSS ?

Gruß

  • Anmelden oder Registrieren um Kommentare zu schreiben

Viel genauer beschreiben, als

Eingetragen von md (3717)
am 29.03.2010 - 16:38 Uhr

Viel genauer beschreiben, als oben, kann ich es eigentlich nicht. Ich platziere einfach den Block
"User Relationships: Actions" in eine spezielle Region.

vg
md - DrupalCenter.de

mdwp* Drupal Consulting & Services

  • Anmelden oder Registrieren um Kommentare zu schreiben

wie hast du denn den block in

Eingetragen von tbm (6)
am 08.09.2010 - 08:57 Uhr

wie hast du denn den block in die Region bekommen? Ich habe den nicht zur auswahl wenn ich Inhalt hinzufügen möchte.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Den Block wirst du nicht so

Eingetragen von Hacky (255)
am 10.09.2010 - 11:47 Uhr

Den Block wirst du nicht so auf dein Profil bekommen. du musst in der user-profile.tpl.php das hier eintragen:

<?php
print $profile[user_relationships_ui];
?>

dann kannst du User deiner liste hinzufügen über das Profil...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn man eine entsprechende

Eingetragen von md (3717)
am 10.09.2010 - 12:03 Uhr

Wenn man eine entsprechende Region im Theme hat, bekommt man den Block selbstverständlich ins Profil. Wir haben den z.B. in der 'content_top' untergebracht, könnte aber ebenso eine Sidebar sein.
Wieso sollte ein Modul sonst einen Block zur Verfügung stellen?

vg
md - DrupalCenter.de

mdwp* Drupal Consulting & Services

  • Anmelden oder Registrieren um Kommentare zu schreiben

na klar.

Eingetragen von tbm (6)
am 13.09.2010 - 11:36 Uhr

ja logisch, wenn ich den Block nicht aktiviere, kann ich den natürlich auch in den Views nicht verwenden.. Danke an alle. Ich hab´s nun also.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Zusätzliche Felder in der Userliste
  • Drupal 8 - Datenbank Mindmap
  • Buch: Mastering Drupal 8 Views!
  • The website encountered an unexpected error. Please try again later.
  • Drupal 8: Modul gesucht - Hervorhebung wichtiger Inhalte
  • Drupal 8: Modul prevnext
  • Verwirrung / Unterstützung
  • Vom jeweiligen User die Kunstwerke ausgeben.
  • Problem mit der Readiness für Automatic Updates
  • Multidomain
  • [gelöst]Drupal 8: Fußzeilenmenü auf Login-Seite verschwunden
  • Fullcalendar - Grösse Dialogfenster
Weiter

Neue Kommentare

  • Ja, danke! Ich habe dieses
    vor 1 Tag 8 Stunden
  • Die View heißt "Benutzer". Du
    vor 1 Tag 19 Stunden
  • Danke! Was meint denn
    vor 2 Tagen 2 Stunden
  • Dazu brauchst Du kein Modul,
    vor 2 Tagen 2 Stunden
  • Das heißt in dem Fall, daß
    vor 2 Tagen 2 Stunden
  • Voaraussetzung sind
    vor 2 Tagen 2 Stunden
  • Huhu, also in der
    vor 2 Tagen 2 Stunden
  • Das Problem ist, dass nicht
    vor 2 Tagen 3 Stunden
  • Ohne Composer ist der Betrieb
    vor 2 Tagen 3 Stunden
  • Kann gut sein, aber ohne
    vor 2 Tagen 3 Stunden

Statistik

Beiträge im Forum: 246347
Registrierte User: 18915

Neue User:

  • Enriqueemunc
  • Tulsa55
  • Elisаhaf

» Alle User anzeigen

User nach Punkten sortiert:
wla9045
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3919
ronald3834
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 4 Gäste online.

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