如何在Prestashop(Smarty)中显示像facebook这样的Facebook页面

时间:2013-03-23 21:38:59

标签: facebook-graph-api smarty prestashop

我在PHP中使用这个代码完美无缺:http://pastebin.com/sgVFDMW8 但是我不知道如何在我的prestashop页面中将它实现到footer.tpl中。 我尝试在FrontController中添加{php} ... {/ php}标签,但没有运气......

非常感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

最后,花了我很长时间,我不得不深入挖掘聪明(或者至少 - 比我想要的更深)。 Smarty是如此不友好的恕我直言。

以下是解决方案: 开箱即用,Smarty无法解码JSON对象,因此:

  1. 添加此插件:https://gist.github.com/tony-landis/31451
  2. 将JSON对象分配给.tpl文件中的变量,如下所示: {json url ='http://www.something.com/json'assign = result}
  3. 在.tpl文件中的任何位置使用此选项: {$ result->名称}
  4. 如果您在某处看到分页符,请打开智能调试,或检查Apache错误日志。

    希望它也可以帮助别人:)

答案 1 :(得分:0)

所以,这将在Prestashop 1.5x中起作用

(注意:这个例子将facebook页面添加到footer.tpl中)

1-转到文件:

类/控制器/ FrontController.php

在类中添加此功能:

public static function fbcount($idpage){
        $ch = curl_init("http://graph.facebook.com/$idpage");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        $raw = curl_exec($ch);
        curl_close($ch);

        $data = json_decode($raw);
        return $data->likes;
}

2-然后在footer.tpl文件中你可以使用它:

{FrontController::fbcount('399888213399907')}

其中399888213399907是您网页的ID

享受!