privatemsg node-testseite.tpl.php
Eingetragen von alex.k (24)
am 30.01.2010 - 20:28 Uhr in
am 30.01.2010 - 20:28 Uhr in
Hallo,
Ich habe das Modul privatemsg installiert.
Jetzt würde ich gerne in meiner selbst gebastellten node-testseite.tpl.php die möglichkeit der Kotaktaufnahme geben.
<?php
print $privatemsg
?>
Könnt mir jemand einen tip geben.
mfg
alex
- Anmelden oder Registrieren um Kommentare zu schreiben
Hi, ich versteh überhaupt
am 31.01.2010 - 12:32 Uhr
Hi,
ich versteh überhaupt nicht, was du erreichen willst. Private Message bringt dem User einige Links mit, über die er seine Mails verwalten kann. Willst du eine URL auf ein "Benutzer kontaktieren" Formular? Woher kommt denn die Variable oben?
---
Viele Grüße,
Kars-T
| comm-press
Viele Grüße,
Kars-T
Kars-T schrieb Woher kommt
am 31.01.2010 - 20:02 Uhr
Woher kommt denn die Variable oben?
Hatte ich hier im forum gefunden.
Ich wollte jetzt eigentlich nur einen Link auf die Seite node-testseite.tpl.php mit "Mitteilung senden" und wenn man auf diesen klickt kommt das Kontaktformular.
mfg
Alex
Schau mal
am 31.01.2010 - 20:35 Uhr
Schau mal hier:
http://drupal.org/node/369399
There is also a function to return the URL to the message sending form of a specific user which does all sorts of checks if the current user is allowed to send a message.
string|boolean privatemsg_get_link(object $recipient, object $account = NULL)
* object $recipient Recipient of the message
* object $account Sender of the message, defaults to the current user
* return: string|boolean Either FALSE or a URL string
Das kannst du im Theme verwenden. Oder mach einen preporcess Aufruf, um dir dann eine Variable wie $privmsg zur Verfügung zu stellen.
http://drupal.org/node/223430
---
Viele Grüße,
Kars-T
| comm-press
Viele Grüße,
Kars-T
Hi, Da ich wohl noch nicht
am 01.02.2010 - 15:16 Uhr
Hi,
Da ich wohl noch nicht der Drupal Profi bin hilft mir der Tip nicht wirklich weiter.
In dem Modul views habe ich unter Felder "Privatemsg: Verweis senden" hinzugefügt, jetzt wird mir auch auf der Seite die durch views erzeugt wird der Link "Verweis senden: Mitteilung" angezeigt, aber ist es jetzt wirklich so kompliziert in der Seite node-testseite.tpl.php zusätzlich den Link zu intregrieren.!?
mfg
Alex
Um die Frage nochmal zu
am 01.02.2010 - 16:21 Uhr
Um die Frage nochmal zu präzisieren:
Du willst den eine Link "Diesem User eine private Nachricht schicken" unter allen Nodes haben?
Wenn ja, musst du dafür ein Modul schreiben, das den Link bereitstellt. Ich weiß, das ist doof so, aber im Moment kann ich dazu nicht mehr sagen als, das du nochmal ins Handbuch schauen müsstest, wie das mit dem Modul geht.
http://www.drupalcenter.de/handbuch/15661
http://api.drupal.org/api/function/hook_link_alter/6
---
Viele Grüße,
Kars-T
| comm-press
Viele Grüße,
Kars-T
Falls das immer noch
am 09.09.2010 - 09:08 Uhr
Falls das immer noch gewünscht ist, Privatemsg 6.x-2.x-dev hat dieses Feature eingebaut, es muss bloss konfiguriert werden bei welchen Inhaltstypen es angezeigt werden soll.
node und privatemsg link
am 28.01.2011 - 23:30 Uhr
Hallo,
ich mache das mit folgenden Code Schnipsel:
<a href="../messages/new/<?php print $node->uid; ?>">Nachricht schreiben</a>
LG t-u-x
Du solltest die Funktionen
am 29.01.2011 - 00:37 Uhr
Du solltest die Funktionen l() bzw. url() verwenden statt < a > tags selber zu schreiben. Der Link funktioniert nur solange kein alias wie z.B. "blog/datum/titel" für einen Node verwendet wird.
...bisher habe ich keine Probleme
am 29.01.2011 - 00:20 Uhr
... deshalb setze ich ja auch vor "messages/new/" "../"
LG t-u-x
Und genau das ist eben falsch
am 29.01.2011 - 00:36 Uhr
Und genau das ist eben falsch :)
Stell dir vor du hast für einen Node den Alias "blog/2011-01-27/wieso-url-verwenden" ;)
Deine relative URL zeigt jetzt auf "blog/messages/new".
Wenn du aber statdessen "
<?php
echo url('messages/new')
?>
Wenn du noch einen Schritt weiter gehst und "
<?php
echo l(t('Write new message'), 'messages/new');
?>
Und um es ganz korrekt zu machen, so wie es auch von Privatemsg gemacht wird, müsste das ungefähr so aussehen:
<?php
$url = privatemsg_get_link(privatemsg_user_load($node->uid));
if ($url) {
echo l(t('Write new message'), $url);
}
?>
Dann wird der Link nur angezeigt wenn der aktuelle Benutzer dem Node-Author eine private Nachricht schicken darf. Inklusive Prüfung ob der Author den aktuellen Benutzer nicht geblockt hat usw.
Und wie oben gesagt, in Privatemsg-6.x-2.x muss man nur noch anklicken für welche Inhaltstypen man gerne so einen Link hätte und der Rest passiert automatisch.