Плагин Facebook 0.5
31
Привет Сообщество!
Рад представить вашему вниманию, обновленную версию плагина Facebook.
Плагин поддерживает версии LiveStreet 0.4.2 и 0.5.1
Поддерживаются шаблоны написанные с использованием как mootools, так и jquery.
UPD 23.12.2011: С 13 декабря, JavaScript SDK стал поддерживать OAuth 2.0 для авторизации. Это привело к появлению ошибки при попытке авторизоваться и получить список страниц пользователя на втором шаге мастера настройки. Ошибка исправлена в версии 0.5.1. Спасибо Giorgi за сообщение о неработоспособности.
Основные фичи:
Мастер интеграции с Facebook
Всего четыре простых шага и анонсы топиков будут автоматически добавляться на выбранную страничку в социальной сети Facebook.
Вставка Open Graph тэгов: изображение, видео YouTube, видео Vimeo.
Благодаря Open Graph, пользователю не потребуется выбирать картинку при публикации ссылки. А в случае, когда пользователь «залайкал» страничку, нужная картинка «подтянется» автоматически.Вот так будет выглядеть диалог публикации ссылки без плагина Facebook:

А это результат вставки Open Graph тэгов:

Если в топике есть видео с Youtube или Vimeo, то информация о нем так же появится в OpenGraph тэгах. А пользователи социальных сетей смогут сразу же просмотреть его.
Администраторские функции: принудительная публикация/блокировка/удаление ранее опубликованного в Facebook топика.
В модерируемых сообществах пригодится возможность вручную, «по-быстрому», добавить анонс в социальную сеть. Плагин поддерживает такую функцию для администратора. Кроме того, администратор может заблокировать появление анонса на топик, или удалить ранее опубликованный анонс.
Блок информирования пользователя, о возможности попадания анонса создаваемого топика на страницу в Facebook

Возможности для сторонних разработчиков
Если вы разработчик плагинов, используйте возможность установить Open Graph тэги для генерируемых страниц.if (class_exists('PluginFacebook')) {
$aHeaders = array(
'type'=>'image',
'picture' => 'http://mywebserver.com/uploads/pathtoimage.jpg',
'title' => 'Все на Эльбрус!'
);
$this->PluginFacebook_Facebook_SetOpenGraphHeaders($aHeaders);
}Установка и настройка
Скачать плагин можно с GitHub, а через некоторое время и из официального репозитария.
- Для работы плагина необходимо, что бы PHP был собран с расширениями cUrl и SimpleXml.
- Перед началом установки или обновления, необходимо создать резервную копию сайта и базы данных.
- В случае обновления, деактивируйте старый плагин через панель управления плагинами (/admin/plugins/).
- Если вы используете версию LiveStreet 0.5.1 и выше, и название используемой темы отлично от new, и в качестве JS-фреймворка используется mootools — добавьте в конец config.php (но перед return $config; !!!) строку $config['js']='mootools'; (о настройках через config.php см. ниже)
Установка:
- Скачайте архив и распакуйте.
- Если вы качали с github, переименуйте «верхнюю» папку в facebook. При распаковке архива из репозитария, папка уже будет называться facebook. Убедитесь, что внутри папки facebook присутствуют папки classes, config и templates.
- Скопируйте папку facebook в директорию plugins на веб-сервере.
- Активируйте плагин Facebook в панели управления плагинами (/admin/plugins/).
- После успешной активации откройте /facebook/setup/ (пока плагин не настроен, ссылку на эту страницу будет видеть администратор в окошке виджета Facebook ). Пройдите четыре шага мастера и сохраните настройки.
Настройка:
Файл /plugins/facebook/config/config.php позволяет настроить ряд дополнительных параметров:
Стратегия публикации
Существует две стратегии публикации: при выходе на главную страницу и при достижении заданного рейтинга. За выбор стратегии отвечает строка:
$config['strategy']=...Возможные значения: 'STRATEGY_MAIN' или 'STRATEGY_RATING'.
Если используется значение 'STRATEGY_RATING', необходимо указать границу рейтинга, после которой анонс топика будет добавлен в Facebook.
$config['STRATEGY_RATING']['rating']=10;Если в качестве значения указать 0 — анонс топика будет опубликован при его добавлении.
Настройка отображения блока с виджетом Facebook
Config::Set('block.rule_facebook',array(
'path' => array(),
'action' => array('blog','personal_blog','top','people','my','people','index','stream','tag','facebook'),
'blocks' => array(
'right' => array(
'facebook' => array('priority'=>0,'params'=>array('plugin'=>'facebook'))
)
),
'clear' => false,
));Более подробно, о правилах отображения блоков можно прочитать в топике «Система блоков»
Замечание для пользователей плагина NiceUrl: что бы виджет плагина отображался на страницах топиков, в массив action необходимо добавить элемент 'error'. Впрочем, можно переписать правило, что бы виджет отображался на всех страницах:
Config::Set('block.rule_facebook',array(
'path' => array('.*'),
'action' => array(),
'blocks' => array(
'right' => array(
'facebook' => array('priority'=>0,'params'=>array('plugin'=>'facebook'))
)
),
'clear' => false,
));Выбор фреймворка, на котором построен активный шаблон
Эта настройка актуальна для сайтов работающих с использованием LiveStreet 0.5.1 и использующих js-фреймворк mootools и имя темы отличное от new.
Что бы указать плагину на использование mootools, перед return $config; добавьте строку:
$config['js']='mootools';Картинка по умолчанию для Open Graph
Если в топике, до ката, отсутствуют картинки и видео, в Open Graph тэги будет добавлена картинка по умолчанию: /plugins/facebook/templates/skin/default/images/default.jpg
Вы можете загрузить свою картинку поверх дефолтной или изменить путь, через параметр:
$config['default_post_image']=...;Например:
$config['default_post_image']='___path.root.web___/sitelogo.jpg';Удачи!
- +10
- 17 октября 2011, 16:02
- HangGlider
Увы, не вижу себя в качестве разработчика плюшек для «рыбхоза им. Дурова» :) Отношение к разработчикам с их стороны уж больно бл***кое. Степень разочарования даже деньгами не померить :(
Может Твиттер подойдет? ;)
Может Твиттер подойдет? ;)

