ModX Evolution: передать переменную из URL в текстовое поле формы при загрузке страницы - PullRequest
0 голосов
/ 15 августа 2011

Мне нужно передать строку из URL:

../page.html?code=123456

в форму (фрагмент кода в modx) только один раз, когда страница загружена (ссылка с URL и параметром) Спасибо за ответ ...

Ответы [ 3 ]

0 голосов
/ 17 августа 2011

Мое решение:
1. создать новый фрагмент под названием GetCode

<?php
if( !function_exists('eformGetCode') ) {
function eformGetCode(&$fields,&$templates){
global $modx;
$code = strip_tags($_GET['codeID']);
$templates['tpl']=str_replace('[+display_code+]',$code,$templates['tpl']);
return true; } }
return '';
?>


2. Добавьте eform call (и фрагмент) на веб-страницу:

[!GetCode!]
[!eForm? ... ... &eFormOnBeforeFormParse=`eformGetCode` !]


3. В блоке eform с кодом формы добавьте строку:

<input name="code" id="code" value="[+display_code+]" eform="::1:" type="text"/>


5. Теперь, когда вы вводите параметр в URL, например:

..../page.html?code=123456

это должно появиться в форме.

0 голосов
/ 17 января 2013

Решение от KudyKam лучше, чем официальное решение в документах MODX, в которых они используют базу данных. http://wiki.modxcms.com/index.php/Populate_eform_with_dynamic_data

0 голосов
/ 15 августа 2011

вы бы сделали это точно так же, как в php ..

$myVar = $_GET['code'];

Если у вас возникли проблемы, загляните в журналы ошибок modx ...

-sean

...