【问题标题】:How can I add the different blocks in footer for each store in Magento如何在 Magento 的每个商店的页脚中添加不同的块
【发布时间】:2014-08-18 08:48:27
【问题描述】:

您好,我是 magento 的新手。我想在每个商店的页脚中添加不同的块。 就像我已经创建了一个用于在页脚中添加电话号码的 CMS 块,并将此块添加到 local.xml 中,并且电话号码 cms 块显示在页脚中 但我的问题是我有多个商店,想根据商店添加不同的电话号码。

我该怎么做。有没有办法在管理部分的页脚中为不同的商店使用不同的块。 任何帮助将不胜感激。

【问题讨论】:

    标签: magento magento-1.7 magento-1.4 magento-1.8 magento-1.6


    【解决方案1】:

    而不是创建静态块来显示电话号码,

    您可以从系统配置(管理面板)中获取商店电话号码。

    系统 > 配置 > 常规 > 商店信息

    在这里您可以提供每个商店的电话号码

    您可以通过以下代码获取电话号码

    Mage::getStoreConfig('general/store_information/phone');
    

    在 CMS 页面中获取价值

    {{config path="general/store_information/phone"}}
    

    【讨论】:

    • 感谢您的帮助。我只是给出了添加电话块的示例,但我需要为不同的商店添加不同的块,例如每个商店的联系我们块会有所不同
    【解决方案2】:

    您可以将 Gerard 的答案修改为:

    编辑您的页脚并添加以下代码:

        $store = Mage::app()->getStore()->getStoreId(); 
        OR
        $store  = Mage::app()->getStore()->getCode();
    

    无论你感觉更好,然后使用:

    <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('footer_'.$store)->toHtml(); ?>
    

    现在为每个商店创建静态块。只需将它们的标识符用作footer_1footer_2footer_3,其中1,2,3store ids。如果您更喜欢使用商店代码,请使用footer_storecode1footer_store2footer_store3

    这样你就不必每次都编辑代码,但注意你必须为每个商店创建块。

    【讨论】:

      【解决方案3】:

      检查添加自定义块的页脚模板文件。它应该看起来像:

      <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('footer_contact_id')->toHtml(); ?>
      

      将其更改为:

      <?php 
          $storeCode = Mage::app()->getStore()->getCode();
          if ($storeCode == 'store1') {
              $footer_contact_id = 'footer_contact_store1';
          }
          elseif ($storeCode == 'store2') {
              $footer_contact_id = 'footer_contact_store2';
          }
      
          echo $this->getLayout()->createBlock('cms/block')->setBlockId($footer_contact_id)->toHtml();
      ?>
      

      您可以在后台查看店铺代码:system -&gt; manage stores

      【讨论】:

      • 如果我创建了一个新商店并且已经创建了两个商店,那么我需要再次更改代码以添加第三个商店的块。有什么方法可以从管理员设置页脚中的块特定商店的基础。
      • 您不能根据 Magento 后端的商店视图设置 cms 块。您必须以编程方式执行此操作。
      • 使用基于商店视图检索联系信息的模板文件(而不是静态块)。
      【解决方案4】:

      如果这是您的模板代码:

      <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('footer_contact_id')->toHtml(); ?>
      
      1. 转到 cms/static 块并创建一个 ID 为 footer_contact_id 的块。 将 storeview 设置为您的 FIRST 商店并输入信息。

      2.复制相同id的块 将 storeview 设置为您的 SECOND 商店。并更改一些信息。

      3.现在检查商店:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多