2011-03-30 7 views
8

soy capaz de añadir enlaces personalizados a top.links de Magento con el código siguiente al ahorro en ../myCustomTheme/layout/local.xml¿Cómo agrego enlaces a Magento top.links que redirigen a otro dominio?

<reference name="root"> 
<reference name="top.links"> 
    <action method="addLink" translate="label title"> 
     <label>example</label> 
     <url>example</url> 
     <title>example</title> 
     <prepare>true</prepare> 
     <urlParams helper="core/url/getHomeUrl"/> 
     <position>100</position> 
     <liParams/> 
     <aParams>class="top-link-example"</aParams> 
     <beforeText></beforeText> 
     <afterText></afterText> 
    </action> 
</reference> 
</reference> 

El código anterior se creará un enlace llamado ejemplo que los puntos a http://myexampledomain.com/example. Si cambio de esta línea de código

<url>example</url> 

a

<url>http://myotherexampledomain.com</url> 

termino con un ejemplo llamado enlace que apunta a http://myexampledomain.com/http:/myotherexampledomain.com. He intentado configurar el parámetro de preparación en falso y agregando varios parámetros a urlParams mirando ../app/code/core/Mage/Core/Model/Url.php inútilmente.

Respuesta

12

Así que seguí con esto y lo tengo funcionando. Básicamente, prepare necesita ser desarmado porque, si está configurado como "verdadero" o "falso", agregará la URL a la URL base de su sitio. Aquí está el código corregido:

<reference name="root"> 
<reference name="top.links"> 
    <action method="addLink" translate="label title"> 
     <label>example</label> 
     <url>http://myotherexampledomain.com</url> 
     <title>example</title> 
     <prepare/> 
     <urlParams/> 
     <position>100</position> 
     <liParams/> 
     <aParams>class="top-link-example"</aParams> 
     <beforeText></beforeText> 
     <afterText></afterText> 
    </action> 
</reference> 
</reference> 

También quité ayudante = "núcleo/url/getHomeUrl" de urlParams porque la función getHomeUrl no es necesario en este caso. El código anterior crea un enlace llamado example que apunta correctamente al http://myotherexapmpledomain.com.

+0

Ha solucionado mi problema. Vale la pena señalar que debe proporcionar todos los argumentos que requiere el método addLink, porque si falta uno de la lista, se ignorarán todos los que están detrás del XML. – nyaray

Cuestiones relacionadas