2012-08-01 47 views
0

我正在學習modx並卡住了一點。我只想通過POST將「uid」值發佈到下一頁,並且想要設置隱藏字段,該字段將包含「uid」作爲值。我相信它實際上不允許將價值傳遞給大塊。 我想知道什麼是正確的方式,所以我可以獲取POST數據並在塊中使用該值?反正有參數從片段傳遞到塊

我的過程

1)我已經創建資源(文件),它包含調用代碼段,且然後塊

2)段包含從POST檢索到的值

3)塊包含一個表單和字段,我希望以這種形式注入POST值。

+0

有沒有鏌鋣的傢伙? :( – 2012-08-01 16:55:19

回答

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

+0

它的工作原理,我試過第一種和第三種方法都有效,但根據你的建議,我會用第三種解決方案。 – 2012-08-02 05:47:28