我已在Expression Engine中创建了一个全局变量,以便能够切换到我正在测试的网站。但它不适用于if语句。
{if test-mode == "true"}hello world{/if}
EE并没有显示" hello world"文本。如果我这样做:
{test-mode}
它显示" true"。我无法弄清楚它为什么不起作用......
答案 0 :(得分:0)
这是一个解析订单问题。
在the documentation中,请注意在步骤14和19处理条件,但在步骤23之前不处理全局用户变量。
有关此选项的一些解决方法是:
答案 1 :(得分:0)
这确实是一个解析订单问题(EE开发人员的主要问题之一)
绕过这个移动测试模式,它是从全局变量到片段的值。这些都是先解析的。
我已经对此进行了测试,但确实有效。
作为全局变量 - 不起作用:
{if test_mode == "true"}Hello world{/if}
作为一个片段 - 工作!
{if test_mode_snippet == "true"}Hello world snippet{/if}
要了解有关解析顺序的更多信息,请查看低(低变量)中的this link。虽然我不确定准确性,因为Snippets和Global Variables被归类为相同。
它也可能与解析简单和复杂条件的顺序有关。 Read more here