web-dev-qa-db-ja.com

MagentoはプログラムでストアIDを設定します

私は現在、2つの言語(フランス語とオランダ語)のMagentoサイトで作業しています。私が取っているアプローチは次のとおりです。

  • Webルートにフォルダーを作成します(nlという名前)
  • Index.phpおよび.htaccessファイルをそのフォルダーにインポートします
  • Index.phpで、次の行を変更します。

    Mage::run('nl'); // to specify the store view i want to load
    

チェックすると、カテゴリ、CMSコンテンツなどはまだデフォルトの言語のままです。次のコード:

Mage::app()->getStore()->getName();

frストアの名前を返します。

私が間違っているのは何ですか?実行可能な解決策は、index.phpで実行するようにストアを設定することだと思います...

IDでストアをロードする方法を教えてもらえますか?

10
maximus 69

何時間もハフとパフをした後、プログラムでストアIDを設定する方法を見つけることができました:)

Index.phpファイル(言語固有のフォルダー内)に、以下を追加します。-

$store_id = 'your_store_id_here';
$mageRunCode = 'store view code';
$mageRunType = 'store';

Mage::app()->setCurrentStore($store_id);
Mage::run($mageRunCode, $mageRunType);

誰かがこの情報が役立つことを願っています:)

27
maximus 69

ここですべての店舗の詳細を取得します

<?php
$allStores = Mage::app()->getStores();
foreach ($allStores as $_eachStoreId => $val) 
{
$_storeCode = Mage::app()->getStore($_eachStoreId)->getCode();
$_storeName = Mage::app()->getStore($_eachStoreId)->getName();
$_storeId = Mage::app()->getStore($_eachStoreId)->getId();
echo $_storeId;
echo $_storeCode;
echo $_storeName;
}
?>

指定されたストアにリダイレクトするには、ストアコードとともにページをリダイレクトする必要があります。

http://www.mywebsite.com/index.php/store_code/

詳細については、template/page/switch /stores.phtmlを確認してください。

5
Sarath Tomy

Htaccessを実行する理由が、各ストアに固有のURLを生成できるようにするためである場合は、[システム]> [構成]> [Web]にある構成オプションを使用することをお勧めします。

3
kalenjordan