magento - 创建一个全局函数

时间:2011-01-25 21:41:58

标签: magento magento-1.4

我想创建一个可以被所有* .phtml文件访问的函数。我应该在magento框架中将此函数放在哪里?

5 个答案:

答案 0 :(得分:6)

对于羽绒和脏东西,你总是可以在index.php中定义它。例如,我总是把这个功能放在那里:

function dumpit($obj)
{
  print '<pre>';
  print_r($obj);
  print '</pre>';
}

然后,您可以从任何地方快速调用此例程,而无需记住所有其他开销函数名称以获取帮助程序。

答案 1 :(得分:5)

您应该在该模块中创建一个模块和一个帮助器类(默认情况下通常为MyCompany_Mymodule_Helper_Data)。然后,将您的函数添加到该帮助程序类。您可以在PHTML中使用以下功能:

Mage::helper("mymodule")->someFunction();

希望有所帮助!

谢谢, 乔

答案 2 :(得分:2)

C:\wamp\www\mydirectory\app\code\core\Mage\Page\Helper\Data.php是我的道路。我使用print_r函数作为pr()函数。

将其放入Data.php,如下所示。

class Mage_Page_Helper_Data extends Mage_Core_Helper_Abstract
{
    function pr($data) 
    {
        echo "<pre>";
        print_r($data);
        echo "</pre>";
    }
}

其中page是mymodule。

使用

从任何.phtml文件中调用它
Mage::helper("page")->pr($abcd);

希望它有所帮助。

答案 3 :(得分:1)

对于任何有兴趣的人,我总结了一个关于如何在Magento中创建全局函数的简短教程:http://joe-riggs.com/blog/2011/06/create-global-function-in-magento/

答案 4 :(得分:0)

我只是不能被Magento模块和块的过度噩梦所淹没,所以我之前使用了@Billy提供的答案,因为它很简单,几乎没有参与。

不幸的是,该解决方案似乎无法在本地服务器环境中运行。经过一番研究后,我发现我可以将全局函数放在这里:

.../app/code/local/Mage/Core/functions.php

最后,我读过this isn't exactly upgrade-proof,但它对我有用。