Как лучше всего добавлять теги к голове в Plone?

StackOverflow https://stackoverflow.com/questions/137911

  •  02-07-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение 3

Я не мог понять, как заполнить слот без товара или чего-то еще.Я понимаю, что слот можно заполнить по шаблону, но если Plone не подхватывает этот шаблон, то код заполнения никогда не будет запущен.В итоге я изменил main_template и поместил свой код непосредственно в файл .Это плохо, потому что разные скины будут иметь разные main_templates, и меня это действительно укусило, потому что я изменил его для одного шаблона, когда использовал другой.Это не безобидный опыт «ничего не происходит», а неприятная проблема, потому что main_template используется по индивидуальному заказу и подхватывается, так что у вас есть один скин, работающий с 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 это позволяет).

Другие советы

Вам нужно заполнить head_slot определено в main_template.pt

В базовый шаблон Plon добавьте следующее:

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

В конце концов, вам придется либо поместить их непосредственно в 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 (при условии, что ваша домашняя страница является документом) и ввести в него приведенный выше фрагмент кода.

Было бы лучше, если бы в самом Plon была опция для этого, похожая на опцию «добавить сюда javascript для статистики».

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top