我需要在其中形成一个包含一些参数的链接:
<a href="[[~[[*id]]? &sorting=`Data.price`]]">
然后我想在我的getPage片段中获取这样的参数:
[[!getPage:default=`Ничего не найдено`?
&element=`msProducts`
&parents=`[[*id]]`
&sortby=`[[*sorting]]`
&sortdir=`ASC`
]]
如何正确完成此任务?如何发送然后获取用户的参数?
答案 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