Php 自定义Facebook共享集成

Php 自定义Facebook共享集成,php,javascript,facebook,facebook-javascript-sdk,facebook-fbml,Php,Javascript,Facebook,Facebook Javascript Sdk,Facebook Fbml,我正在一个电子商务网站上工作,其中购物车页面需要有所有产品项目的Facebook共享按钮,并满足以下要求:- 假设购物车页面中有4个产品项-“p1”、“p2”、“p3”和“p4” 当用户单击“p4”项目的“共享”按钮时,如果用户未登录FB,则会要求用户登录。这是通过使用“fb:login button”FBML标记完成的 登录后,用户将能够在我的网站的弹出窗口中提供自定义消息。该弹出窗口还将包含“p4”项的产品名称以及图像 当用户单击“共享”/“提交”按钮时,带有“p4”项目产品名称和图像的消息

我正在一个电子商务网站上工作,其中购物车页面需要有所有产品项目的Facebook共享按钮,并满足以下要求:-

假设购物车页面中有4个产品项-“p1”、“p2”、“p3”和“p4”

  • 当用户单击“p4”项目的“共享”按钮时,如果用户未登录FB,则会要求用户登录。这是通过使用“
    fb:login button
    ”FBML标记完成的

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

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

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

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

  • 我已经提到了以上几点中的问题,我在第4点和第5点中感到痛苦


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

    如果我错了,请纠正我,但使用iframe共享按钮是否可以纠正您的所有问题?

    我无法在第4项中解决您的问题,但我认为您尝试做的很简单,就是动态创建facebook共享者链接并适当设置其样式

    我已经创建了一个这样做的,看看这里,看看这是否对你有帮助

    代码的核心是一个简单的jQuery事件处理程序,它配置facebook共享器的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>
    
    这将根据购物车中链接的href和数据标题属性为您动态生成facebook sharer链接


    看看我之前的链接,因为它还包括一些CSS,使链接看起来像facebook的共享按钮:)

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

    另一个选项是为所有产品设置元数据通用

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


    是否没有人至少能回答其中的一些问题?请分享一些代码,例如如何添加共享按钮以及其他有用的内容。如果你能分享这些代码,这将非常有帮助。我相信这是这种情况下最简单的解决方案。做得好:)你真的很有帮助。用每一个真实的产品链接来改变yoursite.com是完美的。你的选择看起来比其他选择更可行。
    $('.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);
    });