Best Practices modo per modificare Magento Top-Links
-
16-10-2019 - |
Domanda
Diciamo che vogliamo aggiungere un carrello della spesa icona a destra prima che il collegamento "Il mio carrello" su collegamenti migliori di Magento (Visualizza i Top link qui sotto).
Qual è il modo migliore per fare questo?
- Fai qualcosa a toplinks.php?
- Fai qualcosa a links.phtml?
- un file XML?
- Tutte le altre opzioni?
Mi rendo conto che questo può essere fatto con i CSS, ma come le mie esigenze per la personalizzazione crescere, voglio sapere come questo può essere fatto senza i CSS, quindi sono in grado di personalizzare le cose più difficili.
Soluzione
In ogni caso non modificare il file di modello (links.phtml
). Questo serve come modello generale per tutti gli elenchi di link. Per esempio viene utilizzato per i collegamenti nel piè di pagina anche.
Con toplinks.php
si può fare quello che vuoi perché è deprecato dal v1.4.0.1 CE.
Mi consiglia di utilizzare i file XML che aggiungono i collegamenti al contenitore superiore per ottenere quello che ti serve.
Il metodo addLink
che viene chiamato quando si aggiunge un nuovo collegamento supporta alcuni parametri che consentono di aggiungere classi e altri attributi su li
e a
tag nei link e un testo prima che il collegamento e dopo il collegamento.
public function addLink($label, $url='', $title='', $prepare=false, $urlParams=array(),
$position=null, $liParams=null, $aParams=null, $beforeText='', $afterText='')
{ ... }
Se si desidera aggiungere un'icona per il mio menu account è possibile impostare il $beforeText
per <span class="icon"></span>
e aggiungere alcuni stili sulla classe icona.
Per i collegamenti carrello e nella verifica che sia un po 'più complicato, perché sono aggiunti tramite un oggetto blocco non direttamente dal file di layout.
Se avete bisogno di qualcosa di diverso per carrello o checkout Lins tutto quello che dovete fare è ignorare la Mage_Checkout_Block_Links::addCartLink()
metodi o Mage_Checkout_Block_Links::addCheckoutLink()
. Questi 2 chiamata lo stesso addLink()
e si può passare diversi parametri ad esso.
Altri suggerimenti
Nel caso in cui è necessario applicare modello personalizzato solo per Top Links, si può fare in questo modo nel local.xml del vostro tema:
<default>
<reference name="top.links">
<action method="setTemplate">
<template>page/template/my_links.phtml</template>
</action>
</reference>
<default>
Quindi copiare pagina / template / links.phtml e rinominarlo in / template / my_links.phtml e fare tutto ciò che è necessario all'interno di quel nuovo file modello.
Per aggiungere un link personalizzato al Top Links via local.xml:
<reference name="top.links">
<action method="addLink" translate="label title">
<label>My Link</label>
<url>path/to/page</url>
<title>My link tooltip</title>
<prepare>true</prepare>
<urlParams/>
<position>150</position>
<liParams>id="my-custom-id"</liParams>
</action>
</reference>
Vedi anche questa pagina: http: // www. classyllama.com/development/magento-development/editing-magentos-top-links-the-better-way
Si prega di trovare questo percorso per il cambiamento top link:
/app/design/frontend/base/default/layout/customer.xml
e cercare:. Log In (nel mio caso)
Ora cambia titolo e l'etichetta con il testo desiderato.
È necessario modificare i 2 file seguenti.
app/design/frontend/default/default/layout/checkout.xml
app/design/frontend/default/default/layout/customer.xml
In questi file, i collegamenti vengono aggiunti in name="top.links"
. Basta lasciare un commento, fuori.