在ExpressionEngine中改变用户定义的全局变量值


Changing User-Defined Global Variable Value in ExpressionEngine

假设我有一个全局变量,我正在PHP块内访问,它与querystring比较…如果比较是真的,我想设置全局EE变量的值,以便所有其他模板页面都可以识别该值不是它通常是什么-这是可能的,还是全局用户定义变量常量?

谢谢,丹

$this->EE->config->_global_vars['foo'] = 'bar';

但是请记住,变量可能在您有机会更改它之前已经被解析过了,这取决于它的使用位置和方式(参见EE2的解析顺序讨论)。

对于这种情况,您可以使用PHP $GLOBAL Superglobal Array。假设您在特定页面的任何块中编写了一个变量$a = 123;
现在在同一页,但在另一个块,你可以很容易地把它改成别的东西,如$GLOBALS['a'] = 456;

希望能有所帮助。