0

我需要形成一个包含一些参数的链接,如下所示:

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

然后我想在我的 getPage 片段中获取参数,如下所示:

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

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

4

2 回答 2

1

额外使用 setPlaceholders - https://github.com/oo12/setPlaceholders

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

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

[[!getPage:default=`Ничего не найдено`?
    &element=`msProducts`
    &parents=`[[*id]]`
    &sortby=`[[+sorting]]`
    &sortdir=`ASC`
]]
于 2014-01-29T10:14:42.250 回答
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

于 2014-01-29T13:50:13.293 回答