Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Joomla分页问题_Joomla_Pagination - Fatal编程技术网

Joomla分页问题

Joomla分页问题,joomla,pagination,Joomla,Pagination,我是俄罗斯人,很抱歉,我的英语不太好) 我的问题是关于Joomla分页的。 在我们的task example.php中,我们只有一个函数display();使分页变得简单 但我有一个真正的问题。在我的网页上的例子,我有搜索表单,我需要分页搜索结果。当我开始搜索某个内容时,我会看到我的搜索表单、搜索结果以及页面页脚上的良好分页,但当我单击2,3。。。。。他们打开的页面没有任何结果-仅搜索表单。在我的task example.php中,我有以下4个函数。请帮助我使分页工作围绕所有分页页面的结果 谢谢

我是俄罗斯人,很抱歉,我的英语不太好)

我的问题是关于Joomla分页的。 在我们的task example.php中,我们只有一个函数display();使分页变得简单

但我有一个真正的问题。在我的网页上的例子,我有搜索表单,我需要分页搜索结果。当我开始搜索某个内容时,我会看到我的搜索表单、搜索结果以及页面页脚上的良好分页,但当我单击2,3。。。。。他们打开的页面没有任何结果-仅搜索表单。在我的task example.php中,我有以下4个函数。请帮助我使分页工作围绕所有分页页面的结果

谢谢大家!

