显示不同用户语言的Facebook标签内容

时间:2012-02-17 20:32:07

标签: php facebook facebook-graph-api

我正在为客户创建一个应用程序,该应用程序需要向讲法语的FB用户显示FRENCH内容。如果用户不是法语,则应显示英语内容。这需要与扇形门控一起使用......

这就是我所拥有的,但它不起作用。粉丝门是,但法语内容没有显示(是的,我在Facebook设置中将我的语言改为法语)。

总结一下,如果用户说法语,则显示粉丝和非粉丝法语内容。 ELSE显示默认的英文内容。简单地说。

编辑:为人们展示的更新和工作脚本: http://pastebin.com/U6ME0H7F

干杯, 麦克

2 个答案:

答案 0 :(得分:1)

关于语言,你的界限不应该是:

$ languageFR =($ locale ==“fr_CA”);

或者甚至更好,你不应该看[“用户”] [“语言”],而不是语言环境?

答案 1 :(得分:0)

(代表问题作者发布的解决方案,将其移至答案空间)

这是一个经过更新的有效脚本:

<?php
require 'facebook.php';

$app_id = "XXX";
$app_secret = "XXX";
$facebook = new Facebook(array(
        'appId' => $app_id,
        'secret' => $app_secret,
        'cookie' => true
));

$signed_request = $facebook->getSignedRequest();

$page_id = $signed_request["page"]["id"];
$page_admin = $signed_request["page"]["admin"];
$like_status = $signed_request["page"]["liked"];
$country = $signed_request["user"]["country"];
$locale = $signed_request["user"]["locale"];
$languageFR = ($locale == "fr_CA");

if ($like_status) {
    if ($languageFR) {  
        include("fans_french.php");
    }
    else {  
        include("fans_english.php");
    }
}
else {
    if ($languageFR) {  
        include("nonfans_french.php");
    }
    else {  
        include("nonfans_english.php");
    }
}

?>