【问题标题】:Joomla Pagination in custom component自定义组件中的 Joomla 分页
【发布时间】:2012-12-07 19:53:21
【问题描述】:

我正在使用 Joomla 网站上的一份文档。我坚持告诉你修改 getData() 函数的部分。

“修改 getData() 函数,将 $limitstart 和 $limit 值添加到 _getList() 查询中。这会导致只返回需要的行,而不是所有行。”

function getData() 
{
    // if data hasn't already been obtained, load it
    if (empty($this->_data)) {
        $query = $this->_buildQuery();
        $this->_data = $this->_getList($query, $this->getState('limitstart'), $this->getState('limit'));    
    }
    return $this->_data;
}

我有一个已经构建了 mySQL 查询的函数。这是它想要改变的功能吗?此代码是否替换了我的 getData() 函数中当前的行:

    $db->setQuery($query);
    $table = $db->loadRowList();
    return $table;

我只需要将此行添加到构建 mySQL 查询的函数中还是需要替换某些内容?

编辑:我正在处理的 Joomla 文档可以在 here 找到。

【问题讨论】:

  • 我也有类似的问题,你解决了吗?
  • 我没有按照我正在使用的 Joomla 文档中实现的方式解决它。我最终创建了一个 AJAX 调用来加载我的分页以提高可用性。如果您在这方面需要帮助,请联系我,我很乐意与您分享我的想法。

标签: php mysql joomla


【解决方案1】:

这将返回所有行:

$table = $db->loadRowList();

这将只返回需要的数据,受分页器的限制:

if (empty($this->_data)) {
        $query = $this->_buildQuery();
        $this->_data = $this->_getList($query, $this->getState('limitstart'), $this->getState('limit'));    
    }
    return $this->_data;

所以你应该在你的模型中替换function getData()

【讨论】:

    猜你喜欢
    • 2012-03-26
    • 2013-03-01
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-02
    • 2010-11-23
    • 2014-01-29
    相关资源
    最近更新 更多