我想添加链接标记以将我的网站重定向到我的OpenID提供商。这些标签应该放在head元素中。在Plone中添加它们的最佳方法是什么?
我知道填充head_slot是一种方法,但只有在向页面添加模板并呈现该模板时才会发生这种情况。在我的情况下,我不添加任何模板。我应该修改哪个模板(这不是main_template.pt,这是我目前的解决方案,它有很大的缺点)。
答案 0 :(得分:5)
您需要填写head_slot
main_template.pt
在基础plone模板中,添加以下内容:
<head>
<metal:block metal:fill-slot="head_slot">
<link rel="openid.server" href="http://your.provider">
<link rel="openid.delegate" href="http://your.url">
</metal:block>
</head>
答案 1 :(得分:1)
最后,您必须将它们直接放在main_template中,或者您必须将它们插入mail_template中的一个插槽中。
我把它们放在样式插槽中,旁边是其他css / javascript链接:
<metal:myopenid fill-slot="style_slot">
<link rel="openid.server" href="http://www.myopenid.com/server" />
<link rel="openid.delegate" href="http://reinout.myopenid.com/" />
</metal:myopenid>
你必须把它放在某个地方的模板中。我把它放在一个单独的homepage.pt中,因为我正在定制主页。这会将openid标题放在主页上。如果您不想要自定义模板,可以自定义document_view模板(假设您的主页是文档)并在其中输入上面的代码片段。
最好是在plone本身有一个选项,类似于“在这里添加javascript for statistics”选项。
答案 2 :(得分:0)
我无法理解如何在没有产品或任何东西的情况下填充插槽。我知道您可以从模板填充一个插槽,但如果Plone没有拿起该模板,那么填充代码将永远不会运行。我最终修改了main_template并将我的代码直接放入。这很糟糕,因为不同的皮肤会有不同的main_templates,实际上它让我感到困惑,因为当我使用另一个时,我已经为一个模板修改了它。这不是一个无害的 - 没有发生的经验,但是一个令人讨厌的问题,因为main_template在自定义上并且它被拾取,所以你有一个皮肤使用另一个的main_template。最终结果:UI因难以发现的问题而崩溃。
这是我添加的代码:
<head>
...
<link rel="openid.server" href="http://www.myopenid.com/server" />
<link rel="openid.delegate" href="http://pupeno.myopenid.com/" />
<link rel="openid2.local_id" href="http://pupeno.myopenid.com" />
<link rel="openid2.provider" href="http://www.myopenid.com/server" />
<meta http-equiv="X-XRDS-Location" content="http://www.myopenid.com/xrds?username=pupeno.myopenid.com" />
</head>
我可能会将此答案标记为已接受,因为这是我目前使用的(这是我的政策,我标记的解决方案我最终使用为已接受,没有其他标记为已接受),但如果有任何其他问题如何注入这个新模板,我将使用它并恢复接受(如果StackOverflow允许)。
答案 3 :(得分:-1)
可以在此处找到有关支持OpenID的Plone文档。
http://plone.org/documentation/how-to/openid-support/view?searchterm=openid
希望这有帮助。