1. Magento: Get and set variables in session
To set a Magento session variable:
- $myValue = 'Hello World';
- Mage::getSingleton('core/session')->setMyValue($myValue);
To Retrieve:
- $myValue = '';
- $myValue=Mage::getSingleton('core/session')->getMyValue();
To Unset:
- Mage::getSingleton('core/session')->unsMyValue();
或者
- /* Core Session */
- Mage::getSingleton('core/session')->setYourVariable('data');
- $Data = Mage::getSingleton('core/session')->getYourVariable();
- /* Customer Session */
- Mage::getSingleton('customer/session')->setYourVariable('data');
- $Data = Mage::getSingleton('customer/session')->getYourVariable();
- /* Admin Session */
- Mage::getSingleton('admin/session')->setYourVariable('data');
- $Data = Mage::getSingleton('admin/session')->getYourVariable();
2. Magento’s Registry Pattern
The three registry methods are
- Mage::register
- Mage::unregister
- Mage::registry
The register
method is how you set a global-like variable.
- Mage::register('some_name', $var);
Then, later in the request execution, (from any method), you can fetch your variable back out
- $my_var = Mage::registry('some_name');
Finally, if you want to make you variable unavailable, you can use the unregister
method to remove it from the registry.
- Mage::unregister('some_name');
更多参考: http://alanstorm.com/magento_registry_singleton_tutorial
3. Create Global Function In Magento
This code will allow you to add a function that can be called from anywhere within Magento. It extends the helper class
1) Create a file named ‘Mycode.xml’ and copy it to app/etc/modules/ – it should look like this:
- <?xml version="1.0"?>
- <config>
- <modules>
- <Mycode_Function>
- <active>true</active>
- <codePool>local</codePool>
- </Mycode_Function>
- </modules>
- </config>
2) Create the directory app/code/local/Mycode/Function/etc and then create a file named ‘config.xml’ In it copy:
- <?xml version="1.0"?>
- <config>
- <modules>
- <Mycode_Function>
- <version>1.0.0</version>
- </Mycode_Function>
- </modules>
- <global>
- <helpers>
- <function>
- <class>Mycode_Function_Helper</class>
- </function>
- </helpers>
- </global>
- </config>
3) Create the directory app/code/local/Mycode/Function/Helper and then create a file named ‘Data.php’ In it copy:
- <?php
- class Mycode_Function_Helper_Data extends Mage_Core_Helper_Abstract
- {
- public function test(){
- return 'works';
- }
- }
You can now call this function like so
- <?php
- echo Mage::helper('function')->test();
- ?>
来源: http://joe-riggs.com/blog/2011/06/create-global-function-in-magento/
本站相关:
1. 深入理解Magento-第九章-修改、扩展、重写Magento代码
2. magento 模块重写