We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 52733
    • 1 Posts
    Добрый день. Я еще только учусь программированию и разрабатываю сайт используя видео-уроки и статьи. Уже 2 дня не могу настроить постраничную навигацию на одной из своих страниц. Вернее одну я сделал с помощью видео-урока:

    <?php
    $query = $modx->newQuery('modResource');
        $query->where(array(
            'parent'=> 3,
            'published' => 1,
            'deleted' => 0
        ));
    
    
    $lim=6;
    
    if(isset($_GET["page"])){
        $cnt=$_GET["page"]*$lim;    
    }else{
        $cnt=0;
    }
    
    $to=0;
    
    if(isset($_GET["page"])){
        $to=$_GET["page"]*$lim+$lim;    
    }else{
        $to=$lim;
    }
    
    ////////////////////////////
    
    
    
    $query->sortby('publishedon', 'DESC');
    $query->prepare();
    $docArray = $modx->getCollection('modResource',$query);
    
    $allcount=0;
    if(count($docArray)!=0){
        foreach($docArray as $key => $value) {
                        $query2 = $modx->newQuery('modResource');
                        $query2->where(array(
                            'parent'=>$value->id,
                            'published' => 1,
                            'deleted' => 0
                        ));
                        $query2->sortby('menuindex', 'ASC');
                        $query2->prepare();
                        $docArray2 = $modx->getCollection('modResource',$query2);
                        $allcount=$allcount+count($docArray2);
        }
    }
    ////////////////////////////
    
    
    $counter=0;
    if(count($docArray)!=0){
        echo '<ul class="spisok-statei">';  
        foreach($docArray as $key => $value) {
                        
                            
                        
                        
                        $query2 = $modx->newQuery('modResource');
                        $query2->where(array(
                            'parent'=>$value->id,
                            'published' => 1,
                            'deleted' => 0
                        ));
                        $query2->sortby('menuindex', 'ASC');
                        $query2->prepare();
                        $docArray2 = $modx->getCollection('modResource',$query2);
                        
                        if(count($docArray2)!=0){
                           
                           
                           
    
                             
                                                    
                            foreach($docArray2 as $key2 => $value2) {
                                    
                                    $counter++;
                                    if($counter>=$cnt){
                                    $cnt++;
                                    if($cnt>$to){break;}
                                    
                                    $parent33 = $modx->getObject('modResource',$value2->id); 
                                    
                                    
                                      echo '<li>
                                            <div><img src="'.$parent33->getTVValue('img').'"/></div>
                                            <h3>'.$value2->menutitle.'</h3>
                                            <span>'.date('d.m.Y', $value2->publishedon).'</span>
                                            <p>'.$value2->introtext.'<a href="[[~'.$value2->id.']]">подробнее</a></p>
                                        </li>';
                                     
                                    
                                    }else{
                                        
                                    }
                                    
                                }
                              
                            }
                        if($cnt>$to){break;}
                        }
        
        echo '</ul>';  
        
        if($allcount>$lim){
        
        echo '<div class="pagination-news"><ul>';
        $r=-1;
        $rr=0;
        
        $ost=$allcount%$lim;
        if($ost>=1){
            $to=$allcount/$lim+1;
        }else{
            $to=$allcount/$lim;    
        }
        
         for($i=1; $i<=$to; $i++){
                
                $r++;
                $rr++;
                if($r==0){
                    if(!isset($_GET["page"])){
                        echo "<li class='active'><a  href='[[~".$modx->resource->get('id')."]]'>$rr</a></li>";
                    }else{
                        echo "<li><a href='[[~".$modx->resource->get('id')."]]'>$rr</a></li>";
                    }
                }else{
                    if($_GET["page"]==$r){
                        echo "<li class='active'><a href='[[~".$modx->resource->get('id')."]]&page=$r'>$rr</a></li>";
                    }else{
                        echo "<li><a href='[[~".$modx->resource->get('id')."]]&page=$r'>$rr</a></li>";
                    }
                }
            }
         echo '</ul>
    
    		</div>
    		<!-- /.pagination-news -->';
         }
         
         
        }



    А вот со второй возникли проблемы. Что я имею сейчас:

    <?php
    $mas=$modx->getParentIds($modx->resource->get('id'));
        $query = $modx->newQuery('modResource');
        $query = $modx->newQuery('modResource');
        $query->where(array(
            'parent'=> 4,
            'published' => 1,
            'hidemenu'=>0,
            'deleted' => 0
        ));
        
    
    
    $query->sortby('publishedon', 'DESC');
    $query->prepare();
    $docArray = $modx->getCollection('modResource',$query);
    if(count($docArray)!=0){
        echo '<ul class="archiv">';
        foreach($docArray as $key => $value) {
          
            
            $parent = $modx->getObject('modResource',$value->id);    
            echo '
                    <li>
                            <div><a href="[[~'.$value->id.']]"><img src="'.$parent->getTVValue('img').'"/></a></div>
                            <p>'.date('d.m.Y', $value->publishedon).'</p>
                            <a href="'.$parent->getTVValue('PDF').'" class="link-button">Скачать в PDF</a>
                    </li>';
        }
        echo '</ul>';
    }


    Что я хочу получить:
    <?php
    $mas=$modx->getParentIds($modx->resource->get('id'));
        $query = $modx->newQuery('modResource');
        $query = $modx->newQuery('modResource');
        $query->where(array(
            'parent'=> 4,
            'published' => 1,
            'hidemenu'=>0,
            'deleted' => 0
        ));
       $lim=6;
    
    if(isset($_GET["page"])){
        $cnt=$_GET["page"]*$lim;    
    }else{
        $cnt=0;
    }
    
    $to=0;
    
    if(isset($_GET["page"])){
        $to=$_GET["page"]*$lim+$lim;    
    }else{
        $to=$lim;
    } 
    
    
    $query->sortby('publishedon', 'DESC');
    $query->prepare();
    $docArray = $modx->getCollection('modResource',$query);
    if(count($docArray)!=0){
        echo '<ul class="archiv">';
        foreach($docArray as $key => $value) {
          
            
            $parent = $modx->getObject('modResource',$value->id);    
            echo '
                    <li>
                            <div><a href="[[~'.$value->id.']]"><img src="'.$parent->getTVValue('img').'"/></a></div>
                            <p>'.date('d.m.Y', $value->publishedon).'</p>
                            <a href="'.$parent->getTVValue('PDF').'" class="link-button">Скачать в PDF</a>
                    </li>';
                                     
                                    
                                    }else{
                                        
                                    }
                                    
                                }
                              
                            }
                        if($cnt>$to){break;}
                        }
        
        echo '</ul>';  
        
        if($allcount>$lim){
        
        echo '<div class="pagination-news"><ul>';
        $r=-1;
        $rr=0;
        
        $ost=$allcount%$lim;
        if($ost>=1){
            $to=$allcount/$lim+1;
        }else{
            $to=$allcount/$lim;    
        }
        
         for($i=1; $i<=$to; $i++){
                
                $r++;
                $rr++;
                if($r==0){
                    if(!isset($_GET["page"])){
                        echo "<li class='active'><a  href='[[~".$modx->resource->get('id')."]]'>$rr</a></li>";
                    }else{
                        echo "<li><a href='[[~".$modx->resource->get('id')."]]'>$rr</a></li>";
                    }
                }else{
                    if($_GET["page"]==$r){
                        echo "<li class='active'><a href='[[~".$modx->resource->get('id')."]]&page=$r'>$rr</a></li>";
                    }else{
                        echo "<li><a href='[[~".$modx->resource->get('id')."]]&page=$r'>$rr</a></li>";
                    }
                }
            }
         echo '</ul>
    
    		</div>
    		<!-- /.pagination-news -->';
         }
    }


    Но это почему-то не работает, выдается просто пустая страница, где я допустил ошибку? Вроде делаю все так как в видео-уроке, я еще не все понимаю, но я очень стараюсь. Скриншоты страниц приклепляю