我正在学习modx并坚持到一定程度。我想通过POST将“uid”值发布到下一页,并希望设置隐藏字段,其中包含“uid”作为值。我相信它几乎不允许将值传递给chunk。 我想知道什么是正确的方式,所以我可以获得POST数据并在块中使用该值?
我的程序
1)我创建了资源(文档),其中包含对代码段的调用,然后是块
2)代码段包含从POST检索的值
3)chunk包含一个表单和字段,我想以这种形式注入该POST值。
答案 0 :(得分:5)
有几种方法可以做到这一点。
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