简体   繁体   English

Phalcon-如何将带有动态参数的Url查询字符串放入Volt中以创建分页

[英]Phalcon - How do i get the Url Query String with Dynamic Parameters into Volt to create pagination

I have follwoing query string generated by a "search form" 我有一个由“搜索表单”生成的查询字符串

results?pagefrom=18&pageto=30&country=2&state=&city=0&keyword=&status=all&cmd=basic_search&Submit=Start+Searching

I need to know how do i get this into the pagination generation in volt like below 我需要知道如何将其放入伏特的分页生成中,如下所示

<li class="previous"><a href="/search/results?page={{ page.before }} & NEEDS TO ADD ABOVE QUERY AS IT IS HERE TO WORK ">Previous</a></li>

I'm using something like this: 我正在使用这样的东西:

<li class="previous"><a href="/search/results?<?php echo http_build_query(array_merge($this->request->getQuery(), ['page' => $page->before])); ?>">Previous</a></li>

For more convenience, create marco: 为了更加方便,请创建marco:

{%- macro pagination_url(url, page) %}
    {{ url }}?<?php echo http_build_query(array_merge($this->request->getQuery(), ['page' => $page->before])); ?>
{% endmacro %}

<li class="previous"><a href="{{ pagination_url('/search/results', page.before) }}">Previous</a></li>

Or you can add this function to volt compiler: 或者您可以将此功能添加到volt编译器:

$compiler = $volt->getCompiler();

$compiler->addFunction('pagination_url', function ($resolvedArgs, $exprArgs) use ($compiler) {

     $url = $compiler->expression($exprArgs[0]['expr']);
     $page = $compiler->expression($exprArgs[1]['expr']);

     return $url . '.\'?\'.http_build_query(array_merge($this->request->getQuery(), [\'page\' => ' . $page . ']))';
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM