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

标签 php model-view-controller pagination phalcon

我有以下由“搜索表单”生成的查询字符串

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

我需要知道如何将其放入以伏特为单位的分页生成中,如下所示

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

最佳答案

我正在使用这样的东西:

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

为了更方便,创建宏:

{%- 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>

或者您可以将此函数添加到 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 . ']))';
});

关于php - Phalcon - 如何将带有动态参数的 Url 查询字符串放入 Volt 中以创建分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33804291/

相关文章:

php - 尝试在 PHP/MySQL 中使用准备好的语句时出现多个错误

model-view-controller - 在 MVC 架构中实现服务层

php - 在实践中是否有 MVC 框架的好例子?

android rxjava2/retrofit2 使用分页 token 链接调用

php - 包含的 PHP 文件中的变量信息

php - 如何解决我的登录问题?

javascript - MVC View 在按钮 onclick 后刷新

javascript - AngularJS分页表: limitTo parameters do not update in the view

jquery - 重新检查 jQuery 中的某些内容?

php - 使用mysql根据另一个表中的最高值将新记录插入表中?