自定义Facebook共享集成

时间:2011-06-24 09:52:06

标签: php javascript facebook facebook-javascript-sdk facebook-fbml

我正在开发一个电子商务网站,其中购物车页面需要包含所有产品项目的Facebook共享按钮,具有以下要求: -

假设购物车页面中有4个产品项目 - “p1”,“p2”,“p3”& “P4”。

  1. 当用户点击“p4”项目的“共享”按钮时,如果他没有登录FB,则会要求他登录。这是使用“fb:login-button”FBML标记完成的。

  2. 登录后,用户可以在我的网站弹出窗口中提供自定义消息。该弹出窗口还将包含“p4”项目的产品名称以及图像。

  3. 当用户点击“分享”/“提交”按钮时,带有产品名称& “p4”项目的图像将在用户的Facebook墙上发布/发布。第2点和第2点都是#3已使用“FB.init”& “FB.ui”JavaScript SDK的核心方法。

  4. 现在在我的网站上,购物车页面会显示“p4”项目,Facebook共享已完成&因此,即使再次刷新页面或将更多此类产品添加到购物车中,也不会再有“Facebook Share”按钮。 此处我无法执行“共享”按钮的禁用。请帮帮我。

  5. 用户可以点击其他产品“p1”,“p2”&的“分享”按钮。 “P3”。但共享消息的弹出窗口将显示产品名称&相应产品的图像&不是最后一项“p4”。 但是,此处弹出窗口始终仅提供最后一项“p4”的信息。相反,我真正想要的是Facebook Share功能的多个实例。请帮帮我。

  6. 我已经提到了以上几点中存在的问题,而且我在第4点和第4点中遇到了问题。 #5。

    请帮助我任何人&感谢所有人提前。如果需要更多信息,请询问我。

3 个答案:

答案 0 :(得分:5)

我无法解决你在第4号中遇到的问题,但我认为你要做的事情就像动态创建一个facebook sharer链接并正确设置它一样简单。

我已经创建了一个jsfiddle就可以了,看看这里是否有帮助。

代码的内容是一个简单的jQuery事件处理程序,它配置了facebook sharer的url和一些参数,给出以下html:

<ul class="products">
    <li id="product-1">
        Awesome Snacks 
        <a class="sharer" href="http://www.yoursite.com/some/url/to/product-1" data-title="Awesome Snacks on Website!">
            <span class="liketext">Share</span>
        </a>
    </li>
</ul>

以下jQuery事件处理程序定义:

$('.sharer').click(function(e) {
    e.preventDefault();

    var title = $(this).data('title');
    var url = $(this).attr('href');    
    var fbSharerUrl = 'http://www.facebook.com/sharer.php?';
    var params = { u: url, t: title };
    var fbSharerConfig = 'toolbar=0,status=0,width=600,height=400';

    window.open(fbSharerUrl + $.param(params), 'sharer', fbSharerConfig);
});

这将根据购物车中链接的href和data-title属性动态生成facebook sharer链接。

看看我之前链接的jsfiddle,因为它还包含一些CSS,使链接显示为facebook分享按钮:)

答案 1 :(得分:4)

如果我错了,请纠正我,但不会使用iframe-Share按钮纠正所有问题?

答案 2 :(得分:1)

Facebook不允许您使用共享按钮共享自定义文本/图像,如果需要,可以在共享URL中提供产品详细信息页面的URL而不是列表页面,并在该产品详细信息页面中设置元数据。

其他选项是将元数据通用设置为所有产品。

以下是解释Facebook可以理解的元数据的链接

http://grafikdesign.wordpress.com/2010/02/10/facebook-sharespecifying-meta-tags-fbml-audio-flash-video-action-bar/