Hallo,
Auf meinen festen PHP Seiten funktioniert der neue Like-Button von Facebook. Nur in Coppermine nicht.
Er wird zwar angezeigt aber die Übertragung der richtigen URL funktioniert noch nicht. So sieht er bis jetzt aus.
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({appId: '131189193560262', status: true, cookie: true,
xfbml: true});
};
(function() {
var e = document.createElement('script');
e.type = 'text/javascript';
e.src = document.location.protocol +
'//connect.facebook.net/de_DE/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
document.write('<fb:like href="http://www.vwteam.com/galerie/displayimage.php?pos=-{CURRENT_PICTURE_ID}" show_faces="false" font="verdana" width="450"></fb:like>');
</script>
Was muss ich statt {CURRENT_PICTURE_ID} in der Theme.php einfügen?
Link zu einem Bild: http://www.vwteam.com/galerie/displayimage.php?pos=-16692
$pid
Danke. Aber wie verbaue ich die Variable richtig innerhalb von EOT und einem Script-Block?
So wohl nicht. Das funktioniert nämlich nicht.
// HTML template for intermediate image display
$template_display_media = <<<EOT
<!-- BEGIN title -->
<tr>
<td class="tableb" height="50"><center>
<font class="headtext">{TITLE}</font>
</center></td>
</tr>
<!-- END title -->
<tr><td align="center" class="display_media" nowrap="nowrap">
<table cellspacing="2" cellpadding="0" class="imageborder">
<tr>
<td align="center">
{IMAGE}
</td>
</tr>
<tr>
<td align="center">
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({appId: '131189193560262', status: true, cookie: true,
xfbml: true});
};
(function() {
var e = document.createElement('script');
e.type = 'text/javascript';
e.src = document.location.protocol +
'//connect.facebook.net/de_DE/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
document.write('<fb:like href="http://www.vwteam.com/galerie/displayimage.php?pos=-$pid" show_faces="false" font="verdana" width="450"></fb:like>');
</script>
</td>
</tr>
</table>
</td></tr>
<tr><td>
<table width="100%" cellspacing="2" cellpadding="0" class="tableb">
<tr>
<td align="center">
{ADMIN_MENU}
</td>
</tr>
</table>
<!-- BEGIN img_desc -->
<table cellpadding="0" cellspacing="0" class="tableb" width="100%">
<!-- BEGIN caption -->
<tr>
<td class="tableb">
<b>Beschreibung:</b><br><br>
<center>{CAPTION}</center><br>
</td>
</tr>
<!-- END caption -->
<!-- END img_desc -->
</table>
</td>
</tr>
EOT;
Wieso sollte das so nicht funktionieren? In deinem HTML-Quelltext steht nun:
Quote<script>
window.fbAsyncInit = function() {
FB.init({appId: '131189193560262', status: true, cookie: true,
xfbml: true});
};
(function() {
var e = document.createElement('script');
e.type = 'text/javascript';
e.src = document.location.protocol +
'//connect.facebook.net/de_DE/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
document.write('<fb:like href="http://www.vwteam.com/galerie/displayimage.php?pos=-16692" show_faces="false" font="verdana" width="450"></fb:like>');
</script>
Die Bild-ID wird korrekt eingebaut. Wenn es also nicht funktioniert, muss es an irgendwo an dem restlichen Code haken.
Oha, das scheint ein grunlegendes Problem zu sein.
Ich habe spasseshalber mal die aktuelle Nummer direkt in den Code geschrieben.
pos=-16692 nur zum testen, ob es überhaupt gehen würde.
Der Button sagt zwar, dass mir das gefällt, auf Facebook wird der Link aber nicht angezeigt.
Auf einer normalen PHP Seite ausserhalb der Galerie funktioniert es aber, siehe hier:
http://www.vwteam.com/woerthersee-webcam.php
Unterschiede:
Quote from: http://www.vwteam.com/woerthersee-webcam.php<fb:like href="' + document.location + '"
Quote from: http://www.vwteam.com/galerie/displayimage.php?pos=-16692<fb:like href="www.vwteam.com/galerie/displayimage.php?pos=-16692"
Entweder du benutzt in deinem Script auch einfach
document.location, oder du fügst vor deinen Link noch das fehlende
http:// ein.
Hi André,
die Unterschiede kommen vom rumprobieren. Hatte auch schon beide Scripte gleich.
Wie ich jetzt rausgefunden habe, haben viele andere Seiten auch das Problem.
Unter anderem auch CNN.com und weitere grosse. Scheint ein Facebook-Problem zu sein.
Siehe auch hier: http://bugs.developers.facebook.com/show_bug.cgi?id=10740
Lass erstmal gut sein André. Danke für Deine Hilfe! ;)