2010-12-02 18 views
0

J'ai créé un bloc personnalisé dans Magento qui contient du JS. Je veux l'avoir placé juste après <head> dans la sortie HTML. Bloc ressemble à ceci:Le bloc défini dans page.xml ne rend pas


<?php if($this->isHomePage()): ?> 
<script language='JavaScript1.1' type='text/javascript'>ns_loadingtime1=(new Date()).getTime()</script> 
<?php endif ?> 

Dans un fichier page.xml de mon modèle, j'ai ceci:


(...) 
<block type="page/html" name="root" output="toHtml" template="page/2columns-left.phtml"> 
      <block type="baobaz_tags/widget_nedstattag_metadata" name="baobaz_nedstattag_head" as="nedstattagHead" before="head" template="baobaz/tags/widget/nedstattag/homepage/meta.phtml" /> 
      <block type="page/html_head" name="head" as="head"> 

En sortie HTML mon bloc personnalisé (baobaz_nedstattag_head) n'existe pas. Savez-vous ce que je peux faire pour le rendre comme je le souhaite?

EDIT Grâce au commentaire de Fabrizio, j'ai pu faire les choses correctement. Parce que dans son approche, je recevais double entrée de mon bloc. Alors je suis parti le page.xml comme il est écrit ci-dessus et je l'ai ajouté à 1column.phtml $this->getChildHtml('nedstattagHead') avant d'appeler head bloc

Répondre

1

Vous pouvez essayer de déplacer la définition de bloc dans la définition du bloc de tête:

<block type="page/html_head" name="head" as="head"> 
    <block type="baobaz_tags/widget_nedstattag_metadata" name="baobaz_nedstattag_head" as="nedstattagHead" template="baobaz/tags/widget/nedstattag/homepage/meta.phtml" before="-" /> 

... missing code of head block definition ... 
</block> 

Marque Assurez-vous d'ajouter le echo $this->getChildHtml('nedstattagHead') dans le fichier page/html/head.phtml.

+0

Ouais! Juste ce dont j'avais besoin :) 'getChildHtml()', pourquoi je n'y ai pas pensé!? – Ventus