Je souhaite ajouter les tags de liens pour rediriger mon site vers mon fournisseur OpenID. Ces étiquettes devraient aller dans l'élément principal. Quelle est la meilleure façon de les ajouter à Plone? Je comprends que le remplissage de head_slot est une façon de le faire, mais cela ne peut se produire que lorsque vous ajoutez un modèle à la page et que ce modèle est rendu. Dans mon cas, je n'ajoute aucun modèle. Quel template dois-je modifier (ce n'est pas main_template.pt, qui est ma solution actuelle, avec ses énormes inconvénients).Quel est le meilleur moyen d'ajouter des tags à la tête dans Plone?
Répondre
Je ne pouvais pas comprendre comment remplir un emplacement sans produit ou quoi que ce soit. Je comprends que vous pouvez remplir un emplacement à partir d'un modèle, mais si Plone ne sélectionne pas ce modèle, le code de remplissage ne sera jamais exécuté. J'ai fini par modifier main_template et mettre mon code directement dans le. C'est mauvais parce que différents skins auront des main_templates différents et en effet cela m'a mordu parce que je l'ai modifié pour un modèle quand j'utilisais l'autre. Ce n'est pas une expérience inoffensive-rien-qui arrive mais un vilain problème parce que main_template est sur coutume et il est ramassé pour que vous ayez un skin travaillant avec le main_template de l'autre. Résultat final: l'interface utilisateur s'est brisée avec un problème difficile à trouver.
Voici le code I 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 sans doute cette réponse comme acceptée parce qu'elle est ce que je suis actuellement en utilisant (et c'est ma politique, je marque des solutions je finis à l'aide acceptée, rien d'autre n'est marqué comme accepté), mais si l'une des autres questions devient claire dans la façon d'injecter ce nouveau modèle, je vais l'utiliser et annuler l'acceptation (si StackOverflow le permet).
La documentation sur la prise en charge d'OpenID peut être trouvée ici.
http://plone.org/documentation/how-to/openid-support/view?searchterm=openid
Hope this helps.
Vous devez remplir le head_slot
défini dans main_template.pt
Dans votre modèle plone de base, ajouter ce qui suit:
<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>
Comment remplir le head_slot en personnalisant un template?(note: je n'écris pas un produit) – Pablo
Si vous personnalisez un modèle TTW ou si vous le remplissez entièrement dans un système de fichiers, l'approche doit être la même: ajouter l'extrait de remplissage dans la section head de votre nouveau modèle. faire l'affaire. Je suppose que ça ne marche pas? – michaeljoseph
Vous dites "votre modèle" mais je ne suis pas sûr de quel modèle est-ce. Je personnalise TTW, et je n'ai pas pu trouver d'autre moyen que de personnaliser main_template et d'ajouter l'en-tête directement. Quel autre modèle devrais-je personnaliser ou créer pour ajouter l'extrait ci-dessus et maigre main_template seul? – Pablo
En fin de compte, vous devez soit les placer directement dans le main_template ou vous avez pour les insérer dans l'un des emplacements du modèle mail_template.
Ce que je les met dans la fente de style, à côté du reste des css/javascript liens:
<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 une homepage.pt séparée car je personnalisais la page d'accueil de toute façon. 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 soit un document) et entrer l'extrait de code ci-dessus.
Il serait préférable d'avoir une option pour cela dans plone lui-même, similaire à l'option "ajouter javascript pour les statistiques ici".
Comment est-ce que homepage.pt est utilisé ou récupéré par Plone? – Pablo
Dans Genericsetup, vous pouvez le définir comme vue disponible pour le PloneSite. Cela le rend sélectionnable dans le menu "affichage". Une alternative est d'imiter l'action du menu d'affichage et de faire quelque chose comme http://yoursite.com/selectViewTemplate?templateId=homepage. –
- 1. Quel est le meilleur moyen de déployer des applications Web?
- 2. Ajout d'éléments à la liste des résultats en double. Quel est le meilleur moyen?
- 3. Quel est le meilleur moyen d'ajouter des variantes du même caractère à une vue dans Cocoa
- 4. Quel est le meilleur moyen d'ajouter des utilisateurs à plusieurs groupes dans une base de données?
- 5. Quel est le meilleur moyen de comparer plusieurs propriétés javabéennes?
- 6. Quel est le meilleur moyen de gérer QUERY_STRING en PHP?
- 7. Quel est le meilleur moyen de fermer un thread WCF?
- 8. Quel est le meilleur moyen de faire throbber en C#?
- 9. Quel est le meilleur moyen de communication interprocesseur sous Linux?
- 10. Quel est le meilleur moyen de dupliquer des données dans un modèle django?
- 11. Quel est le meilleur moyen d'introduire le décryptage et l'affichage des mots de passe dans delphi
- 12. Quel est le meilleur moyen de redimensionner un objet BitmapData?
- 13. Quel est le meilleur moyen de copier une liste?
- 14. Quel est le meilleur moyen d'ajouter des extraits de code color-sytax à une page Web?
- 15. Quel est le meilleur moyen de récupérer/rendre des relations un-à-plusieurs?
- 16. Quel est le meilleur moyen d'échapper à des chaînes Python en PHP?
- 17. Quel est le meilleur moyen d'échapper des caractères non-format dans to_char d'Oracle?
- 18. Quel est le meilleur moyen de regrouper des projets autotools individuels dans un autre "projet"?
- 19. Quel est le meilleur moyen de stocker des données de modèle dans une application jQuery?
- 20. Quel est le meilleur dans asp.net 2.0?
- 21. Quel est le meilleur moyen de gzip et cache des images statiques dans Asp.net mvc
- 22. Quel est le meilleur moyen de consigner des exceptions dans une chaîne?
- 23. Quel est le meilleur moyen de dessiner des "boutons" skinnables dans un jeu vidéo?
- 24. Quel est le meilleur moyen d'afficher l'heure et la date exactes dans Django?
- 25. Quel est le meilleur moyen de lier un répéteur à une réponse AJAX?
- 26. Quel est le meilleur moyen d'écrire dans plusieurs journaux mis à jour en permanence?
- 27. Quel est le meilleur moyen d'appeler repaint() à intervalles réguliers dans mon programme Java2D?
- 28. Le meilleur moyen d'ajouter des fichiers générés à la distribution?
- 29. Quel est le meilleur moyen d'obtenir la sortie la plus utile d'oprofile?
- 30. Quel est le meilleur moyen de récupérer la clé de retour dans un PasswordBox? (WPF/XAML)
Nikki9696, c'est d'avoir Plone agissant comme un récepteur d'OpenID, c'est trivial. Je veux qu'il agisse en tant que fournisseur. Mettre des balises sur l'en-tête est pour rediriger vers un autre fournisseur. – Pablo