如何在Magento中为每个商店添加页脚中的不同块

时间:2014-06-27 09:32:04

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

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

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

4 个答案:

答案 0 :(得分:1)

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

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

  

系统>配置>一般>商店信息

enter image description here

在此,您可以为每家商店提供电话号码

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

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

在CMS页面中获取值

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

答案 1 :(得分:1)

您可以将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

通过这种方式,您不必每次都编辑代码,但请注意,您必须为每个商店创建块。

答案 2 :(得分:0)

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

<?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 -> manage stores

答案 3 :(得分:0)

如果这是您的模板代码:

<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('footer_contact_id')->toHtml(); ?>
  1. 转到cms / static块并使用id footer_contact_id创建一个块。 将storeview设置为FIRST商店并输入信息。
  2. 2.使用相同的ID复制块 将商店视图设置为您的SECOND商店。并改变一些信息。

    3.现在检查商店:)