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 - 15: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 - 15: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 - 13: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 - 15: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 - 16: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

  • Anmelden oder Registrieren um Kommentare zu schreiben

hmm also ich könnte ja auch

Eingetragen von Vieper (22)
am 23.01.2010 - 19: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 - 21: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 - 11: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 - 12: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.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das sagst du so einfach das

Eingetragen von Hacky (255)
am 29.03.2010 - 12: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 - 14: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.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Okay, dann würd ich gern

Eingetragen von Hacky (255)
am 29.03.2010 - 14: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 - 15:38 Uhr

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

  • Anmelden oder Registrieren um Kommentare zu schreiben

wie hast du denn den block in

Eingetragen von tbm (6)
am 08.09.2010 - 07: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 - 10: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 - 11: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?

  • Anmelden oder Registrieren um Kommentare zu schreiben

na klar.

Eingetragen von tbm (6)
am 13.09.2010 - 10: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

  • 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
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Tagen 19 Stunden
  • Hey danke
    vor 3 Tagen 14 Stunden
  • Update: jetzt gibt's ein
    vor 4 Tagen 8 Stunden
  • Hallo, im Prinzip habe ich
    vor 1 Woche 1 Tag
  • Da scheint die Terminologie
    vor 1 Woche 1 Tag
  • Kannst doch auch alles direkt
    vor 1 Woche 6 Tagen
  • In der entsprechenden View
    vor 1 Woche 6 Tagen
  • Dazu müsstest Du vermutlich
    vor 1 Woche 6 Tagen
  • gelöst
    vor 4 Wochen 2 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 4 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 17 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