StoreSwitcher(StoreView-Switcherではなく) - マルチストア
-
12-12-2019 - |
質問
私の現在のMagento Project wein-partner.at 1つのウェブサイト上に複数の店を準備します。
異なる店舗には間違いなく異なる言語があり、複数のStoreViewも意味します。 ただし、言語セレクターは私に消え、私は手がかりがありません。興味深いことに私は代わりに通貨セレクターを持っています。
最上部に「ストアセレクタ」を作る方法はありません。
そのために「URLにストレージコードを追加」を有効にする必要がありますか?
計画は基本的に次のようになっています:
メインストアを示すホームページで開くウェブサイト(Wein-partner.at)があります。その下に、カテゴリをクリックすると、追加のタグを使用して、(地域、価格、。)のカテゴリビューに入っています。クリックすると、WineMakerが1つしかない地域で、あなたが私たちのものではなく彼のロゴを表示しているWineMakerのサブショップに連れて行かれることになっていました(現在はストアのStoreViewが常に表示されます)。
テンプレートファイルは、ロゴから扱うカテゴリビューと同じです(各ベンダーには、主に英語、ドイツ語、フランス語、イタリア語)。
合計することは、4つのレベルがあることを意味します(ウェブサイト - メインストア - ストア/ストアグループ - StoreView / Store)
edit01:私はこれまでにこれまで見つけました(アプリ/デザイン/フロントエンド/デフォルト/ 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; ?>
解決
ストアスイッチャーは、レイアウト(XML)ファイルを介してデフォルトのテーマにロードされます。
アプリ/デザイン/フロントエンド/ your_package / your_theme / layout / page.xml
次のテキスト行を探します。
.<block type="page/switch" name="store_switcher" as="store_switcher" template="page/switch/stores.phtml"/>
XMLの行をコピーしたい場所にコピーすると、テンプレート(PHTML)ファイルに表示するための呼び出しを追加できます。
.<?php echo $this->getChildHtml('store_switcher') ?>
他のヒント
page.xml
ディレクトリにapp/design/frontend/base/default/layout
を見つけます。
テキストエディタでファイルを開き、以下のコードを探します。
<block type="page/switch" name="store_switcher" as="store_switcher" template="page/switch/stores.phtml"/>
.
店舗スイッチャーをページのヘッダーに表示するには、上記のコードの場所を変更するだけです。このコードはpage/html_footer
Blockに挿入されています。page/html_header
ブロックの下にカットアンドペーストします。
<block type="page/html_header" name="header" as="header">
.
Store Switcherを表示するには、header.phtml
ディレクトリのapp/design/frontend/base/default/template/page/html
に移動して、次のコードを挿入します。
<?php echo $this->getChildHtml('store_switcher') ?>
. テーマのファイルStores.phtmlを使用できます。
それからあなたが正しくコードを入れることを確認してください!それがうまくいくべきだと思います!