Magento展示了我模特的公共功能

时间:2013-07-09 14:26:32

标签: php magento authentication

我想在前端“始终”运行公共功能。

所以我进入了community / Myname / Forcelogin / etc / config.xml:

<config>    
    <modules>
        <Myname_Forcelogin><version>0.1.0</version></Myname_Forcelogin>
    </modules>
    <global>
        <models>
            <check_login>
                <class>Myname_Forcelogin_Model</class>
            </check_login>
        </models>
    </global>
</config>

在社区/ Myname / Forcelogin / Model / Forcelogin.php中:

class Myname_Forcelogin_Model_Forcelogin
{
    public function check_login()
    {
        die('Hello there');
    }
}

那么我应该添加/更改什么才能让“check_login()”始终在前端运行?

1 个答案:

答案 0 :(得分:1)

我不完全确定您的问题是什么,但如果我理解正确,您希望 每个 页面 实例化 你的模型并运行此方法?您可能希望研究一个为您运行此方法的事件侦听器,请参阅this question以了解要使用的事件。

修改

将您的config.xml更改为

<config>    
    <modules>
        <Myname_Forcelogin><version>0.1.0</version></Myname_Forcelogin>
    </modules>
    <global>
        <models>
            <check_login>
                <class>Myname_Forcelogin_Model</class>
            </check_login>
        </models>
        <events>
            <controller_action_layout_load_before>
                <observers>
                    <checklogin><!-- this tags name does not matter, so long as it is all lower case and unique -->
                        <type>singleton</type>
                        <class><!-- the class alias of the listening model --></class>
                        <method><!-- the method to be called on that model --></method>
                    </checklogin>
                </observers>
            </controller_action_layout_load_before>
        </events>
    </global>
</config>

了解更多详情,请点击this链接