vBulletin Facebook нравится миниатюра - PullRequest
0 голосов
/ 30 июля 2011

Я использую vBulletin 4.1.5 и настроил его в настройках Facebook. Проблема, с которой я сталкиваюсь, заключается в том, что, когда кто-то нажимает кнопку LIKE, миниатюра, размещенная в Facebook, не является первым изображением в цепочке, она выбирается случайным образом из любой точки страницы, т. Е. Аватар любого пользователя, отвечающего в этой цепочке!

Ценю вашу помощь!

Ответы [ 2 ]

0 голосов
/ 01 августа 2011

Я все еще программирую с vB3.8.x, но я работаю над плагином для фейсбука. Может помочь вам написать, что вы сами для vB4.x

Во-первых, вам нужно определить пространства имен opengraph и facebook:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml"> 
<head profile="http://gmpg.org/xfn/11"> 

Во-вторых, вам нужен JavaScript в Facebook:

<scr ipt type="text/javascript" src="http://connect.facebook.net/en_US/all.js#xfbml=1">
</scr ipt> 

Наконец, вам нужны открытые графические теги, определенные в разделе html-страницы:

<meta property="og:type" content="article" /> 
<meta property="og:title" content="this shows up as article's title when you like" /> 
<link rel="image_src" href="http://www.yoursite.com/yoursite1.jpg" /> 
<meta property="og:image" content="http://www.yoursite.com/yoursite1.jpg" /> 
<link rel="image_src" href="http://www.yoursite.com/yoursite2.jpg" /> 
<meta property="og:image" content="http://www.yoursite.com/yoursite2.jpg" /> 
<link rel="image_src" href="http://www.yoursite.com/yoursite3.jpg" /> 
<meta property="og:image" content="http://www.yoursite.com/yoursite3.jpg" /> 
<link rel="image_src" href="http://www.yoursite.com/yoursite4.jpg" /> 
<meta property="og:image" content="http://www.yoursite.com/yoursite4.jpg" /> 

Плагин, над которым я работаю, будет перебирать 5 лучших вложений для сообщения и записывать теги image_src и теги og: image. Еще не уверен, какой крючок я буду использовать.

псевдокод:

    $attachs = $db->query_read_slave("
            SELECT attachmentid, attachment.dateline 
            FROM " . TABLE_PREFIX . "post AS post
            INNER JOIN " . TABLE_PREFIX . "attachment AS attachment ON (attachment.postid=post.postid AND attachment.visible=1)
            WHERE threadid = $threadinfo[threadid]
                    AND post.visible = 1
            ORDER BY filename DESC
            LIMIT 5
    ");

    if ($db->num_rows($attachs))
    {
            while ($attachment = $db->fetch_array($attachs))
            {
                    $strImages = "<meta property=\"og:image\"  content=\"/attachment.php?attachmentid=$attachment[attachmentid]&d=$attachment[dateline]\" />"
            }
    }

К вашему сведению - кажется, что Facebook добавляет миниатюры в обратном порядке. Они будут смотреть на последнее изображение og: и использовать его в качестве первого эскиза; следующий показанный эскиз будет вторым, чтобы продлиться и так далее. Возможно, вы захотите поиграть с порядком сортировки SQL, если это важно. Также ссылка image_src используется для не открытых графических социальных сайтов (google plus, twitter)

0 голосов
/ 31 июля 2011

Одним из решений является то, что вы можете определить глобальное «миниатюру facebook» для всех общих ресурсов.

Перейти к

  1. AdminCP
  2. Настройки
  3. Параметры
  4. Параметры Facebook
  5. URL изображения

Это изображение должно быть логотипом вашего сайта или чем-то еще.

...