これを行うにはいくつかの方法があります。
1) スニペットから uid 値を直接返し ( getPostDataと呼びましょう)、次のようにスニペット呼び出しをチャンクの非表示フィールドに配置します。
<input type="hidden" name="uid" value="[[!getPostData]]" />
スニペットはキャッシュされていない ([[!
開始タグ) ことに注意してください。それ以外の場合、最初のフォーム送信がキャッシュされます。
2) スニペット呼び出しをチャンク タグに配置し、値をプレースホルダーに渡します。
[[$myChunk?uid=`[[!getPostData]]`]]
...そして、チャンクで「uid」のキャッシュされていないプレースホルダーを設定します。
<input type="hidden" name="uid" value="[[!+uid]]" />
3)推奨:スニペットで使用setPlaceholders()
して、コンテンツをページ内の任意のプレースホルダーに出力します。これを使用して、複数のプレースホルダーに出力できます。
<?php
// please sanitise your POST values, this is just an example
$placeholders = array();
$placeholders['uid'] = $_POST['uid'];
$placeholders['email'] = $_POST['email'];
$modx->setPlaceholders($placeholders);
...そしてあなたのチャンク:
<input type="hidden" name="uid" value="[[!+uid]]" />
<input type="email" name="email" value="[[!+email]]" />
ドキュメント: http://rtfm.modx.com/display/revolution20/modX.setPlaceholders