你好,我是magento的新手。我想在每个商店的页脚中添加不同的块。 就像我创建了一个CMS块,用于在页脚中添加电话号码,并在local.xml中添加此块,电话号码cms块在页脚中显示 但我的问题是我有多个商店,并希望根据商店添加不同的电话号码。
我该怎么做。有没有办法在管理部分使用不同的商店页脚的不同商店。 任何帮助将不胜感激。
答案 0 :(得分:1)
而不是创建静态块来显示电话号码,
您可以从系统配置(管理员面板)获取商店电话号码。
系统>配置>一般>商店信息
在此,您可以为每家商店提供电话号码
您可以通过以下代码获取电话号码
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_1
,footer_2
,footer_3
,其中1,2,3
为store ids
。如果您更喜欢使用商店代码,请使用footer_storecode1
,footer_store2
,footer_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(); ?>
2.使用相同的ID复制块 将商店视图设置为您的SECOND商店。并改变一些信息。
3.现在检查商店:)