modx发送并通过url(get request)变量获取

时间:2014-01-29 06:47:59

标签: php modx modx-revolution get-request

我需要在其中形成一个包含一些参数的链接:

<a href="[[~[[*id]]? &sorting=`Data.price`]]">

然后我想在我的getPage片段中获取这样的参数:

[[!getPage:default=`Ничего не найдено`?
    &element=`msProducts`
    &parents=`[[*id]]`
    &sortby=`[[*sorting]]`
    &sortdir=`ASC`
]]

如何正确完成此任务?如何发送然后获取用户的参数?

2 个答案:

答案 0 :(得分:1)

使用setPlaceholders extra - https://github.com/oo12/setPlaceholders

[[!setPlaceholders? &ph=`sorting == get.sorting`]]

然后在你的getPage构造中使用[[+ sorting]]

[[!getPage:default=`Ничего не найдено`?
    &element=`msProducts`
    &parents=`[[*id]]`
    &sortby=`[[+sorting]]`
    &sortdir=`ASC`
]]

答案 1 :(得分:1)

您可以循环浏览片段中的_get变量并自行设置它们,这样您就不必每次都使用额外的片段调用来指定您要查找的占位符,这样您就有机会清理变量或进行任何额外处理。

$placeholderArray = array();

foreach ($_GET as $key => $value) { 

    $placeholderArray[$key] = $value;

}

$modx->setPlaceholders(array($placeholderArray));

return;

更新

首先,您的链接错误:

<a href="[[~[[*id]]? &sorting=`Data.price`]]">

应该是这样的:

<a href="[[~[[*id]]]]?sorting=Data.price">

如果你想添加更多参数或'data.price'是一个modx占位符:

<a href="[[~[[*id]]]]?sorting=[[+Data.price]]&value2=[[+data.number]]">

我强烈建议您阅读modx开发人员文档,所有这些都包含在内:http://rtfm.modx.com/revolution/2.x/developing-in-modx