动态支付元标签

时间:2013-07-23 14:13:39

标签: php javascript facebook facebook-graph-api

Facebook正在改变他们接受付款的方式,我们设置了一个表格,其中包含玩家可以在游戏中购买的所有商品的信息。

这些用id,标题,描述和费用表示。

由于新的更改意味着您需要使用包含项目详细信息的元标记来调用页面。

我已经设置了一个名为order.php的页面。此页面获取查询字符串变量itemId并从数据库中获取项目。然后将其转到这样的页面:

<meta property="og:type"                   content="og:product" />
<meta property="og:title"                  content="<?PHP echo $item['title']; ?>" />
<meta property="og:plural_title"           content="<?PHP echo $item['title']; ?>" />
<meta property="og:image"                  content="http://www.slotfactory.net/scontent/images/coin.png" />
<meta property="og:description"            content="<?PHP echo $item['description']; ?>" />
<meta property="og:url"                    content="http://www.slotfactory.net/products/order.php" />
<meta property="product:price:amount"      content="<?PHP echo $item['cost']; ?>"/>
<meta property="product:price:currency"    content="USD"/>

完成URL调用order.php?itemId = 1后,它会正确返回。当它通过Facebook UI调用时,它不起作用。如果itemId被强制为某个数字,那么它将返回该项,否则它不会获得itemId变量。

    FB.ui({
          method: 'pay',
          action: 'purchaseitem',
          product: 'http://www.MyWebsite.com/order.php?itemId=' + itemId
        }
    );

有谁知道我应该如何通过ID等变量?因为这将是一个比所有200个表行更小的工作作为他们自己的项目

2 个答案:

答案 0 :(得分:0)

由于必须相当迅速地完成,我找到的唯一解决方案是让php脚本为数据库中的每个ID创建一个文件。每个页面都会提取与该ID相关的数据库信息,以便所有数据仍在数据库中以供将来编辑,但需要为每个新记录添加新文件

注意:我没有将此标记为答案,因为它不是解决方案,但无论如何我都会把它放在一边,以防有人偶然发现这个问题寻找解决问题的方法

答案 1 :(得分:0)

也许是一个htaccess url重写?

RewriteEngine on
RewriteRule ^order-([0-9]*)$ /order.php?itemId=$1 [L,QSA]

然后您可以使用此网址调用它:http://www.MyWebsite.com/order-' + itemId

php页面order.php会将ID作为GET变量接收。