Какой лучший способ добавить метки к голове в Plone? - PullRequest
3 голосов
/ 26 сентября 2008

Я хочу добавить теги ссылок для перенаправления моего веб-сайта моему провайдеру OpenID. Эти теги должны идти в элементе head. Какой лучший способ добавить их в Plone?

Я понимаю, что заполнение слота head_slot - это способ сделать это, но это может произойти, только когда вы добавляете шаблон на страницу и этот шаблон отображается. В моем случае я не добавляю никаких шаблонов. Какой шаблон мне следует изменить (это не main_template.pt, который является моим текущим решением, с его огромными недостатками).

Ответы [ 4 ]

5 голосов
/ 29 сентября 2008

Вам необходимо заполнить 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 голос
/ 13 октября 2008

В конце концов, вам нужно либо поместить их непосредственно в 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 для статистики здесь».

0 голосов
/ 13 января 2009

Я не мог понять, как заполнить слот без продукта или чего-либо еще. Я понимаю, что вы можете заполнить слот из шаблона, но если Plone не забирает этот шаблон, то код заполнения никогда не будет запущен. В итоге я изменил main_template и поместил свой код прямо в. Это плохо, потому что разные скины будут иметь разные main_templates, и это действительно меня укусило, потому что я изменил его для одного шаблона, когда использовал другой. Это не безвредный опыт - ничего страшного, а неприятная проблема, потому что main_template включен в custom, и он подобран, поэтому у вас есть один скин, работающий с main_template другого. Конечный результат: пользовательский интерфейс неисправен из-за трудно обнаруживаемой проблемы.

Это код, который я добавил:

<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).

0 голосов
/ 26 сентября 2008

Plone документацию по поддержке OpenID можно найти здесь.

http://plone.org/documentation/how-to/openid-support/view?searchterm=openid

Надеюсь, это поможет.

...