【问题标题】:magento set store id programmaticallymagento 以编程方式设置商店 ID
【发布时间】:2012-03-26 10:22:40
【问题描述】:

我目前正在开发一个使用 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 加载商店吗?

【问题讨论】:

    标签: php magento magento-1.4


    【解决方案1】:

    经过几个小时的气喘吁吁,我终于找到了一种以编程方式设置商店 ID 的方法 :)

    在 index.php 文件中(在您的语言特定文件夹中),添加以下内容:-

    $store_id = 'your_store_id_here';
    $mageRunCode = 'store view code';
    $mageRunType = 'store';
    
    Mage::app()->setCurrentStore($store_id);
    Mage::run($mageRunCode, $mageRunType);
    

    希望有人会发现此信息有用:)

    【讨论】:

    • 你能告诉我应该在哪里更新这段代码吗?
    • 如果您不想将商店全局设置为整个应用程序的一件事,您也可以使用 $store = Mage::getModel('core/store')->load([store id]); 之类的东西。如果您在同一代码中处理客户和产品等几个模型,并且您不想将所有结果都限制在一个商店中,这将非常方便。
    • 出于某种原因,setCurrentStore() 对我不起作用。相反,我将 $mageRunType 更改为“组”,然后将商店 ID 用于代码。希望对某人有所帮助。这是 1.8.1.0。
    • setCurrentStore() 在我的情况下为我工作 setCurrentStore('default')
    【解决方案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/

    更多详情请查看模板/页面/switch/stores.phtml

    【讨论】:

    • 感谢您的回复 Sarath,但我还没有在管理员中启用“将商店代码添加到 url”,因此上述操作不起作用..
    【解决方案3】:

    如果您执行 htaccess 的原因是为了生成特定于每个商店的 URL,您可能希望使用为您执行此操作的配置选项,应位于 System > Config > Web

    【讨论】:

      猜你喜欢
      • 2018-04-22
      • 1970-01-01
      • 1970-01-01
      • 2012-11-22
      • 1970-01-01
      • 2016-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多