php - Joomla 2.5 分页覆盖

标签 php joomla overriding joomla2.5

我已经在libraries/html文件夹中的core pagination.php中更改了一个函数,就像这样

protected function _list_render($list)
   {  
$stranky = JPagination::getPagesCounter();

      $html = '<ul>';
      $html .= '<li class="pagination-prev">' . $list['previous']['data'] . '</li>';


    $html .= '<li> &nbsp; | '. $stranky .' |&nbsp; </li>';

      $html .= '<li class="pagination-next">' . $list['next']['data'] . '</li>';
      $html .= '</ul>';

      return $html;
   }

这个更改效果很好,但我想要实现的是覆盖此代码。所以我将相同的代码放在模板文件夹中 html 文件夹中的 pagination.php 中,并将函数名称更改为 pagination_list_render($list)

function pagination_list_render($list)
   {  

$stranky = JPagination::getPagesCounter();


      $html = '<ul>';
      $html .= '<li class="pagination-prev">' . $list['previous']['data'] . '</li>';

        $html .= '<li> &nbsp; | '. $stranky .' |&nbsp; </li>';

      $html .= '<li class="pagination-next">' . $list['next']['data'] . '</li>';
      $html .= '</ul>';

      return $html;
   }

但现在它不再工作了,整个页面都坏了。

看来 $stranky = JPagination::getPagesCounter(); 是问题所在..在核心文件中它可以工作,在覆盖文件中则不能。 有什么想法吗?

最佳答案

您的 chrome 文件(分页模板覆盖)无法访问 JPagination 对象,因此您必须自己计算值。

public function pagination_list_render($list)
{
    $total   = count($list['pages']);
    $current = 0;
    foreach ($list['pages'] as $i => $page) {
        if (!$page['active']) {
            $current = $i;
            break;
        }
    }
    $counter = JText::sprintf('JLIB_HTML_PAGE_CURRENT_OF_TOTAL', $current, $total); 

    $html .= '<ul>';
    $html .= '<li class="pagination-prev">' . $list['previous']['data'] . '</li>';
    $html .= '<li> &nbsp; | '. $counter .' | &nbsp; </li>';
    $html .= '<li class="pagination-next">' . $list['next']['data'] . '</li>';
    $html .= '</ul>';

    return $html;
}

如果页面超过 1 页,也许您想添加测试。

关于php - Joomla 2.5 分页覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16512074/

相关文章:

jquery - 未捕获的类型错误 : undefined is not a function in Joomla! 模板

Java:是否不鼓励 child 压倒 parent ?

php - 在共享相同 wp_users 和 wp_usermeta 表的两个 Wordpress 安装之间同步所有用户角色。

使用重写规则时,PHP 每个请求运行两个请求

php - Joomla 动态样式表在 css.php 文件中使用模板参数

python - 修改内置函数

c# - 继承的类属性 `DisplayAttribute` 没有被覆盖?

javascript - ajax 调用的 html 中的 PHP 不起作用

PHP 不支持 SQL;空结果

mysql - 如何在 Joomla 模型中格式化 SQL 查询中的日期列