Question

Quelle est la meilleure pratique pour la situation donnée?

Je crée une extension et suivant les meilleures pratiques de Magento en créant ma mise en page et des modèles dans la base / default mais les mettre dans le module folders..etc. L'une des exigences de l'extension cependant, est d'ajouter quelque chose dans le modèle d'en-tête sur l'endroit où le message d'accueil par défaut est. Je ne veux pas changer le modèle d'en-tête de base et je ne peux pas créer mon propre thème, car il est une extension. Je ne suis pas sûr que l'ajout d'un bloc « en-tête » fonctionnerait. Que pouvez-vous faire?

Était-ce utile?

La solution

Dans le header.phtml par défaut il y a cette ligne:

<p class="welcome-msg"><?php echo $this->getWelcome() ?> <?php echo $this->getAdditionalHtml() ?></p>

De mon point de vue que vous avez 3 options.

Option 1. Si vous souhaitez ajouter un texte simple qui ne dépend pas de la page ou l'utilisateur et que vous voulez ajouter après le message d'accueil vous pouvez ajouter ce morceau de code dans votre fichier de mise en page:

<reference name="header">
    <action method="setAdditionalHtml"><additional>YOUR TEXT HERE</additional></action>
</reference>

Option 2. Si vous souhaitez ajouter un utilisateur / contenu de la page ou en fonction que vous souhaitez ajouter le contenu avant que le message de bienvenue que vous pouvez remplacer cette méthode Mage_Page_Block_Html_Header :: getWelcome () et le faire ressembler à quelque chose comme ceci:

public function getWelcome(){
   $text = 'YOUR TEXT HERE';
   return $text.parent::getWelcome();
}

Option 3. Placez le contenu de bloc dans le pied de page. Cela peut se faire facilement avec

<reference name="footer">
    <block type=".." name=".." as=".." template=".." />
</reference>

Et dans votre bloc incluent un javascript qui déplace le contenu dans la zone d'en-tête souhaitée. Ce n'est pas la plus jolie façon de le faire, mais cela devrait fonctionner. L'inconvénient est que cela ne fonctionne pas sur un thème personnalisé. Mais vous pouvez inclure une explication sur la façon de le faire fonctionner sur votre fichier readme.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top