在 ExpressionEngine 中更改用户定义的全局变量值
假设我有一个正在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
但请记住,在您有机会更改变量之前,该变量可能已经被解析,具体取决于它的使用位置和方式(请参阅 EE2 的解析顺序讨论)。
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).
您可以使用 PHP
$GLOBAL
超全局数组< /a>,对于这种情况。假设您在特定页面的任何块中编写了一个变量$a = 123;
。现在在同一页面中的另一个块中,您可以轻松地将其更改为其他内容,如
$GLOBALS['a'] = 456;
。希望有帮助。
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.