我有一个magento模板,其中包含3个商店视图(gb,de,dk),并且在CMS Admin中设置了静态块,并在前端标题中显示了标识符contact_us_gb。在静态块的内容中,我只有一个用于图像的HTML代码contact_us_gb.gif
在header.phtml中,它由以下代码设置:
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('contact_us_gb')->toHtml() ?>
由于我有3种不同的语言,我在CMS Admin中创建了2个静态块,标识为contact_us_dk和contact_us_de,其对应的内容包含图像的HTML代码contact_us_dk.gif和contact_us_de.gif
如何在setBlockId中设置变量名称(&#39; contact_us&#39;),以便在客户更改商店语言时选择正确的块标识符?
简而言之,如果客户选择丹麦语,setBlockID('identifier')
中的标识符会更改为&#39; contact_us_dk&#39;。
如果客户选择德语,则setBlockID('identifier')
中的标识符会更改为&#39; contact_us_de&#39;。
答案 0 :(得分:1)
这不是您问题的答案,但它可以解决您的问题
创建3个静态块,每种语言一个(每个只在一个商店中启用它们),并将它们命名为contact
。
你可以在模板中添加这一行
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('contact')->toHtml() ?>
并不关心你所使用的语言。