• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Seitenweise blättern php

OP
Y

Yehudi

Guru
Ich habe hier noch ein Problem, das ganze läuft nach der Joomlasortierung, und nicht nach Datum:

sortierung.png


Oben wird immer der neuste Beitrag hinzugefügt, was auch Sinn macht. Das Modul funktioniert jedoch in die umgekehrter Richtung. Es fängt mit dem oberen Beitrag an, und der unterste Beitrag ist der Letzte.

Also habe ich noch mal zwei Stellen geändert. Jetzt sieht das gesammte Modul
so aus:
Code:
<?php

define ('PREVNEXT_PC','Vorheriger Beitrag');
define ('PREVNEXT_NC','Nächster Beitrag');
$output = '';

	$option = mosGetParam( $_REQUEST, 'option', '' );
    $task = mosGetParam( $_REQUEST, 'task', '' );
    if (  ( $task == "view" ) && !$params->get( 'popup' ) && $option = "com_content" ) {
			$id = mosGetParam( $_REQUEST, 'id', '0' );
			if ($id) {
	            $query = "SELECT a.ordering, a.catid"
	            . "\n FROM #__content AS a"
	            . "\n WHERE id = '$id'";
	            $row=NULL;
				$database->setQuery( $query );
				$database->loadObject($row);
 	            // loads the links for Next & Previous Button
	            $query = "SELECT a.id"
	            . "\n FROM #__content AS a"
	            . "\n WHERE a.catid = ". $row->catid.""
	            . "\n AND a.catid != 0 AND a.state = '1' AND ordering < $row->ordering"
	            . "\n ORDER BY a.ordering DESC"
	            . "\n LIMIT 1"
	            ;
	            $database->setQuery( $query );
	            $next= $database->loadResult();
	            $query = "SELECT a.id"
	            . "\n FROM #__content AS a"
	            . "\n WHERE a.catid = ". $row->catid.""
	            . "\n AND a.catid != 0 AND a.state = '1' AND ordering > $row->ordering"
	            . "\n ORDER BY a.ordering"
	            . "\n LIMIT 1"
	            ;
	            $database->setQuery( $query );
	            $prev = $database->loadResult();
	               
		        if ( $prev ) {
					$query = "Select title from #__content where id = '$prev'";
		            $database->setQuery($query);
		            $database->loadObject($result);
		            $title= $result->title;
	                $query = "select id from #__menu where published = '1' 
	                and type = 'content_item_link' and componentid= '$prev'";
		            $database->setQuery( $query );
		            $Itemid = $database->loadresult();
		                       
	               	if (!$Itemid) {
	                	// needed to reduce queries used by getItemid           
	                    $bs = $mainframe->getBlogSectionCount();
	               		$bc = $mainframe->getBlogCategoryCount();
	               		$gbs = $mainframe->getGlobalBlogSectionCount();
	               		// get Itemid
	               		$Itemid = $mainframe->getItemid( $prev, 0, 0, $bs, $bc, $gbs );
	               }    
		           // Blank itemid checker for SEF
		           if ($Itemid == NULL) {
		           		$Itemid = '';
		           } else {
		           		$Itemid = '&Itemid='. $Itemid;
		           }   
	              
	               $linktext = '<img src="modules/mod_rd_prevnext/previous.gif">';
				   $link = '<tr>'
				            .'<td><p class="pagenav_arrow">'
							.'<a href="' 
				   			. sefRelToAbs( 'index.php?option=com_content&task=view&id='
				   			. $prev 
				   			. $Itemid ) 
				   			.'" class="readon">'
		                   	. $linktext 
							. '</p>'
		                   	. '</a></td>'
							. '<td><p class="pagenav_left">'
							. PREVNEXT_PC
							. '</p>'
							. '</td>';
		           if (!$next) {
		           		$link . $enddiv;
		           }	
		           
		           $output .= $link;
		        }
		       
		       if ( $next ) {
		            
		            $query = "Select title from #__content where id = '$next'";
		            $database->setQuery($query);
		            $database->loadObject($result);
		            $title= $result->title;
	                $query = "select id from #__menu where published = '1'	
	                and type = 'content_item_link' and componentid='$next';";
		            $database->setQuery( $query );
		            $Itemid = $database->loadResult();
	                if (!$Itemid) {
	                    // needed to reduce queries used by getItemid           
	                    $bs = $mainframe->getBlogSectionCount();
		                $bc = $mainframe->getBlogCategoryCount();
		                $gbs = $mainframe->getGlobalBlogSectionCount();
		                // get Itemid
		                $Itemid = $mainframe->getItemid( $next, 0, 0, $bs, $bc, $gbs );
	               }    
	               // Blank itemid checker for SEF
	               if ($Itemid == NULL) {
	                   $Itemid = '';
	               } else {
	                   $Itemid = '&Itemid='. $Itemid;
	               }
		               
	               $linktext = '<img src="modules/mod_rd_prevnext/next.gif">';
	               $link = '<td><p class="pagenav_right">'
				            . PREVNEXT_NC
							. '</p>'
							. '</td>'
							. '<td><p class="pagenav_arrow">'
	               		 	. '<a href="' 
	               		 	. sefRelToAbs( 'index.php?option=com_content&task=view&id='
	               		 	. $next 
	               		 	. $Itemid ) 
	               		 	. '" class="readon">'
		                 	. $linktext 
							. '</p>'
		                 	. '</a></td>'
							. '</tr>';
				   $output .= $link;
		        }
				
		        if ( $prev || $next ) {
		        	$output .= '</div>';
		        }
	
	   		}
       echo $output; 
	}

?>


Meine Änderungen waren
Code:
$next= $database->loadResult();
und
Code:
$prev= $database->loadResult();
miteinander zuvertauschen.
 
Oben