Question

Je souhaite ajouter les balises link pour rediriger mon site Web vers mon fournisseur OpenID. Ces balises doivent aller dans l'élément head. Quelle est la meilleure façon de les ajouter dans Plone?

Je comprends que le remplissage de head_slot est un moyen de le faire, mais cela ne peut se produire que si vous ajoutez un modèle à la page et que ce modèle est en cours de rendu. Dans mon cas, je n’ajoute aucun modèle. Quel modèle devrais-je modifier (ce n'est pas main_template.pt, qui est ma solution actuelle, avec ses énormes inconvénients).

Était-ce utile?

La solution 3

Je ne comprenais pas comment remplir une case sans produit ou quoi que ce soit. Je comprends que vous pouvez remplir un emplacement à partir d’un modèle, mais si Plone ne le prend pas, le code de remplissage ne sera jamais exécuté. J'ai fini par modifier main_template et mettre mon code directement dans le fichier. C'est mauvais parce que différents skins auront différents main_templates, ce qui m'a mordu parce que je l'ai modifié pour un modèle alors que j'utilisais l'autre. Il ne s’agit pas d’une expérience anodine sans issue, mais d’un problème désagréable, car main_template fait partie de la coutume et elle est récupérée afin que vous ayez un skin fonctionnant avec le main_template de l’autre. Résultat final: interface utilisateur endommagée avec un problème difficile à trouver.

C'est le code que j'ai ajouté:

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

Je marquerai probablement cette réponse comme acceptée car c'est ce que j'utilise actuellement (et c'est ma politique, je marque les solutions que j'utilise comme acceptées, rien d'autre n'est marqué comme accepté), mais si l'une des autres questions devenez clair dans la façon d’injecter ce nouveau modèle, je vais l’utiliser et annuler l’acceptation (si StackOverflow le permet).

Autres conseils

Vous devez renseigner le head_slot défini dans main_template.pt

Dans votre modèle Plone de base, ajoutez les éléments suivants:

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

Au final, vous devez soit les placer directement dans le main_template, soit les insérer dans l’un des emplacements du mail_template.

Ce que j'ai les met dans la fente de style, à côté du reste des liens 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>

Vous devez mettre cela dans un modèle quelque part. Je l'ai mis dans un homepage.pt séparé car je personnalisais quand même la page d'accueil. Cela met les en-têtes openid juste sur la page d'accueil. Si vous ne voulez pas de modèle personnalisé, vous pouvez personnaliser le modèle document_view (en supposant que votre page d'accueil est un document) et y entrer le fragment de code ci-dessus.

Il serait préférable qu’il existe une option à cet effet dans Plone, similaire à l'option " ajouter du javascript pour les statistiques ici " option.

La documentation Plone sur la prise en charge de OpenID peut être trouvée ici.

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

J'espère que cela vous aidera.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top