gpt4 book ai didi

templates - ExpressionEngine 模板 : pass a plugin/module's output as parameter to another plugin/module

转载 作者:行者123 更新时间:2023-12-02 22:17:44 24 4
gpt4 key购买 nike

这基本上是我想要完成的任务:

{exp:plugin1:method arg="{exp:plugin2:method}"}

我尝试了多种不同的方法。

方法 1:

{exp:plugin1:method arg="{exp:plugin2:method}"}

结果: Plugin1->methodarg 参数值为字符串,{exp:plugin2:method},并且它从未被解析。

方法 2:

我对解析顺序的理解表明这可能会产生不同的结果,但显然事实并非如此。

{preload_replace:replaced="{exp:plugin2:method}"}
{exp:plugin1:method arg="{replaced}"}

结果:arg参数与方法1具有相同的值。

方法 3:

首先我定义一个片段(snip),其内容是:

{exp:plugin2:method}

然后在模板中:

{exp:plugin1:method arg="{snip}"}

结果:与方法 1 和 2 相同。

方法 4:

注意到插件是按照它们出现的顺序进行处理的,我什至测试过简单地将 {exp:plugin2:method} 的实例放在 {exp:plugin1:method} 调用。我的想法是,我可以将第一个调用包装在正则表达式替换插件中,以抑制输出,但它会首先触发 Plugin2 的解析。

{exp:plugin2:method}
{exp:plugin1:method arg="{exp:plugin2:method}"}

结果: Plugin1->methodarg 参数值是 Plugin2->method 的临时哈希占位符code> 的输出(我相信是 MD5),Template 类保留到稍后。

最佳答案

有趣的方法。但是,这可以更简单地实现,如下所示:

{exp:plugin1:method arg="{exp:plugin2:method}" parse="inward"}

关于templates - ExpressionEngine 模板 : pass a plugin/module's output as parameter to another plugin/module,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4330789/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com