0

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

它们用 id、title、description 和 cost 表示。

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

我设置了一个名为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 个表行作为它们自己的项目小得多

4

2 回答 2

0

也许是一个 htaccess url 重写?

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

然后你会用这个 url 调用它:http://www.MyWebsite.com/order-' + itemId

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

于 2013-07-24T18:00:43.630 回答
0

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

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

于 2013-07-24T16:42:53.153 回答