基本的に私が達成したいことは次のとおりです。
{exp:plugin1:method arg="{exp:plugin2:method}"}
私はいくつかの異なるアプローチを試しました。
アプローチ1:
{exp:plugin1:method arg="{exp:plugin2:method}"}
結果: Plugin1->method
のarg
パラメータ値は文字列、、で{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->method
のarg
パラメータ値はPlugin2->method
、テンプレートクラスが後で予約する出力(MD5だと思います)の一時的なハッシュプレースホルダーです。