Changing User-Defined Global Variable Value in ExpressionEngine
Say I've got a global variable which I'm accessing inside a PHP block, which compare开发者_高级运维s to a querystring... if the comparison is true I want to set the value for a global EE variable so that all the other template pages can recognise that the value is not what it normally is - is this possible, or are the global user-defined variables constants?
Thanks, Dan
$this->EE->config->_global_vars['foo'] = 'bar';
But keep in mind that the variable may have already been parsed before you have a chance to change it, depending on where and how it's used (see EE2's parse order discusssion).
You can use the PHP $GLOBAL
Superglobal Array, for such cases. Say you have written a variable in any block of a particular page as $a = 123;
.
Now in the same page, but in another block, you can easily change it to something else as $GLOBALS['a'] = 456;
.
Hope it helps.
精彩评论