Magento 1.9 Multistore – Storeswitcher (Not Storeview-Switcher)

magento-1.9multistorestore-viewswitcher

On my current Magento project Wein-Partner.at I have to prepare multiple shops on one website.

For the different stores there will undoubtedly be different languages, also meaning multiple storeviews.
However, the language selector disappeared on me and I have no clue where to. Interestingly enough I have a currency selector instead.

Is there a way for me to make a "store-selector" at the top, not just a store-view selector?

Do I have to enable the "add storecode to URL" for that?

The plan is basically as follows:

There's the website (wein-partner.at) which will open on the homepage, showing the main-store. Below that, if you click on a category, you come into category-view with additional tags to choose from (region, price, ..). If you click on, let's say a region that has only one winemaker, you're supposed to be taken to the winemaker's subshop showing his logo instead of ours (I currently can't change store, so it always shows the vendor's storeview).

The template-file is the same as the category-view aside from the logo (each vendor has his own storeviews as well [mainly probably English, German, French and Italian]).

To sum up, this means that there will be 4 levels (Website – mainstore – store/storegroup – storeview/store)

edit01: I found this so far (app/design/frontend/default/your_theme/template/page/switch)

<?php if(count($this->getGroups())>1): ?>
<div class="store-switcher">
    <label for="select-store"><?php echo $this->__('Select Store:') ?></label>
    <select id="select-store" title="<?php echo $this->__('Select Store') ?>" onchange="location.href=this.value">
    <?php /*foreach ($this->getStores() as $_store): ?>
        <option value="<?php echo $_store->getUrl('') ?>"<?php if($_store->getId()==$this->getCurrentStoreId()): ?> selected="selected"<?php endif; ?>><?php echo $_store->getName() ?></option>
    <?php endforeach;*/ ?>
    <?php foreach ($this->getGroups() as $_group): ?>
        <?php $_selected = ($_group->getId()==$this->getCurrentGroupId()) ? ' selected="selected"' : '' ?>
        <option value="<?php echo $_group->getHomeUrl() ?>"<?php echo $_selected ?>><?php echo $this->escapeHtml($_group->getName()) ?></option>
    <?php endforeach; ?>
    </select>
</div>
<?php endif; ?>

Best Answer

The store switcher is loaded in the default theme via the layout (XML) file.

app/design/frontend/YOUR_PACKAGE/YOUR_THEME/layout/page.xml

Look for the following line of text:

<block type="page/switch" name="store_switcher" as="store_switcher" template="page/switch/stores.phtml"/>

If you copy that line of XML to the location you want it you can then add a call to display it in your template (phtml) file like such:

<?php echo $this->getChildHtml('store_switcher') ?>
Related Topic