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

发布于 2024-10-30 00:38:54 字数 126 浏览 0 评论 0原文

假设我有一个正在 PHP 块内访问的全局变量,它与查询字符串进行比较...如果比较为真,我想设置全局 EE 变量的值,以便所有其他模板页面可以认识到该值与通常的值不同 - 这可能吗,还是全局用户定义变量是常量?

谢谢, 担

Say I've got a global variable which I'm accessing inside a PHP block, which compares 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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

戴着白色围巾的女孩 2024-11-06 00:38:54
$this->EE->config->_global_vars['foo'] = 'bar';

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

$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).

假扮的天使 2024-11-06 00:38:54

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文