自定义模板& Rapido打破网址路径

时间:2017-05-10 17:34:54

标签: plone zope plone-5.x

概要

我有一个名为" Gallery Profile"的自定义类型(Dexterity),对于这种类型我进入了ZMI(portal_skins / custom),创建了一个新的"页面模板"并为我的画廊写了一个自定义模板。该图库包含一堆较低的图像和一个图库所有者的主要图像,如新闻项目视图,但底部有一个图库。

当有人点击“分享”时,客户希望将此主图像发布到Facebook。以及发布时标题中的一些更具体的信息。

开展工作

配置一个Rapido脚本来编写' og:image'要使其工作所需的元数据等HTML(默认的Plone内容仅发布网站徽标,除非您正在查看一种图像类型)。

如果我通过直接网址测试Rapido出来的HTML,它可以游戏。 (site.com/@@rapido/og_share/block/og_share) - 我在Rapido的稍微旧版本上因此是非复数版本的块。

问题

如果您转到我们已应用模板的图库页面,然后检查HTML,所有OG元数据都指向模板而不是当前页面。

这也会影响查询(例如,如果您使用脚本查找文件夹中的图像) - 它会搜索/ my_template而不是site.com/a_folder/my_template_is_on

在Rapido Python文件中,我尝试过以下内容:

context.content.absolute_url()
context.content.absolute_url_path()
context.request['URL']
context.request['VIRTUAL_URL']
context.request['ACTUAL_URL']

......可能还有更多,因为我已经有一段时间了。

如果您不在自定义模板上,可以使用

重现

  • 创建自定义模板
  • 将其指定为文件夹或任何类型的默认视图。
  • 在您的模板中添加<div tal:replace="structure python:context.REQUEST"></div>(只是为了查看差异)
  • 在您的Rapido中尝试使用context.app.log()以及上述任何
  • 在检查日志和context.REQUEST内容的输出时刷新模板化文件夹。
  • 你会看到差异以及Rapido如何很难获得你所在页面的网址,即使它在那里。

我一直对Rapido有这个问题我只是倾向于解决它但在这种特殊情况下我很难过。

总结

  • 我是一个白痴,错过了一些明显的东西吗?
  • 这可能吗?

感谢您的时间。

0 个答案:

没有答案