comment.tpl url aus title?
![](http://www.drupalcenter.de/files/noavatar_mini.gif)
am 24.01.2011 - 19:23 Uhr in
Hallo,
ich versuche mich gerade an einem Modul und möchte dazu die im comment.tpl varialbe $title ist auslesen.
ich benötige die reine url ohne a href="...
kann mir jemand auf die Sprünge helfen. mit str_replace(,,) oder ähnlichem zu arbeiten wäre etwas unschön...
ich möchte die erhaltene Url in der comment.tpl verwenden.
- Anmelden oder Registrieren um Kommentare zu schreiben
URL
am 24.01.2011 - 20:04 Uhr
Hallo.
Die Variable
$title
benötigst Du nicht. Die URL kannst Du Dir ganz einfach selbst aus$node->nid
und$comment->cid
mit Hilfe von [api:url:6] zusammenbauen:<?php
$url = url("node/{$node->nid}", array('fragment' => "comment-{$comment->cid}"));
?>
hth,
Stefan
hey vielen Dank das hat mich
am 24.01.2011 - 21:17 Uhr
hey vielen Dank das hat mich schonmal weitergebracht.
leider glaube ich mein plan das für facebook likes zu verwenden scheitert am format der url
<?php $node_url = urlencode("http://".$_SERVER['SERVER_NAME'].url("node/{$node->nid}", array('fragment' => "comment-{$comment->cid}"))); ?>
<iframe src='http://www.facebook.com/plugins/like.php?href=<?php echo $node_url ?>&layout=standard&show_faces=true&width=450&height=30&action=like&colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:30px'></iframe>
hier zum test: http://zrce.eu/de/content/moon-rocks-festival-2011
#comment-9
oder ähnliche reicht facebook scheinbar nicht als unterschied... oder fällt euch noch ein fehler auf
So klappts
am 24.01.2011 - 22:28 Uhr
So klappts, gerade getestet.
Einfach ans Ende deiner comment.tpl.php
<?php
global $base_url;
?>
<iframe src="http://www.facebook.com/plugins/like.php?href=<?php print $base_url . '/' . drupal_get_path_alias('node/'.$node->nid) . '#comment-' .$comment->cid; ?>&layout=standard&show_faces=true&width=450&action=like&colorscheme=light&height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>
ich hatte bisher mit der
am 24.01.2011 - 23:04 Uhr
ich hatte bisher mit der comment.tpl in im themes Ordner gearbeitet.
ich muss also die "comment.tpl.php" im modules/comment/ Odner editieren?
warum ist das einfügen am ende wichtig?
also mein erster Test scheint leider noch nicht zu klappen
beim drücken egal welches like buttons wird kein unterschied zwischen
http://zrce.eu/de/content/moon-rocks-festival-2011
http://zrce.eu/de/content/moon-rocks-festival-2011#comment-9
und
http://zrce.eu/de/content/moon-rocks-festival-2011#comment-12
gemacht. ich werde mir das morgen nochmal genauer anschauen.
API
am 25.01.2011 - 08:18 Uhr
Hallo.
ich hatte bisher mit der comment.tpl in im themes Ordner gearbeitet.
ich muss also die "comment.tpl.php" im modules/comment/ Odner editieren?
Nein! Wenn Du ein Template bearbeitest, dann immer das in Deinem Theme-Verzeichnis. Sollte es das gewünschte Template dort noch nicht geben, so kopierst Du das ursprüngliche Template in das Theme-Verzeichnis und bearbeitest die Kopie dann dort.
<?php print $base_url . '/' . drupal_get_path_alias('node/'.$node->nid) . '#comment-' .$comment->cid; ?>
Warum macht ihr solche wilden Verrenkungen und verwendet nicht einfach [api:url:6] wie von mir weiter oben bereits gezeigt?
<?php
$url = url("node/{$node->nid}", array('fragment' => "comment-{$comment->cid}", 'absolute' => TRUE));
$src = url('http://www.facebook.com/plugins/like.php', array(
'query' => array(
'href' => $url,
'layout' => 'standard',
'show_faces' => 'true',
'width' => '450',
'height' => '30',
'action' => 'like',
'colorscheme' => 'light',
),
));
print '<iframe src="'. $src .'" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:30px"></iframe>';
?>
Stefan
ok wieder was gelernt. habe
am 25.01.2011 - 10:31 Uhr
ok wieder was gelernt.
habe jetzt deinen code eingefügt und mal getestet. ich vermute es liegt jetzt nur noch an der form der url.
der / soll muss scheinbar immer %2F sein
funktioniert (like button für gesamte seite):
http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fzrce.eu%2Fde%2Fcontent%2Fmoon-rocks-festival-2011&layout=standard&show_faces=true&width=450&height=30&action=like&colorscheme=light
funktioniert nicht (like button für kommentar):
http://www.facebook.com/plugins/like.php?href=http%3A/%252Fzrce.eu/de/content/moon-rocks-festival-2011%2523comment-9&layout=standard&show_faces=true&width=450&height=30&action=like&colorscheme=light
Natürlich ist die Lösung von
am 25.01.2011 - 10:46 Uhr
Natürlich ist die Lösung von Stefan eleganter und drupaliger!
Ich glaube aber, du hast ein ganz anderes Problem.
Du wirst den Kommentar allein nicht bei Facebook posten können, da die URL ja nur auf einen "Ankerpunkt" zeigt (http://de.wikipedia.org/wiki/Anker_%28HTML%29).
Um das zu umgehen kannst du dir einen View bauen der die entsprechenden Kommentare anzeigt und dann die URL für den View an Facebook übergeben.
ok den gedanken hatte ich
am 25.01.2011 - 10:54 Uhr
ok den gedanken hatte ich auch schon.
das würde bedeuten jeder kommentar braucht eine eigene seite mit eindeutiger url. kannst du mir ne gute quelle nennen wie man sowas macht?