magento createBlock具有依赖于所选语言的变量标识符

时间:2014-01-19 13:37:34

标签: magento

我有一个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;。

1 个答案:

答案 0 :(得分:1)

这不是您问题的答案,但它可以解决您的问题 创建3个静态块,每种语言一个(每个只在一个商店中启用它们),并将它们命名为contact
你可以在模板中添加这一行

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

并不关心你所使用的语言。