Недавно я закодировал свой собственный блог для сайта, который я делаю. Я хочу использовать facebook для обработки комментариев к сообщениям, поэтому я интегрировал плагин. Однако я заметил нечто странное. Если я прокомментирую один пост в блоге, то перейду к другому, мой комментарий относится и к другим постам в блоге. Как сделать так, чтобы у каждого поста был свой набор комментариев?
Я хочу отображать поле комментариев FB на каждой странице, но иметь свои собственные комментарии, характерные для этой страницы.
Ответы (3)
Вы должны установить другой атрибут data-href для каждого сообщения. Вот пример того, как я это делаю в Yii:
<div class="fb-comments" data-href="http://domain.com/post/view/<? echo $model->id; ?>" data-num-posts="4" data-width="695"></div>
Дело в том, что значение data-href должно быть уникальным для каждого поста.
person
liliumdev
schedule
14.07.2012
Предполагая, что вы используете поле комментариев html5.
См.: https://developers.facebook.com/docs/reference/plugins/comments/
data-href=""
// data href устанавливает URL-адрес «идентификатор объекта» для поля, вам нужно использовать динамическую систему с php, javascript или любым другим языком, на котором вы кодировали.
<div style="padding-left:5px; min-height:500px" class="fb-comments" data-href="'+newUrl+'" data-num-posts="20" data-width="380"></div>
"я использую" ПРИМЕР: следующие примеры работают для страниц с динамическими URL
example.com?id=thisid&thisarticle=article-name
<div id="thecomments"></div>
<script>
function changeCommentsUrl(newUrl){
// should refresh fb comments plugin for the "newUrl" variable
document.getElementById('thecomments').innerHTML='';
parser=document.getElementById('thecomments');
parser.innerHTML='<div style="padding-left:5px; min-height:500px" class="fb-comments" data-href="'+newUrl+'" data-num-posts="20" data-width="380"></div>';
FB.XFBML.parse(parser);
}
var thisurl = document.write(document.URL);
changeCommentsUrl(thisurl);
</script>
person
Shawn E Carter
schedule
14.07.2012
Вы можете просто поместить такой фрагмент в свой нижний колонтитул:
<script>
$(".fb-comments").attr("data-href", window.location.href);
</script>
Это делает работу...
person
daneczech
schedule
29.08.2015
+1! Хороший трюк. Однако имейте в виду, что добавление значения data-href должно быть выполнено до вызова скрипта facebook. Просто указываю, потому что в документации он загружается сразу после тега ‹body›, когда нет значения data-href.
- person adelriosantiago; 01.05.2016