magento установить идентификатор магазина программно

В настоящее время я работаю над сайтом magento на двух языках (французском и голландском). Подход, который я использую, заключается в следующем:

  • Создайте папку в корне сети (с именем nl)
  • Импортируйте файл index.php и.htaccess в эту папку
  • В index.php я изменяю следующую строку:

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

Когда я проверяю, категории, содержимое CMS и т.д. Все еще остаются на языке по умолчанию. Следующий код:

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

возвращает имя магазина.

Что я делаю не так? Я думаю, что жизнеспособным решением было бы установить магазин для запуска в index.php...

Может кто-нибудь, пожалуйста, дайте мне знать, как загрузить магазин по идентификатору?

Ответ 1

После долгих хлопот и вздутий я смог найти способ установить идентификатор магазина программно:)

В файле index.php(в вашей языковой папке) добавьте следующее: -

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

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

Надеемся, что кто-то найдет эту информацию полезной:)

Ответ 2

Здесь вы получите всю информацию о магазине

<?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/

Подробнее см. шаблон/page/switch/stores.phtml.

Ответ 3

Если причина, по которой вы делаете материал htaccess, заключается в том, что вы можете создавать URL-адреса, специфичные для каждого магазина, вы можете пойти с параметром конфигурации, который делает это для вас, должен быть в System > Config > Web