0

我正在学习 modx 并停留在一个点上。我想仅通过 POST 将“uid”值发布到下一页,并希望设置隐藏字段,其中包含“uid”作为值。我相信实际上它不允许将值传递给块。我想知道正确的方法是什么,以便我可以获取 POST 数据并在块中使用该值?

我的程序

1)我创建了资源(文档),其中包含对片段的调用,然后是块

2) 片段包含从 POST 检索到的值

3)块包含一个表单和字段,我想在这个表单中注入那个 POST 值。

4

1 回答 1

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

于 2012-08-01T23:41:12.510 回答