我可以在layout.xml文件中获取商店配置值吗?

时间:2015-04-09 13:34:08

标签: magento

我创建了一个模块,其中我在管理面板中进行了一些设置以进行布局。

我的layout.xml代码(在此我在顶部链接中添加了链接):

<reference name="top.links">
            <action method="addLink" translate="label title" ifconfig="mbyte/mbyte_links/map_header">
                <label>Store locator</label>
                <url>storelocator/index/index</url>
                <title>Store Locator</title>
                <prepare>true</prepare>
                <position>2</position>
        </action>

就像我已经添加了ifconfig="mbyte/mbyte_links/map_header"来检查天气,它是否在配置设置中启用。

我还有<title>的另外一个配置设置。现在我的问题开始了

这是否可以获取我在管理面板中设置的配置值,并直接在布局文件中设置,如果是,执行此操作的步骤是什么?

提前致谢!!

2 个答案:

答案 0 :(得分:4)

这适合我。

在模块中创建帮助器

app/code/local/Mbyte/Links/Helper/Data.php

class Mbyte_Links_Helper_Data extends Mage_Core_Helper_Abstract
{
    public function getTitleFromConfig()
    {
        return Mage::getStoreConfig('mbyte/mbyte_links/title');
    }
}

然后在layout.xml中,您可以使用

<reference name="top.links">
        <action method="addLink" translate="label title" ifconfig="mbyte/mbyte_links/map_header">
            <label helper="mbyte/data/getTitleFromConfig" />
            <url>storelocator/index/index</url>
            <title helper="mbyte/data/getTitleFromConfig"/>
            <prepare>true</prepare>
            <position>2</position>
    </action>

答案 1 :(得分:2)

尝试替换它:

 <label>Store Locator</label>

有了这个:

<label helper="module/getTitle" />

此代码应调用Custom_Module_Helper_Data :: getTitle();并将其作为<label>参数