BelVG Бесплатный Лайк на Facebook: Нет кнопки "Нравится"
Отказ от ответственности: Я прискорбно отстал от времени, когда дело доходит до интеграции в социальные сети/Facebook. т.е. Я не знаю, чего я не знаю, поэтому приношу свои извинения, если это простая очевидная вещь.
Я установил Facebook Connect и мне нравится бесплатное расширение от Magento connect. С включенным этим расширением я могу видеть следующий HTML-код на странице catalog_product_view
.
<fb:like href="http://magento-1-9-0-0.dev/test/test-product.html" layout="standart" show_faces="false" width="450" colorscheme="light"></fb:like>
Однако - на моей странице нет кнопки "Нравится" в Facebook. Я разместил некоторые Start
и End
отладка вокруг раздела PHP, который отображает это
<?php if($this->helper('facebookfree/active')->isActiveLike()):?>
Start
<fb:like href="<?php echo $this->helper('core/url')->getCurrentUrl()?>" layout="<?php echo $this->helper('facebookfree/active')->getLikeLayout()?>" show_faces="<?php echo $this->helper('facebookfree/active')->isFacesLikeActive()?>" width="<?php echo $this->helper('facebookfree/active')->getLikeWidth()?>" colorscheme="<?php echo $this->helper('facebookfree/active')->getLikeColor()?>"></fb:like>
End
<?php endif?>
И между этими словами в моем браузере ничего не отображается.
Я знаю/предполагаю, что fb:like
не является стандартным элементом HTML, но что должно отображать это как фактическую ссылку like?
Я получал сообщение об ошибке в своей консоли о том, что URL-адрес не соответствует настройкам URL-адреса моего приложения facebook, но я исправил это.
Это стандартная, непроизводственная система с в основном новой установкой 1.9 CE. Он также запускается из локального экземпляра разработки на моем ноутбуке.
Кроме того, если я оставлю страницу там на 45 секунд, я получу следующую ошибку в своей консоли javascript.
Fb: например, не удалось изменить размер за 45 секунд
2 answers
Шаг 1: Пропустите расширение (если вам нужны только кнопки "Нравится").
Шаг 2: Получите последний фрагмент из: https://developers.facebook.com/docs/plugins/like-button/
Шаг 3: Используйте фрагмент HTML5 (работает с любым типом документа) вместо XFBML.
Чего вам, скорее всего, не хватает, так это JS SDK для факбука (да). Обычно FB хочет, чтобы вы разместили это сразу после открытия тега <body>
. Либо расширение делает это неправильно, оно устарело, отсутствует или не может переопределить тег <html>
с пространством имен SDK FB (не требуется в фрагменте HTML5), или есть ошибка JS, блокирующая выполнение.
В противном случае он должен просто отображаться. Вы можете протестировать фрагмент вручную, просто поместив обе группы кода в одно и то же место.
Это был неинтересный способ провести вторую половину дня. Было множество проблем, но они сводились к расширению BelVG, использующему текст standart
для макета, когда они должны использовать standard
. Когда iframe Facebook like был передан standart
в качестве параметра, он не вернул кнопки "Нравится".
Здесь включены отвлекающие маневры
Вышеупомянутое "fb: как не удалось изменить размер за 45 секунд", вероятно, вызвано пустым iframe. Все правила CSS, которые я нашел, чтобы "исправить" это нацеливание на неправильные HTML-элементы (хотя я уверен, что в то время они были правильными)
Что различные версии расширения и собственный код Facebook использовали
appId
,app_id
, и полностью опустил идентификатор приложения, что привело к напрасным усилиям по выяснению, нужно ли это вообщеТо есть существуют различные версии "Javascript SDK", каждая с разными параметрами инициализации, что приводит к напрасным усилиям, пытающимся выяснить, похож ли синтаксис с годами произошли изменения.
В конце концов я решил эту проблему с помощью diffing
сгенерированного iframe
src для фрагмента кода, предоставленного Facebook, с кодом, сгенерированным расширением Magento, и менял параметры, пока он не начал работать.
Всем, кто регулярно имеет дело с различными сторонними технологиями Facebook, я сочувствую и сочувствую.