- HangGlider
- 17 октября 2011, 16:36
- ↑
- ↓
Жаль. Аудитория моего проекта в основном вконтакте сидит. -)
твиттер автоматом можно настроиться средствами feedburner. Причем теги топика превращаются в хештеги твиттера)
твиттер автоматом можно настроиться средствами feedburner. Причем теги топика превращаются в хештеги твиттера)
Почему-то отправляются в ФБ при достижении нужного рейтинга топики, которые были сделаны ДО установки плагина, и не отправляются те, что сделаны ПОСЛЕ установки. Почему? Может быть, какой-то sql не отработал?
ммм, предыдущий вопрос снимается — топики на стену ФБ попадают, но как-то через один и не в момент голосования и превышения порога публикации.
можно ли где-то лог включить?
можно ли где-то лог включить?
Лог пишется в случае ошибок в классе для взаимодействия с API.

- HangGlider
- 20 октября 2011, 18:49
- ↑
- ↓
а куда пишется? у меня до сих пор одна-две публикации в день, хотя должно быть значительно больше. Что-то не так
Сожалею, не заметил вопроса сразу.
Лог пишется в случаях появления ошибок при публикации, удалении, сохранении настроек, чтении информации о странице, получении списка аккаунтов.
Лог пишется через системный логгер. Ошибки попадают в /logs/log.log
Лог пишется в случаях появления ошибок при публикации, удалении, сохранении настроек, чтении информации о странице, получении списка аккаунтов.
Лог пишется через системный логгер. Ошибки попадают в /logs/log.log

- HangGlider
- 28 октября 2011, 17:04
- ↑
- ↓
А есть ли в плагине смысл, если в фейсбуке давно для всех рсс есть отличное приложение RSS Graffiti, которое подхватывает и видео и фото и все остальное?
По-моему (я могу ошибатся) можно сделать любую рсс — только определенного блога, только «самых-самых» или только главной и его транслировать.
Я прав?
Я прав?
Убрать этот блок из конфига:
// Правила вывода виджета
Config::Set('block.rule_facebook',array(
'path' => array(),
'action' => array('blog','personal_blog','top','people','my','people','index','stream','tag','facebook'),
'blocks' => array(
'right' => array(
'facebook' => array('priority'=>0,'params'=>array('plugin'=>'facebook'))
)
),
'clear' => false,
));

- HangGlider
- 21 октября 2011, 14:31
- ↑
- ↓
Также, у меня есть эта проблема, когда я нажимаю кнопку «опубликовать»:
Я использую шаблон «social» jquery
Notice: Undefined index: topic_rating in /home/domain2/domains/domain.com/public_html/classes/modules/topic/entity/Topic.entity.class.php on line 79
Warning: Cannot modify header information - headers already sent by (output started at /home/domain2/domains/domain.com/public_html/classes/modules/topic/entity/Topic.entity.class.php:79) in /home/domain2/domains/domain.com/public_html/engine/include/function.php on line 224
Warning: Cannot modify header information - headers already sent by (output started at /home/domain2/domains/domain.com/public_html/classes/modules/topic/entity/Topic.entity.class.php:79) in /home/domain2/domains/domain.com/public_html/engine/include/function.php on line 225
Я использую шаблон «social» jquery
пофиксено на GitHub'е
Т.к. у сущности нового топика не установлен рейтинг, попытка получить его приводила к появлению нотиса.
Т.к. у сущности нового топика не установлен рейтинг, попытка получить его приводила к появлению нотиса.

- HangGlider
- 28 октября 2011, 17:12
- ↑
- ↓
Странная хурма, плагин установил, кеш, смарти и прочее сбросил перехожу на facebook/setup, а там пусто… нажимаю установить… загрузка страницы… справа донотаты… а формы установки нет.
Что делать?)
Что делать?)
Если в файле setup.tpl убрать «display:none» у главного дива, то появляется примерно следующее:

- Frankenstein
- 30 января 2012, 04:51
- ↑
- ↓
Не могу разобраться — проблема в шаблоне или несовместимости с каким-то плагином?

- Frankenstein
- 04 февраля 2012, 03:09
- ↑
- ↓
У меня такой вопрос, почему в блоке виджета, пользователи которые лайкнули 2 раза отображаются, то есть в виджете по 2 аватара пользователей?
Фэйсбук отдает такой фрейм. Детально не разбирался. Если есть решение, охотно почитаю и пофиксю.

- HangGlider
- 30 января 2012, 09:09
- ↑
- ↓
В первую очередь хочу сказать большое спасибо за плагин. А во-вторых хочу поинтересоваться будет ли обновление учитывающее изменения отображения страниц которые вводит фэйсбук. Теперь перепост новости на страницу с помощью плагина выглядит вот так

в то время как ручной перепост все ещё выглядит примерно как раньше

Может быть как-то самостоятельно можно настроить этот момент? Что бы автоматический перепост был бы таким же большим как и ручной?

в то время как ручной перепост все ещё выглядит примерно как раньше

Может быть как-то самостоятельно можно настроить этот момент? Что бы автоматический перепост был бы таким же большим как и ручной?

- copylefter
- 20 марта 2012, 21:37
- ↓
Комментарии (56)
RSS свернуть / развернуть