2

我正在使用一个扩展,我需要将变量从块类移回模型,我使用过会话它有时可以工作但不统一,有没有其他方法可以传递它,

提前致谢,

4

2 回答 2

3

尝试使用 Magento 的注册表模式

三种注册方法是

Mage::register   
Mage::unregister   
Mage::registry 

register 方法是设置类全局变量的方式。

Mage::register('some_name', $var);

然后,在请求执行的后期,(从任何方法),您可以取回您的变量

$my_var = Mage::registry('some_name');

最后,如果你想让你的变量不可用,你可以使用 unregister 方法将它从注册表中删除。

Mage::unregister('some_name');

资源

于 2013-09-27T07:00:39.907 回答
3

如果您可以将模型用作单例,则可以尝试以下操作:

 Mage::getSingleton('yourmodule/yourmodel')->setStuff('xxxx');

然后

 Mage::getSingleton('yourmodule/yourmodel')->getStuff();

如果您不知道单例是什么,您应该尝试使用 epynic 的注册表方法来防止出现问题。

于 2013-09-27T08:20:35.020 回答