【问题标题】:modx send and get via url (get request) variablemodx 通过 url (get request) 变量发送和获取
【发布时间】:2014-02-20 20:06:27
【问题描述】:

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

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

然后我想像这样在我的 getPage sn-p 中获取参数:

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

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

【问题讨论】:

    标签: php modx modx-revolution get-request


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 但是如何附加 id 呢?我需要 id 和排序来输入 url
    【解决方案2】:

    您可以在 sn-p 中循环遍历 _get 变量并自己设置它们,这样您就不必每次都通过额外的 sn-p 调用来指定要查找的占位符,它会为您提供清理变量或进行任何额外处理的机会。

    $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

    【讨论】:

    猜你喜欢
    • 2017-11-30
    • 2014-02-07
    • 1970-01-01
    • 2016-08-22
    • 1970-01-01
    • 2012-06-25
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多