Новый разработчик для Facebook и Symfony 1.4 с парой проблем.
Во-первых, у меня возникла проблема с отображением кнопки «Добавить в шкалу времени» на моей странице там, где она мне нужна.Кажется, на моем сайте отображается изображение загрузки Facebook, после чего после видимой загрузки кнопка не отображается.Я осмотрел много разных сайтов (включая учебник по FB для Open Graph), все говорили, что нужно размещать скрипты после открывающего тега body.Я поместил его в файл layout.php, чтобы мне не приходилось помещать его в несколько мест:
layout.php
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:fb="http://ogp.me/ns/fb#" xmlns:og="http://ogp.me/ns#">
....
<body>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'APP_ID',
status : true,
cookie : true,
xfbml : true,
oauth : true
});
};
(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=APP_ID";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<div id="container">
У меня уже естьпри необходимости заменил APP_ID и поместил кнопку «Добавить на временную шкалу» в виде:
viewSuccess.php
<?php // Facebook Post-to-Timeline Button for this user's created recipe ?>
<?php if($recipe->getUserId() == sfUserTools::getConnectedUser()->getId()): ?>
<fb:add-to-timeline show-faces="false" mode="button"></fb:add-to-timeline>
<?php endif ?>
Я не уверен, что проблема в том, гдесценарий JSSDK размещен, или если Symfony не видит что-то на странице просмотра.Обратите внимание, что у меня пока нет настроек и объектов нашего приложения для Open Graph, в настоящее время отправка сообщений на временную шкалу не является моей задачей.Есть идеи или советы для новичка?