Facebook graph api 如何在Prestashop(Smarty)中显示类似facebook页面的计数

Facebook graph api 如何在Prestashop(Smarty)中显示类似facebook页面的计数,facebook-graph-api,smarty,prestashop,Facebook Graph Api,Smarty,Prestashop,我用PHP编写了这段代码,效果非常好: 但是,我不知道如何在我的prestashop页面的footer.tpl中实现它。 我尝试将它添加到FrontController中,{php}…{/php}标记之间,但没有成功 谢谢你的帮助 最后,我花了很长时间,我不得不深入研究smarty(或者至少——比我想要的更深)。斯玛蒂对我很不友好 以下是解决方案: 现成的Smarty无法解码JSON对象,因此: 添加此插件: 将JSON对象分配给.tpl文件中的变量,如下所示: {json url=''assi

我用PHP编写了这段代码,效果非常好: 但是,我不知道如何在我的prestashop页面的footer.tpl中实现它。 我尝试将它添加到FrontController中,{php}…{/php}标记之间,但没有成功


谢谢你的帮助

最后,我花了很长时间,我不得不深入研究smarty(或者至少——比我想要的更深)。斯玛蒂对我很不友好

以下是解决方案: 现成的Smarty无法解码JSON对象,因此:

  • 添加此插件:
  • 将JSON对象分配给.tpl文件中的变量,如下所示: {json url=''assign=result}
  • 在.tpl文件中需要的任何位置使用此选项: {$result->name}
  • 如果在某个地方看到分页符,请打开smarty调试,或者查看Apache错误日志


    希望它也能帮助其他人:)

    因此,这将在Prestashop 1.5x中起作用

    (注意:此示例将facebook页面喜欢添加到footer.tpl中)

    1-转到文件:

    类/controller/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')}
    
    其中39988821339907是您页面的id


    享受吧

    为什么不直接使用facebook api,他们会给你一个插件javascript代码,然后你把它放在footer.tpl文件中?因为我想在自定义文本中显示计数(“32000人在facebook上跟踪了我们。你呢?”)你用FronControl做了什么?你能给我们看一些代码吗?增加了这个:阅读后完成:找到解决方案并回答了我自己。谢谢你的帮助!谢谢你的回答,但由于我自己的回答不会改变核心文件,我认为我的实现更好。