0

我想在前端“始终”运行一个公共函数。

所以我进入了社区/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>

在 community/Myname/Forcelogin/Model/Forcelogin.php 中:

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

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

4

1 回答 1

1

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

编辑

改变你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>

有关更多详细信息,请点击链接

于 2013-07-09T14:35:15.243 回答