2012-01-25 35 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。 這個問題的答案是,問題是因爲「?」標誌。 看來「?」請登錄該網址,以便Facebook插件破解。 而且我需要改變URl書寫形式。

因爲我的網站是7歲有傳入鏈接,所以我不想改變URl寫作的方法。

是否有另一種解決方法?

回答

1

當插入控件到你的頁面添加類似於下面的代碼的東西:

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

你需要使用id = 54,另一個時間,以取代每次http://example.com新頁面,一次?每個相關頁面的ID = 67。

+0

我在我的世界上有大約2000個產品。我正在尋找動態解決方案。我用:

但有一個問題,「?」 sign –

+0

你可以用服務器端代碼來做到這一點,我不確定你正在使用哪種服務器語言,你必須在適當的頁面上打印productId變量。 –

+0

我用productId變量做了ir。問題是與?標誌。當我使用它不起作用。請閱讀以下鏈接:http://facebook.stackoverflow.com/questions/3172122/facebook-comments-for-each-page –

0

嗯,我很困惑。你說這個網站已經7歲了,你不能改變它,但不知怎的,你最近插入了一個類似的插件到一個不可改變的網站。現在你想要解決這個不可改變的網站的方法。

但是,如果你可以改變網站,這裏就是你接下來要做的事情需要做:作爲類似描述所需OG meta標籤

  1. 放入每個網頁的<head>節插件文檔網站。您可以使用.asp編碼技能通過查詢字符串參數以編程方式執行此操作。
  2. 測試/ QA OG的meta標籤在https://developers.facebook.com/tools/lint
  3. 正確指定添加所需的HTML代碼的插件,並確保在href在像插頭的數據href參數正確和完全確定
  4. 測試/通過查看正在發送的頁面上的源代碼來查找類似按鈕。

編輯

看看哪些Facebook的看到你的網址

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="

如果看起來應該在用戶的瀏覽器欄中的網址:

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 唯一的問題是每個頁面的評論都是一樣的。 正如在這個問題中所解釋的: 這個問題的答案是,問題是因爲「?」標誌。 看來「?」請登錄該網址,以便Facebook插件破解。 而且我需要改變URl書寫形式。 因爲我的網站是7歲有傳入鏈接到它,我不想改變URL寫作的方法 –

+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>"; 
?> 

它適用於動態內容只有一個查詢字符串(例如?product =)。如果它對同一頁面有更多的查詢字符串,例如& sort =對於排序選項,那麼它將無法正常工作,因爲排序選項上升時出現的Facebook註釋將不會出現在排序選項降序上。

您可以通過爲該產品分配一個基本URL,然後在該產品的所有動態頁面上顯示該URL的FB註釋來解決該部分。例如,您正在請求頁面的FB註釋?product = 13 & sort = asc & type = 34即使&排序和&類型在該頁面上也不相同。

10

首先,複製評論股利和腳本來自Facebook,將其粘貼到您的產品詳情頁:

<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

阿隆斯坦伯格你爲什麼不接受這個答案? @Jhoon Bey:感謝你挽救了我的一天。 –

+0

很好的解決方案,但不要使用,如果你有動態querystrings – kobe