Domanda

Sto usando Zend Framework 1.8. Ho un problema con headMeta () che duplica le mie meta parole chiave.

Nel mio layout.phtml, ho
    <?php echo $this->headMeta(); ?>

Ho un Controller_Plugin_ViewSetup personalizzato (con estensione Zend_Controller_Plugin_Abstract) che contiene il seguente codice, nella funzione dispatchLoopStartup():
    $view->headMeta()->setHttpEquiv('Content-Type', 'text/html;charset=utf-8');     $view->headMeta()->setName('keywords', 'global,generic,keywords,');

Infine, a mio avviso gli script, ho quanto segue:
    $this->headMeta()->appendName('keywords', 'view,specific,keywords');

Mi aspettavo che nel mio codice sorgente HTML, avrei visto:
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    <meta name="keywords" content="global,generic,keywords,view,specific,keywords" />

Tuttavia, in realtà vedo questo:
    <meta name="keywords" content="global,generic,keywords," />
    <meta name="keywords" content="view,specific,keywords" />
    <=>

In altre parole, le meta parole chiave non si concatenano insieme come dovrebbero. Che cosa sto facendo di sbagliato?

Saluti,
   Matt

È stato utile?

Soluzione

Questo perché il metodo append non aggiunge più parole chiave all'elenco già definito. Il metodo append aggiungerà il tag successivo ai tag già definiti. Allo stesso modo, se scegli anteponi, questo aggiungerebbe il tuo nuovo tag prima di quello che hai definito nel tuo plugin.

Penso che la cosa migliore da fare sarebbe rimuovere le parole chiave segnaposto dal plug-in e memorizzare le parole chiave predefinite nel tuo oggetto di configurazione e inserirle nella tua vista contemporaneamente ad aggiungere parole chiave aggiuntive.

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