Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML]FB.Share i Comments na stronie
Forum PHP.pl > Forum > Przedszkole
JulekJP
Witam. Chce umieścić dwa kody które połączą sie z facebookiem wink.gif
Pierwszym kodem jest button share, który wygląda u mnie następująco.

  1. echo "<a type=\"button_count\" name=\"fb_share\" share_url=\"".BASEDIR."entry.php?id=".$entry['entry_id']."\">Dodaj <span class=\"yellow\">Na</span> Fejsa</a> <script src=\"http://static.ak.fbcdn.net/connect.php/js/FB.Share\" type=\"text/javascript\"></script>";


Nie jest to kod pobrany z http://developers.facebook.com tylko znaleziony w sieci. Jest to button który używa strona kwejk itp
Mógłbym skorzystać z kodu który udostępnia facebook developert, ale ten podany powyżej jest czytelniejszy dla użytkownika.

Pare linijek niżej mam już kod z komentarzami, który już wygenerowałem na facebook developert.

  1. echo "<div id=\"fb-root\"></div><script src=\"http://connect.facebook.net/en_US/all.js#xfbml=1\"></script><fb:comments href=\"".BASEDIR."entry.php?id=".$data['entry_id']."\" num_posts=\"8\" width=\"540\"></fb:comments>";


Niestety gdy strona sie wczytuje kod z komentarzami nie wczytuje się. Siedziałem i szukałem problemu. Udało mi się zauważyć gdy usunie się fragment kodu share button, a dokładnie:
  1. <script src=\"http://static.ak.fbcdn.net/connect.php/js/FB.Share\" type=\"text/javascript\"></script>


To komentarze sie wyświetlają, ale wtedy button share nie działa.
Na bebzol.com działą tak, wiec jest to możliwe. Niestety nie wiem jak zrobić wiec proszę o pomoc.



thek
Problemem mogą być dwa łaczenia do facebooka. W tej chwili bowiem każdy z elementów robi własne połaczenie do facebooka i mogą się one "gryźć". Powinieneś to ujednolicić na tyle, by korzystały z jednego połaczenia. Jak? Ja to robię tak... W stopce walę taki kod:
  1. <div id="fb-root"></div>
  2. <script src="http://connect.facebook.net/pl_PL/all.js"></script>
  3. FB.init({
  4. appId : 'YOUR_ID_APP',
  5. status : true,
  6. cookie : true,
  7. xfbml : true
  8. });
a w treści strony mam jeszcze:
  1. <fb:like-box href="URL_DO_FANPAGE" width="191" show_faces="true" stream="false" header="false"></fb:like-box>
  2. <fb:like href="URL_STRONY" send="true" width="768" show_faces="false" font=""></fb:send>
  3. <fb:comments numposts="3" width="768" publish_feed="false" simple="1" css="CSS_W_MOIM_SERWISIE"></fb:comments>
i nic się nie gryzie.
Tylko jeszcze gwoli wyjaśnienia... CSS_W_MOIM_SERWISIE to osobny plik css, który pozwala w pewnym stopniu stylizować elementy dostarczane przez Facebooka. W niewielkim, ale zawsze coś. Gdzieś przypadkiem znalazłem to na necie, bo oficjalnie w dokumentacji o tej możliwości nigdzie nie piszą. Ja użyłem tego, by z elementu fb:comments usunąć kijowo umieszczony like smile.gif Zamiast niego wypozycjonowałem sobie osobno dołączonego fb:like. Jak to zrobiłem? Owy dodatkowy css zawiera regułkę:
  1. div.like, div.like div {display:none;}
która odpowiada własnie za ukrycie niechcianego like smile.gif
JulekJP
To i tak dodaje button z Facebooku, a chce żeby był button share jak na bezbol.com z komentarzami poniżej dla każdej podstrony.
thek
To mi lepiej pokaż gzie ta strona ma facebooka bo patrzyłem i nigdzie nie widzę smile.gif
JulekJP
Czy chodzi ci o stronę bebzol?
No to masz pod każdym obrazkiem button wrzuć na fejsa, klikając w link komentarze rozwija ci się komórka z komentarzami.
thek
A zerknąłeś chociaż w kod? On mocno korzysta z API facebooka. Definiuje masę znaczników meta, zobacz mu do stopki, zobacz do samych znaczników. Na bank coś spaprałeś przy kopiowaniu, nie zwróciwszy uwagi na url_decode czy url_encode choćby przy generowaniu.
JulekJP
Może widzisz coś, czego ja nie widzę. Zauważyłem że bez wykonaniu polecenia
  1. <script src=\"http://static.ak.fbcdn.net/connect.php/js/FB.Share\" type=\"text/javascript\">
dla buttona share to wyświetlają sie komentarze. Lecz połączenie dla buttona nie działa i jest sam tekst
thek
A próbowałeś zobaczyć dokładnie w kod, CO wiąże się tam z facebookiem? Podam Ci listę...
Przestrzeń nazw html:
  1. <html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">

Połączenie tworzone jak przykazane było na stronie developerskiej:
  1. <div id="fb-root"></div>
  2. <script src="http://connect.facebook.net/pl_PL/all.js#appId=124576684290771&amp;xfbml=1"></script>

Połączenie starego typu:
  1. <script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script>

Dodatek w postaci definicji połączenia:
  1.  
  2. var showingbub = null;
  3.  
  4. FB.init({
  5. appId : fb_app_id,
  6. status : true, // check login status
  7. cookie : true, // enable cookies to allow the server to access the session
  8. xfbml : true // parse XFBML
  9. });
  10. //tu jeszcze masa rzeczy dla zdarzań
I dobrze zauważyłeś, bo owa linijka tyczy tylko połączenia starego typu. Ale czy zauważyłeś, że to co opisałem jako
//tu jeszcze masa rzeczy
także jest związane z komentarzami? Popatrza sobie tam dokładnie i to co już wyżej w tym poście dałem, bo jak dla mnie wziąłeś sobie kod po łebkach skopiowałeś tylko, ale nie rozumiesz co robisz, więc takie są efekty - "nie działa, nie wiem czemu". Tak więc zanim zaczniesz się bawić w "to fajnie wygląda, więc skopiuję" zrób tak by najpierw działało, a dopiero potem kombinuj z udziwnianiem. Bo to co zrobili na bezbol.com to IMHO przerost formy nad treścią.
JulekJP
Nie wiem.. Nawet patrzyłem w kodach do połączenia się i nic. W takim razie jestem skazany na button "lubię to"?
Jeśli wiesz jak to zrobić to proszę o pomoc.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.