class SearchTask extends Controller
{

var$\u plugins=null;
函数SearchTask()
{
$this->toolbar=MY\u toolbar\u SEARCH;
$this->_plugins=new MYPlugins();
}
函数显示()
{
全局$Itemid、$MY_LANG、$\u MY_CONFIG、$pagination、$total、$limitstart、$limit;
$mainframe=&JFactory::getApplication();
$my=&JFactory::getUser();
myAddPageTitle(JText::(“搜索博客条目标题”);
$template=新模板(time().$my->usertype.$\u my\u CONFIG->get('template');
$blogger=JRequest::getVar('blogger','POST','string');
$keyword=JRequest::getVar('keyword','POST','string');
$catid=JRequest::getVar('catid',''POST','int');
$from=JRequest::getVar('from','POST');
$to=JRequest::getVar('to','POST');
$agefrom=JRequest::getVar('agefrom','','POST','int');
$ageto=JRequest::getVar('ageto','','POST','int');
$onan=JRequest::getVar('onan','POST','int');
$limitstart=JRequest::getVar('limitstart','0','GET');
$limit=“2”;
//向用户显示表单
$searchURL=JRoute::(('index.php?option=com_example&task=search&Itemid='.myGetItemId());
$template->set('searchURL',$searchURL);
$template->set('Itemid',myGetItemId());
$results=false;
如果(!empty($blogger)和&isset($blogger))| |(!empty($keyword)和&isset($keyword))| |(!empty($catid)和&isset($catid))| |(!empty($to)和&isset($to))| |(!empty($agefrom)和&isset($agefrom))| | |(!empty($ageto)和isset($ageto)| | | | | | | | | | | | |
{
//操作后,执行搜索
$results=$this->_搜索(数组('blogger'=>$blogger',keyword'=>$keyword',catid'=>$catid',from'=>$from',to'=>$to',agefrom'=>$agefrom',ageto'=>$ageto',onan'=>$onan));
}
如果($results>0)
{如果(!empty($blogger)&&isset($blogger))&(!empty($keyword)&&isset($keyword))&(!empty($catid)&&isset($catid))&(!empty($from)&&isset($from))&(!empty($ageto)&&isset($ageto))&(!empty($ageto)&&isset($ageto))&(!empty($onan)&&isset($onan))
{$sorry=“没有$keyword和$blogger的结果”;}
else{$sorry=“没有$blogger$关键字的结果”;}
}
否则{$sorry=”“;}
echo$limitstart;
echo美元限额;
$template->set('blogger',$blogger);
$template->set('keyword',$keyword);
$template->set('catid',$catid);
$template->set('from',$from);
$template->set('to',$to');
$template->set('agefrom',$agefrom);
$template->set($ageto',$ageto);
$template->set('onan',$onan);
$template->set('results',$results);
$template->set('total',$total);
$template->set('sorry',$sorry);
$template->set('pagination',$pagination);
$content=$template->fetch($this->_getTemplateName('search'));
返回$content;
}
/**
*搜索
*参数:$filter(关联数组)
**/            
函数_搜索($filter)
{
JRequest::checkToken()或jexit('Invalid Token');
全局$\u MY_CONFIG、$keyword、$pagination、$total、$limitstart、$limit;
$db=&JFactory::getDBO();
$limitstart=JRequest::getVar('limitstart','0','GET');
$limit=“2”;
$blogger=isset($filter['blogger'])?$db->getescape($filter['blogger']):“”;
$keyword=isset($filter['keyword'])?$db->getescape($filter['keyword']):“”;
$catid=isset($filter['catid'])?$db->getescape($filter['catid']):“”;
$from=isset($filter['from'])?$db->GetEscape($filter['from']):“”;
$to=isset($filter['to'])?$db->GetEscape($filter['to']):“”;
$agefrom=isset($filter['agefrom'])?$db->GetEscape($filter['agefrom']):“”;
$ageto=isset($filter['ageto'])?$db->GetEscape($filter['ageto']):“”;
$onan=isset($filter['onan'])?$db->GetEscape($filter['onan']):“”;
如果(!empty($filter['from'])和&!preg_match(^([0-9]{4})-(0-9]{2})-(0-9]{2})$^,$from))
{
JError::raiseWarning(100,“一些错误”);
返回;
}
如果(!empty($filter['to'])和&!preg_match(^([0-9]{4})-(0-9]{2})-(0-9]{2})$^,$to))
{
JError::raiseWarning(100,“一些错误”);
返回;
}
$query=(!empty($filter['blogger'])| |!empty($filter['keyword'])| |!empty($filter['from'])| |!empty($filter['agefrom'])| |!empty($filter['ageto'])| empty($filter['ageto'])| |!empty($filter['onan']))?'选择SQL_CALC_FOUND_ROWS id、title、introtext、created_by、catid、created、vozvras、Anoname FROM#u content其中':'';
如果(!empty($keyword))
{
$query.=“(`title`类似于“%{$keyword}%””
“或类似“{$keyword}%”的“introtext””;
}
如果(!empty($blogger))
{
如果(!empty($keyword))
{
$query.=“和`created_by`=”.myGetAuthorId($blogger)。“;
}
其他的
{
$query.=“`created_by`='”.myGetAuthorId($blogger)。“;
}
}
如果(!empty($catid)&&is_numeric($catid))
{
如果(!empty($blogger)| |!empty($keyword))
{
$query.='和'catid`='(int)$catid';
}
埃尔斯
var $_plugins       = null;



function SearchTask()
{
    $this->toolbar  = MY_TOOLBAR_SEARCH;
    $this->_plugins = new MYPlugins();
}

function display()
{
    global $Itemid,$MY_LANG, $_MY_CONFIG, $pagination, $total, $limitstart, $limit;

    $mainframe  =& JFactory::getApplication();
    $my         =& JFactory::getUser();
    myAddPageTitle( JText::_( 'SEARCH BLOG ENTRY TITLE') );


    $template   = new Template(time() . $my->usertype . $_MY_CONFIG->get('template'));

    $blogger        = JRequest::getVar('blogger','','POST','string');
    $keyword        = JRequest::getVar('keyword','','POST','string');
    $catid          = JRequest::getVar('catid','','POST','int');
    $from           = JRequest::getVar('from','','POST');
    $to         = JRequest::getVar('to','','POST');
    $agefrom            = JRequest::getVar('agefrom','','POST','int');
    $ageto          = JRequest::getVar('ageto','','POST','int');
    $onan           = JRequest::getVar('onan','','POST','int');

    $limitstart = JRequest::getVar('limitstart', '0', 'GET');
    $limit      = "2";
    // Display form for user
    $searchURL  = JRoute::_('index.php?option=com_exemple&task=search&Itemid=' . myGetItemId());

    $template->set('searchURL', $searchURL);
    $template->set('Itemid', myGetItemId());
    $results    = false;
    if((!empty($blogger) && isset($blogger)) || (!empty($keyword) && isset($keyword)) || (!empty($catid) && isset($catid)) || (!empty($from) && isset($from))  || (!empty($to) && isset($to))  || (!empty($agefrom) && isset($agefrom)) || (!empty($ageto) && isset($ageto)) || (!empty($onan) && isset($onan)))
    {
        // Post action, perform search
        $results    = $this->_search(array('blogger' => $blogger, 'keyword' => $keyword, 'catid' => $catid, 'from' => $from, 'to' => $to, 'agefrom' => $agefrom, 'ageto' => $ageto, 'onan' => $onan));
    }

    if($results>0)
    {   if ((!empty($blogger) && isset($blogger)) && (!empty($keyword) && isset($keyword)) && (!empty($catid) && isset($catid)) && (!empty($from) && isset($from)) && (!empty($to) && isset($to)) && (!empty($agefrom) && isset($agefrom)) && (!empty($ageto) && isset($ageto)) && (!empty($onan) && isset($onan)))
        {$sorry = "<div style='padding-top:20px;'>No result for <b>$keyword</b> and <b>$blogger</b></div>";}
        else {$sorry = "<div style='padding-top:20px;'>No result for <b>$blogger</b><b>$keyword</b></div>";}
    }
    else{$sorry = "";}

    echo $limitstart;
    echo $limit;
    $template->set('blogger', $blogger);
    $template->set('keyword', $keyword);
    $template->set('catid', $catid);
    $template->set('from', $from);
    $template->set('to', $to);
    $template->set('agefrom', $agefrom);
    $template->set('ageto', $ageto);
    $template->set('onan', $onan);
    $template->set('results', $results);
    $template->set('total', $total);
    $template->set('sorry', $sorry);
    $template->set('pagination', $pagination);
    $content    = $template->fetch($this->_getTemplateName('search'));

    return $content;
}

/**
 * _search
 * params: $filter (assoc array)
 **/            
function _search($filter)
{

    JRequest::checkToken() or jexit( 'Invalid Token' );
    global $_MY_CONFIG, $keyword, $pagination, $total, $limitstart, $limit;

    $db         =& JFactory::getDBO();
    $limitstart = JRequest::getVar('limitstart', '0', 'GET');
    $limit      = "2";
    $blogger    = isset( $filter['blogger'] ) ? $db->getEscaped( $filter['blogger'] ) : '';
    $keyword    = isset( $filter['keyword'] ) ? $db->getEscaped( $filter['keyword'] ) : '';
    $catid      = isset( $filter['catid'] ) ? $db->getEscaped( $filter['catid'] ) : '';
    $from       = isset( $filter['from'] ) ? $db->getEscaped( $filter['from'] ) : '';
    $to     = isset( $filter['to'] ) ? $db->getEscaped( $filter['to'] ) : '';
    $agefrom        = isset( $filter['agefrom'] ) ? $db->getEscaped( $filter['agefrom'] ) : '';
    $ageto      = isset( $filter['ageto'] ) ? $db->getEscaped( $filter['ageto'] ) : '';
    $onan       = isset( $filter['onan'] ) ? $db->getEscaped( $filter['onan'] ) : '';

    if (!empty( $filter['from']) && !preg_match("^([0-9]{4})-([0-9]{2})-([0-9]{2})$^",$from))
    {
        JError::raiseWarning( 100, 'Some error' );
        return;
    }
    if (!empty( $filter['to']) && !preg_match("^([0-9]{4})-([0-9]{2})-([0-9]{2})$^",$to))
    {
        JError::raiseWarning( 100, 'Some error' );
        return;
    }

    $query  = (!empty( $filter['blogger']) || !empty( $filter['keyword']) || !empty( $filter['catid']) || !empty( $filter['from']) || !empty( $filter['to']) || !empty( $filter['agefrom']) || !empty( $filter['ageto']) || !empty( $filter['onan'])) ? 'SELECT SQL_CALC_FOUND_ROWS id,title,introtext,created_by,catid,created,vozvras,anonym FROM #__content WHERE ' : '';


    if(!empty($keyword))
    {
     $query      .= " (`title` LIKE '%{$keyword}%' "
                         . "OR `introtext` LIKE '%{$keyword}%')";
    }


    if(!empty($blogger))
    {
        if(!empty($keyword))
        {
            $query  .= " AND `created_by`='" . myGetAuthorId($blogger) ."'";
        }
        else
        {
            $query  .= " `created_by`='" . myGetAuthorId($blogger) ."'";
        }
    }


    if(!empty($catid) && is_numeric($catid))
    {
        if( !empty($blogger) || !empty($keyword))
        {
        $query  .= ' AND `catid`=' .(int) $catid . ' ';
        }
        else
        {
            $query  .= ' `catid`=' .(int) $catid . ' ';
        }
    }


    if(!empty($from))
    {
        $datefrom =& JFactory::getDate( $from );
        if(!empty($blogger) || !empty($keyword) || !empty($catid))
        {
        $query  .= " AND `created`>='{$datefrom->toMySQL()}'";
        }
        else
        {
            $query  .= " `created`>='{$datefrom->toMySQL()}'";
        }
    }

    if(!empty($to))
    {

        $to .=' 23:59:59';
        $dateto =& JFactory::getDate( $to );
        if(!empty($blogger) || !empty($keyword) || !empty($catid) || !empty($from))
        {
        $query  .= " AND `created`<='{$dateto->toMySQL()}'";
        }
        else
        {
            $query  .= " `created`<='{$dateto->toMySQL()}'";
        }
    }


    if(!empty($agefrom))
    {
        if(!empty($blogger) || !empty($keyword) || !empty($catid) || !empty($from) || !empty($to))
        {
        $query  .= ' AND `vozvras`>=' .(int) $agefrom . ' ';
        }
        else
        {
        $query  .= ' `vozvras`>=' .(int) $agefrom . ' ';
        }
    }



    if(!empty($ageto))
    {
        if(!empty($blogger) || !empty($keyword) || !empty($catid) || !empty($from) || !empty($to) || !empty($agefrom))
        {
        $query  .= ' AND `vozvras`<=' .(int) $ageto . ' ';
        }
        else
        {
        $query  .= ' `vozvras`<=' .(int) $ageto . ' ';
        }
    }


    if(!empty($onan))
    {
        if(!empty($blogger) || !empty($keyword) || !empty($catid) || !empty($from) || !empty($to) || !empty($agefrom) || !empty($ageto))
        {
        $query  .= ' AND `anonym`=' .(int) $onan . ' ';
        }
        else
        {
        $query  .= ' `anonym`=' .(int) $onan . ' ';
        }
    }
    $sections   = $_MY_CONFIG->get('managedSections');
    $query  .= " AND `sectionid` IN ({$sections}) AND `state`='1' ORDER BY `created` DESC LIMIT $limitstart, $limit";
    $db->setQuery( $query );
    $results    = $db->loadObjectList();
    $db->setQuery( "SELECT FOUND_ROWS();" );
        $total      = $db->loadResult();
        jimport( 'joomla.html.pagination' );
        $pagination = new JPagination( $total , $limitstart , $limit );
        $pagination = $pagination->getPagesLinks();

    $this->_format($results);


    return $results;
}

function _format(&$rows)
{
    global $_MY_CONFIG, $keyword;

    // Load Plugins
    $this->_plugins->load();

    // Format results
    for($i =0; $i < count($rows); $i++){
        $row    =& $rows[$i];


        $row->text = SearchHelper::prepareSearchContent( $row->introtext, 200, $keyword );
        $row->text = preg_replace("/$keyword/i", "<span class='highlight'>$keyword</span>", $row->text);
        $row->user      = myGetAuthorName($row->created_by, $_MY_CONFIG->get('useFullName'));
        $row->user      = $row->user;
        $row->link      = myGetPermalinkURL($row->id);
        $row->userlink  = JRoute::_('index.php?option=example&blogger=' . myGetAuthorName($row->created_by));
        $row->jcategory     = '<a href="' . JRoute::_('index.php?option=example&task=tag&category=' . $row->catid ) . '"><b id="bold">' . myGetJoomlaCategoryName( $row->catid ) . '</b></a>';
        $avatar = 'My' . ucfirst($_MY_CONFIG->get('avatar')) . 'Avatar';
        $avatar = new $avatar($row->created_by);

        $row->avatar    = $avatar->get();

        $date           =& JFactory::getDate( $row->created );
        $date->setOffSet( $_MY_CONFIG->get('dateFormat') );
        $row->date      = $date->toFormat();
    }
}
SELECT ... FROM ... WHERE ... LIMIT $limitstart, $limit