0

我安装了Django Zinnia。在Edit Entry Admin Page中,当我将Facebook HTML Like Button代码粘贴到我的Entry时,它没有显示出来。

我从这里获取源代码:https ://developers.facebook.com/docs/reference/plugins/like/

我将其粘贴到我的条目中

<div class="fb-like" data-href="http://developers.facebook.com/docs/reference/plugins/like" data-width="450" data-show-faces="false" data-send="false"></div>

但是,在我将它粘贴到我的Entry之后,它最终看起来像这样:

入口截图

在我保存条目并在我的博客中查看它后,Like 按钮不存在。当我做一个检查元素时,这就是我得到的:

<div class="fb-like fb_edge_widget_with_comment fb_iframe_widget" fb-xfbml-state="rendered">
    <span style="height: 0px; width: 0px;">
        <iframe id="f2bdd2133" name="f1df56cf" scrolling="no" title="Like this content on Facebook." class="fb_ltr" src="http://www.facebook.com/plugins/like.php?api_key=&amp;channel_url=http%3A%2F%2Fstatic.ak.facebook.com%2Fconnect%2Fxd_arbiter.php%3Fversion%3D27%23cb%3Df2f816705c%26domain%3Dlocalhost%26origin%3Dhttp%253A%252F%252Flocalhost%253A8000%252Ff273626188%26relation%3Dparent.parent&amp;colorscheme=light&amp;extended_social_context=false&amp;href=http%3A%2F%2Flocalhost%3A8000%2Fblog%2F2013%2F09%2F19%2Ftest%2F&amp;layout=standard&amp;locale=en_US&amp;node_type=link&amp;sdk=joey&amp;show_faces=true&amp;width=450" style="border: none; overflow: hidden; height: 0px; width: 0px;">
        </iframe>
    </span>
</div>

当我在Entry Admin Page再次返回编辑我的Entry时,Facebook 代码已经消失:

在此处输入图像描述

我的页面上确实有 JS SDK 代码。

这是怎么回事?如何让 Facebook 的“赞”按钮显示出来?

4

2 回答 2

0

我在带有外部链接的 cms 中遇到了一些类似的问题,您有一些选择,我尝试了这两种方法:

第一的

我尝试做的第一件事是使用 Link Plugin 并在插件中插入 facebook 共享所需的值。(并非所有 cms 版本都适用于此)

第二

当第一个解决方案对我不起作用时,我直接在 django 模板中编写了链接,因为我不确定为什么,但是 cms 有时会修改我尝试添加的链接或插件。所以我建议你在你想要链接的地方之前或之后创建一个占位符,并直接在模板中写下 facebook 链接。

我知道这些不是很好的解决方案,当我发现自己处于类似情况时,我会做这些事情。我可以肯定地告诉你,问题出在 CMS 上。是 CMS 修改您放入占位符的代码。

于 2014-04-04T09:15:48.033 回答
0

虽然这个问题已经很老了,但我认为我仍然应该分享我的解决方案。即使它对您没有帮助,其他人也可能会偶然发现它。

我对 zinnia 的 Entry 管理员也有类似的问题。问题在于 wymeditor - zinnia 中使用的版本不允许将 iframe 添加到条目中。

我想出的解决方案如下:

  1. 将 wymeditor 插件(此处描述的插件wymeditor 无法保存插入的 iframe)放在您的 staticfiles 目录中。
  2. 在代码中的某处覆盖 zinnia EntryAdmin,如下所示:
    class CustomZinniaEntryAdmin(EntryAdmin):
        def _custom_media(self):
            _base_media = super(CustomZinniaEntryAdmin, self)._media()
            return _base_media + forms.Media(
                js=('/your/static/path/jquery.wymeditor.embed.js',)
            )
        media = property(_custom_media)
    admin.site.unregister(Entry)
    admin.site.register(Entry, CustomZinniaEntryAdmin)

它应该工作。

于 2016-03-31T14:21:49.603 回答