Modifica header.phtml una proroga
-
16-10-2019 - |
Domanda
Qual è la migliore pratica per la situazione data?
Sto creando un'estensione e seguendo le best practice di Magento creando il mio layout e modelli in base / default, ma mettendoli nel modulo folders..etc. Uno dei requisiti del però estensione, è quello di aggiungere qualcosa nel modello di intestazione su dove il messaggio di benvenuto di default è. Io non voglio cambiare il modello di intestazione di base e non riesco a creare il mio tema, perché è un'estensione. Non sono sicuro che solo l'aggiunta di un blocco a 'header' avrebbe funzionato. Cosa si può fare?
Soluzione
Nel header.phtml di default c'è questa riga:
<p class="welcome-msg"><?php echo $this->getWelcome() ?> <?php echo $this->getAdditionalHtml() ?></p>
Dal mio punto di vista si hanno 3 opzioni.
L'opzione 1. Nel caso in cui si desidera aggiungere un testo semplice che non dipende sulla pagina o utente e si desidera aggiungere un commento dopo il messaggio di benvenuto è possibile aggiungere questo pezzo di codice nel tuo file di layout:
<reference name="header">
<action method="setAdditionalHtml"><additional>YOUR TEXT HERE</additional></action>
</reference>
L'opzione 2. Se si vuole aggiungere l'utente / pagina di contenuto dipendenti o che si desidera aggiungere il contenuto prima che il messaggio di benvenuto è possibile ignorare questo metodo Mage_Page_Block_Html_Header :: getWelcome () e farlo sembrare qualcosa di simile:
public function getWelcome(){
$text = 'YOUR TEXT HERE';
return $text.parent::getWelcome();
}
L'opzione 3. Metti il ??tuo contenuto del blocco nel piè di pagina. Questo può essere fatto facilmente con
<reference name="footer">
<block type=".." name=".." as=".." template=".." />
</reference>
E nel tuo blocco includono un javascript che si muove sul suo sito web per l'area di intestazione desiderato. Non è il modo più bello per farlo, ma dovrebbe funzionare. Il rovescio della medaglia è che essa non può lavorare su un tema personalizzato. Ma è possibile includere una spiegazione su come farlo funzionare sul vostro file readme.