joomla 1.7:重写pagination.php不起作用
我安装了Joomla1.7(window/xampp/php5.3),当前的模板是beez_20。我必须重写pagination.php,为此我从中复制了pagination.phpjoomla 1.7:重写pagination.php不起作用,php,joomla,joomla1.6,joomla1.7,joomla-template,Php,Joomla,Joomla1.6,Joomla1.7,Joomla Template,我安装了Joomla1.7(window/xampp/php5.3),当前的模板是beez_20。我必须重写pagination.php,为此我从中复制了pagination.php \libraries\joomla\html 到 \templates\beez_20\html。当我重新加载主页时,我得到一个损坏的模板,如下图所示 当我从html文件夹中删除pagination.php时,我得到了正常的页面。我相信这是覆盖pagination.php的正确方法 少了什么?需要更改任何配置吗
\libraries\joomla\html
到
\templates\beez_20\html
。当我重新加载主页时,我得到一个损坏的模板,如下图所示
当我从html文件夹中删除pagination.php时,我得到了正常的页面。我相信这是覆盖pagination.php的正确方法
少了什么?需要更改任何配置吗?请发表你的评论
提前谢谢我相信这是正确的方法 这里有一个pagination.php供您试用(适合我):
您不应以尝试的方式覆盖整个pagination.php。只能重写某些函数。您看到此页面的原因是,如果您复制了整个pagination.php文件而未做任何更改,那么您将重新声明JPagination类,而您不能这样做 当您尝试对pagination.php进行更改时,您应该只重新编写希望覆盖的函数,而不是复制整个文件 请查看这篇文章,虽然有点过时,但即使在J!2.5
那么,您是在尝试将分页恢复为默认值吗?如果是这样,您可以从beez html文件夹中删除分页。
<?php
// no direct access
defined('_JEXEC') or die('Restricted access');
/**
* This is a file to add template specific chrome to pagination rendering.
*
* pagination_list_footer
* Input variable $list is an array with offsets:
* $list[limit] : int
* $list[limitstart] : int
* $list[total] : int
* $list[limitfield] : string
* $list[pagescounter] : string
* $list[pageslinks] : string
*
* pagination_list_render
* Input variable $list is an array with offsets:
* $list[all]
* [data] : string
* [active] : boolean
* $list[start]
* [data] : string
* [active] : boolean
* $list[previous]
* [data] : string
* [active] : boolean
* $list[next]
* [data] : string
* [active] : boolean
* $list[end]
* [data] : string
* [active] : boolean
* $list[pages]
* [{PAGE}][data] : string
* [{PAGE}][active] : boolean
*
* pagination_item_active
* Input variable $item is an object with fields:
* $item->base : integer
* $item->link : string
* $item->text : string
*
* pagination_item_inactive
* Input variable $item is an object with fields:
* $item->base : integer
* $item->link : string
* $item->text : string
*
* This gives template designers ultimate control over how pagination is rendered.
*
* NOTE: If you override pagination_item_active OR pagination_item_inactive you MUST override them both
*/
function pagination_list_footer($list)
{
// Initialize variables
$lang =& JFactory::getLanguage();
$html = "<div class=\"list-footer\">\n";
if ($lang->isRTL())
{
$html .= "\n<div class=\"counter\">".$list['pagescounter']."</div>";
$html .= $list['pageslinks'];
$html .= "\n<div class=\"limit\">".JText::_('Display Num').$list['limitfield']."</div>";
}
else
{
$html .= "\n<div class=\"limit\">".JText::_('Display Num').$list['limitfield']."</div>";
$html .= $list['pageslinks'];
$html .= "\n<div class=\"counter\">".$list['pagescounter']."</div>";
}
$html .= "\n<input type=\"hidden\" name=\"limitstart\" value=\"".$list['limitstart']."\" />";
$html .= "\n</div>";
return $html;
}
function pagination_list_render($list)
{
// Initialize variables
$lang =& JFactory::getLanguage();
$html = "<div class=\"pagination\"><ul>";
// Reverse output rendering for right-to-left display
if($lang->isRTL())
{
$html .= "<li class=\"pagination-start\">".$list['start']['data']."</li>";
$html .= "<li class=\"pagination-prev\">".$list['previous']['data']."</li>";
$list['pages'] = array_reverse( $list['pages'] );
foreach( $list['pages'] as $page ) {
if($page['data']['active']) {
// $html .= '<strong>';
}
$html .= "<li>".$page['data']."</li>";
if($page['data']['active']) {
// $html .= '</strong>';
}
}
$html .= "<li class=\"pagination-next\">".$list['next']['data']."</li>";
$html .= "<li class=\"pagination-end\">".$list['end']['data']."</li>";
// $html .= '«';
}
else
{
foreach( $list['pages'] as $page )
{
if($page['data']['active']) {
// $html .= '<strong>';
}
$html .= "<li>".$page['data']."</li>";
if($page['data']['active']) {
// $html .= '</strong>';
}
}
}
$html .= "</ul></div>";
return $html;
}
?>