如何在页脚中为Magento中的每个商店添加不同的块
你好,我是magento的新手。我想在每个商店的页脚中添加不同的块。 我创建了一个CMS块,用于在页脚中添加电话号码,并在local.xml中添加此块,电话号码CMS块显示在页脚中 但我的问题是,我有多个商店,并希望根据商店添加不同的电话号码 我该怎么做呢?有没有办法在管理部分的页脚中为不同的存储区使用不同的块。如何在页脚中为Magento中的每个商店添加不同的块,magento,magento-1.7,magento-1.4,magento-1.8,magento-1.6,Magento,Magento 1.7,Magento 1.4,Magento 1.8,Magento 1.6,你好,我是magento的新手。我想在每个商店的页脚中添加不同的块。 我创建了一个CMS块,用于在页脚中添加电话号码,并在local.xml中添加此块,电话号码CMS块显示在页脚中 但我的问题是,我有多个商店,并希望根据商店添加不同的电话号码 我该怎么做呢?有没有办法在管理部分的页脚中为不同的存储区使用不同的块。 任何帮助都将不胜感激 检查添加自定义块的页脚模板文件。它应该是这样的: <?php echo $this->getLayout()->createBlock('cms
任何帮助都将不胜感激 检查添加自定义块的页脚模板文件。它应该是这样的:
<?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
而不是创建静态块来显示电话号码
您可以从系统配置(管理面板)获取门店电话号码
系统>配置>常规>存储信息
在这里,你可以给出每家商店的电话号码
您可以通过以下代码获得电话号码
Mage::getStoreConfig('general/store_information/phone');
获取CMS页面中的值
{{config path="general/store_information/phone"}}
您可以将Gerard答案修改为: 编辑页脚并添加以下代码:
$store = Mage::app()->getStore()->getStoreId();
OR
$store = Mage::app()->getStore()->getCode();
无论您感觉更好,然后使用:
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('footer_'.$store)->toHtml(); ?>
现在为每个商店创建静态块。只需将它们的标识符用作footer\u 1
,footer\u 2
,footer\u 3
,其中1,2,3
是存储ID
。如果您更喜欢使用存储代码,则使用footer\u storecode1
,footer\u store2
,footer\u store3
这样,您不必每次都编辑代码,但请注意,您必须为每个门店创建块。如果这是您的模板代码:
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('footer_contact_id')->toHtml(); ?>
3.现在检查商店:)如果我创建了一个新商店和两个已经创建的商店,那么我需要再次更改代码,以便为第三个商店添加块。是否有任何方法可以根据特定商店在管理员的页脚中设置块。您不能根据Magento后端中的商店视图设置cms块。您必须以编程方式执行此操作。使用模板文件(而不是静态块)根据门店视图检索联系信息。感谢帮助。我刚刚给出了添加电话块的示例,但我需要为不同门店添加不同的块,例如,每个门店的联系我们块将不同