在Plone中添加标签的最佳方法是什么?

时间:2008-09-26 05:28:54

标签: openid plone

我想添加链接标记以将我的网站重定向到我的OpenID提供商。这些标签应该放在head元素中。在Plone中添加它们的最佳方法是什么?

我知道填充head_slot是一种方法,但只有在向页面添加模板并呈现该模板时才会发生这种情况。在我的情况下,我不添加任何模板。我应该修改哪个模板(这不是main_template.pt,这是我目前的解决方案,它有很大的缺点)。

4 个答案:

答案 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

希望这有帮助。