Domanda

Voglio aggiungere i tag di collegamento per reindirizzare il mio sito web al mio provider OpenID. Questi tag dovrebbero andare nell'elemento head. Qual è il modo migliore per aggiungerli in Plone?

Comprendo che riempire head_slot è un modo per farlo, ma ciò può accadere solo quando si aggiunge un modello alla pagina e quel modello viene reso. Nel mio caso non sto aggiungendo alcun modello. Quale modello dovrei modificare (che non è main_template.pt, che è la mia soluzione attuale, con i suoi enormi svantaggi).

È stato utile?

Soluzione 3

Non riuscivo a capire come riempire uno slot senza un prodotto o altro. Comprendo che puoi riempire uno slot da un modello, ma se Plone non lo raccoglie, il codice di riempimento non verrebbe mai eseguito. Ho finito per modificare main_template e inserire il mio codice direttamente in. Questo è male perché diverse skin avranno differenti main_templates e in effetti mi ha morso perché l'ho modificato per un modello mentre stavo usando l'altro. Non è un'esperienza innocua, non succede nulla, ma un brutto problema perché main_template è personalizzato e viene raccolto in modo da avere una skin che lavora con la main_template dell'altra. Risultato finale: UI interrotta con un problema difficile da trovare.

Questo è il codice che ho aggiunto:

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

Probabilmente segnerò questa risposta come accettata perché è ciò che sto attualmente utilizzando (e questa è la mia politica, segnare le soluzioni che finisco per usare come accettate, nient'altro è contrassegnato come accettato), ma se una qualsiasi delle altre domande diventa chiaro come iniettare questo nuovo modello, lo userò e annullerò l'accettazione (se StackOverflow lo consente).

Altri suggerimenti

Devi compilare il head_slot definito in main_template.pt

Nel tuo modello di base, aggiungi quanto segue:

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

Alla fine, devi posizionarli direttamente nella main_template oppure devi inserirli in uno degli slot nella mail_template.

Quello che ho li mette nello slot di stile, accanto al resto dei collegamenti 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>

Devi inserirlo in un modello da qualche parte. L'ho messo in una homepage.pt separata mentre personalizzavo comunque la homepage. Questo mette le intestazioni openid solo sulla homepage. Se non desideri un modello personalizzato, puoi personalizzare il modello document_view (supponendo che la tua homepage sia un documento) e inserire sopra lo snippet di codice in esso.

Sarebbe meglio se ci fosse un'opzione per questo in sé, simile al " aggiungi javascript per le statistiche qui " opzione.

La documentazione completa sul supporto di OpenID è disponibile qui.

http://plone.org/documentation/how -per / OpenID-support / vista? searchterm = OpenID

Spero che questo aiuti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top