我正在學習modx並卡住了一點。我只想通過POST將「uid」值發佈到下一頁,並且想要設置隱藏字段,該字段將包含「uid」作爲值。我相信它實際上不允許將價值傳遞給大塊。 我想知道什麼是正確的方式,所以我可以獲取POST數據並在塊中使用該值?反正有參數從片段傳遞到塊
我的過程
1)我已經創建資源(文件),它包含調用代碼段,且然後塊
2)段包含從POST檢索到的值
3)塊包含一個表單和字段,我希望以這種形式注入POST值。
我正在學習modx並卡住了一點。我只想通過POST將「uid」值發佈到下一頁,並且想要設置隱藏字段,該字段將包含「uid」作爲值。我相信它實際上不允許將價值傳遞給大塊。 我想知道什麼是正確的方式,所以我可以獲取POST數據並在塊中使用該值?反正有參數從片段傳遞到塊
我的過程
1)我已經創建資源(文件),它包含調用代碼段,且然後塊
2)段包含從POST檢索到的值
3)塊包含一個表單和字段,我希望以這種形式注入POST值。
有幾種方法可以做到這一點。
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-02 05:47:28
有沒有鏌鋣的傢伙? :( – 2012-08-01 16:55:19