2012-01-25 33 views
4

私のウェブサイトにFacebookのコメントをインストールしました。私のウェブサイトはダイナミックなウェブサイトで、ページはwww.example.com/page?id=54、www.example.com/page?id=67のようなものです。動的商品のFacebookプラグインコメントを追加

私はこのページにコメントを投稿しています:www.site.com/page?id=54、それもwww.example.com/page?id=67に表示されます。コメントはページに固有のものではなく、すべてのページに表示されます

私は質問:Facebook comments, for each pageを見ました。 この質問の答えは、問題は "?"符号。 "?" URLにサインインすると、Facebookプラグインが壊れてしまいます。 そして私はUR1の書いた書式を変更する必要があります。

私のウェブサイトには7年前からリンクがありますので、私はUR1の書き方を変更したくありません。

これを修正する別の方法はありますか?

答えて

1

次のコードに似た何かを追加するには、ページにウィジェットを挿入する場合:

あなたは、ID = 54として別の時間で一度、新しいページの http://example.comたびに交換する必要が
<div class="fb-comments" data-href="http://example.com" data-num-posts="2" data-width="470"></div> 

?関連ページごとにid = 67。

+0

私は約2000の製品を私のwesiteに持っています。私は動的なソリューションを探しています。私は使用しました:

がありますが、 "?" sign –

+0

サーバー側のコードで行うことができます。使用しているサーバー言語がわからない場合は、該当するページでproductId変数を出力する必要があります。 –

+0

私はproductId変数でirを実行しました。問題はありますか?符号。私はそれを使用するとき、それは動作しません。リンクも参照してください:http://facebook.stackoverflow.com/questions/3172122/facebook-comments-for-each-page –

0

うーん、私は混乱しています。あなたはサイトが7歳で、あなたはそれを変更することはできませんが、どういうわけか最近は同じようなプラグインを変更できないWebサイトに挿入したと言います。今、この変更できないウェブサイトを修正する方法が必要です。

しかし、あなたがウェブサイトを変更することができれば、ここにあなたがする必要があるとしているものです:のように説明したよう

  1. は、各Webページの<head>セクションに必要なOGメタタグに入れてプラグインのドキュメントWebサイト。これは、.aspコーディングスキルを使用してクエリ文字列パラメータを使用してプログラムで実行できます。
  2. テスト/ QA OGメタタグが正しくプラグインに必要なHTMLコードを追加して、正確かつ完全などプラグのデータHREFパラメータで識別されたHREFを確保https://developers.facebook.com/tools/lint
  3. で指定され
  4. テスト/ QAは、送信されているページのソースを表示するようなボタンです。

EDITは

は、FacebookがあなたのURLのために見ているものを見てみましょう

http://developers.facebook.com/tools/debug/og/echo?q=http%3A%2F%2Fwww.winebar.co.il%2Fproduct.asp%3Fproductid%3D567%26CatCode%3D182

お知らせプラグインコード

BAD:data-href="http://winebar.co.il/product.asp?productid="

ユーザーのブラウザバーのURLのようになります場合:

GOOD:data-href="http://www.winebar.co.il/product.asp?productid=567&CatCode=182"

+0

私はこのメソッドを実装し、動的ページの呼び出しを変更して使用します: data-href = "http://winebar.co.il/product.asp?productid="&productid すべてのページでコメントが同じであるという唯一の問題です。 この質問でも説明されています: この質問の回答は、問題は "?"符号。 "?" URLにサインインすると、Facebookプラグインが壊れてしまいます。 そして私はUR1の書いた書式を変更する必要があります。 私のウェブサイトは7歳ですので、UR1の書き込み方法を変更したくありません –

+0

上記の編集を参照してください – DMCS

3

をあなたがPHPを使用している場合、これは、現在のページのURLを要求し、Facebookを利用してリンクするコードです

<?PHP  
$url = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; 
echo "<div class='fb-comments' data-href='$url' data-num-posts='10' data-width='470'></div>"; 
?> 

ダイナミックコンテンツにクエリ文字列が1つしかない場合(例:?product =)、これは機能します。同じページのクエリ文字列が多い場合(たとえば、& sort =ソートオプション)、ソートオプション昇順に表示されるFacebookコメントが降順ソートオプションに表示されないため、正しく動作しません。

この部分を解決するには、その製品のベースURLを割り当てて、その製品のすべての動的ページにそのURLのFBコメントを表示します。たとえば、&ソートと&タイプがそのページで異なる場合でも、ページのFBコメントを要求していますか?product = 13 & sort = asc & type = 34

10

まず、Facebookのからコピーコメントのdivやスクリプト、お使いの製品の詳細ページに貼り付け:

<div id="fb-root"></div> 
<script>(function (d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) return; 
    js = d.createElement(s); js.id = id; 
    js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=114215202075258"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk')); 
</script> 

<div class="fb-comments" data-href="http://example.com" data-width="470" data-num-posts="3"></div> 

最後に、単純にこのコードを追加します。

<script> 
    $(".fb-comments").attr("data-href", window.location.href); 
</script> 
+1

Alon Steinbergなぜこの回答は受け入れられませんか? @ Jhoon Bey:あなたは私の日を救ったことがたくさんあります。 –

+0

良い解決策ですが、動的クエリーストリングがある場合は使用しないでください – kobe

関連する問題