Create your extension with it's own layout file and block that adds links to the top menu.
Let's call that Easylife_Locale
. You will need the following files:
app/etc/modules/Easylife_Locale.xml
- the declaration file
<?xml version="1.0"?>
<config>
<modules>
<Easylife_Locale>
<codePool>local</codePool>
<active>true</active>
<depends>
<Mage_Core />
</depends>
</Easylife_Locale>
</modules>
</config>
app/code/local/Easylife/Locale/etc/config.xml
- the configuration file
<?xml version="1.0"?>
<config>
<modules>
<Easylife_Locale>
<version>1.0.0</version>
</Easylife_Locale>
</modules>
<global>
<blocks>
<easylife_locale>
<class>Easylife_Locale_Block</class>
</easylife_locale>
</blocks>
</global>
<frontend>
<layout>
<updates>
<easylife_locale>
<file>easylife_locale.xml</file>
</easylife_locale>
</updates>
</layout>
</frontend>
</config>
app/design/frontend/base/default/layout/easylife_locale.xml
- the frontend layout file
<?xml version="1.0"?>
<layout>
<default>
<reference name="top.links">
<block type="easylife_locale/stores" name="stores_links">
<action method="addStoreLinks"></action>
</block>
</reference>
</default>
</layout>
app/code/local/Easylife/Locale/Block/Stores.php
- the block that adds the links to the top.
<?php
class Easylife_Locale_Block_Stores extends Mage_Page_Block_Switch {
public function addStoreLinks() {
$parentBlock = $this->getParentBlock();
if ($parentBlock) {
$position = 200; //start position
foreach ($this->getStores() as $store) {
$params = null;
if ($store->getId() == $this->getCurrentStoreId()) {
$params = 'class="current-store"';
//if you want to skip the current store view just uncomment the next line
//continue;
}
//Print the language code (en, fr)
$text = substr(Mage::app()->getLocale()->getLocaleCode(), 0, 2);
//if your want to display the store name comment the line above and uncomment the one below
//$text = $store->getName();
$title = $store->getName();
$parentBlock->addLink($text, $store->getCurrentUrl(), $title, false, array(), $position, null, $params);
$position += 10;
}
}
return $this;
}
}
Clear the cache and try it out.
Declare your url like this:
<a href="{{store _direct="de/sale"}}">something</a>
If de
is the code of your store and you selected to include store codes in the url then the link above should be
<a href="{{store _direct="sale"}}">something</a>
Best Answer
You can use
path
argumnet to give external link like this: