neues modul :: pageTurning (Blätterfunktion)

kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

neues modul :: pageTurning (Blätterfunktion)

Beitrag von kummer » Di 29. Nov 2005, 19:43

es handelt sich bei diesem modul um eine blätterfunktion. die einblendung erfolgt, sobald mehr als ein artikel in der aktuellen kategorie online ist. das modul lässt sich einfach konfigurieren (siehe unterste zeilen des codes).

Code: Alles auswählen

<?php
/**
  * $Revision: 1.12 $
  * $Source: D:/cvs/cvsrepo/test/PPI_Nade/module/pageTurning/output.php,v $
  * $Date: 2005/11/29 18:36:15 $
  */

/**
 * pageTurning
 * @author Andreas Kummer
 * @copyright Copyright &copy; 2005 w3concepts AG
 */

if (!class_exists('pageTurning')) {
	
	class pageTurning {
		
		/**
		 * Konstruktor der Klasse.
		 * @param String  Ordnungsprinzip (sorted, alphabetical, created,
		 * modified).
		 * @param Boolean  True = ASC, False = DESC
		 */
		function pageTurning($sortCriteria, $asc = true) {
			
			global $client, $lang, $idcat, $cfg, $idart;
			
			$this->client = $client;
			$this->lang = $lang;
			$this->idcat = $idcat;
			$this->cfg = $cfg;
			$this->idart = $idart;
			
			$this->before('<div>');
			$this->after('</div>');
			$this->between(' | ');
			$this->first('');
			$this->last('');
			$this->aClass('');
			$this->aStyle('text-decoration:none;');
			$this->aStyleSelected('font-weight:bold;');
			$this->previousPage('<<<');
			$this->nextPage('>>>');
			
			$this->db = new DB_Contenido();
			
			$this->readArticles($sortCriteria, $asc);
		}
		
		/**
		 * Setzt den Text für den ersten Eintrag.
		 * @param String  Text für den ersten Eintrag.
		 */
		function first($text) {
			
			$this->first = $text;
		}
		
		/**
		 * Setzt den Text für den letzten Eintrag.
		 * @param String  Text für den letzten Eintrag.
		 */
		function last($text) {
			
			$this->last = $text;
		}
		
		/**
		 * Setzt den HTML-Code, der vor der Blätteranzeige ausgegeben wird.
		 * @param String  HTML-Code, der vor der Blätteranzeige ausgegen werden
		 * wird.
		 */
		function before($text) {
			
			$this->before = $text;
		}
		
		/**
		 * Setzt den HTML-Code, der nach der Blätteranzeige ausgegeben werden
		 * wird.
		 * @param String  HTML-Code, der nach der Blätteranzeige ausgegeben
		 * werden wird.
		 */
		function after($text) {
			
			$this->after = $text;
		}
		
		/**
		 * Setzt den Text, der zwischen zwei Seitenzahlen ausgegeben werden
		 * wird.
		 * @param String  Text, der zwischen zwei Seitenzahlen ausgegeben werden
		 * wird.
		 */
		function between($text) {
			
			$this->between = $text;
		}
		
		/**
		 * Setzt den Klassennamen, der für die Links zu verwenden ist.
		 * @param String  Klassenname, der den Links zuzuordnen ist.
		 */
		function aClass($name) {
			
			$this->aClass = $name;
		}
		
		function aStyle($style) {
			
			$this->aStyle = $style;
		}
		
		function aStyleSelected($style) {
			
			$this->aStyleSelected = $style;
		}
		
		function previousPage($text) {
			
			$this->previousPage = $text;
		}
		
		function nextPage($text) {
			
			$this->nextPage = $text;
		}
		
		/**
		 * Liest die Artikel der aktuellen Kategorie ein.
		 * @param String  Ordnungsprinzip.
		 * @param Boolean  True = aufsteigend, False = absteigend
		 */
		function readArticles($sortCriteria, $asc) {
			
			/*
			 * Ordnungsprinzip fest legen
			 */
			$order = ($asc) ? ('ASC') : ('DESC');
			
			/*
			 * Sortierkriterium fest legen
			 */
			switch ($sortCriteria) {
				case 'created':
					$sortOrder = 'b.created '.$order;
					break;
				case 'modified':
					$sortOrder = 'b.lastmodified '.$order;
					break;
				case 'sorted':
					$sortOrder = 'b.artsort '.$order.', b.title '.$order;
					break;
				case 'alphabetical':
					$sortOrder = 'b.title '.$order;
					break;
				default:
					$sortOrder = 'b.created '.$order;
			}
			
			/*
			 * Absetzen des Queries.
			 */
			$this->db->query("" .
					"SELECT " .
					"	b.idart " .
					"FROM {$this->cfg['tab']['cat_art']} as a " .
					"LEFT JOIN {$this->cfg['tab']['art_lang']} as b ON a.idart = b.idart " .
					"WHERE " .
					"	a.idcat = {$this->idcat} " .
					"	AND b.idlang = {$this->lang} " .
					"	AND b.online = 1 " .
					"ORDER BY " .
					"	$sortOrder " .
					"");
			
			while ($this->db->next_record()) {
				$this->articles[] = $this->db->f('idart');
			}
		}
		
		/**
		 * Gibt die Blätterleiste an die Standardausgabe aus.
		 */
		function show() {
			
			if (empty($this->articles) || count($this->articles) == 1) {
				return false;
			}
			
			/*
			 * Ermittlung der aktuellen Position
			 */
			$position = array_search ($this->idart,$this->articles);
			
			/*
			 * Ausgabe Previous
			 */
			if ($position > 0) {
				$previous = $position - 1;
				echo $this->before.'<a href="front_content.php?idcat='.$this->idcat.'&idart='.$this->articles[$previous].'&lang='.$this->lang.'&client='.$this->client.'" class="'.$this->aClass.'">'.$this->previousPage.'</a>'.$this->between;
			} else {
				echo $this->before;
			}
			
			if ($this->first != '') {
				/*
				 * Ausgabe Link auf die erste Seite
				 */
				echo '<a href="front_content.php?idcat='.$this->idcat.'&idart='.$this->articles[0].'&lang='.$this->lang.'&client='.$this->client.'" class="'.$this->aClass.'">'.$this->first.'</a>';
			}
			
			$startPosition = ($this->first != '') ? (1) : (0);
			$endPosition = ($this->last != '') ? (count($this->articles) - 1) : (count($this->articles));
			
			for ($i = $startPosition; $i < $endPosition; $i++) {
				$seite = $i + 1;
				if ($i > 0) {
					echo $this->between;
				}
				$style = ' style="'.$this->aStyle;
				if ($i == $position) {
					$style .= $this->aStyleSelected;
				}
				$style .= '"';
				echo '<a href="front_content.php?idcat='.$this->idcat.'&idart='.$this->articles[$i].'&lang='.$this->lang.'&client='.$this->client.'" class="'.$this->aClass.'"'.$style.'>'.$seite.'</a>';
			}
			
			if ($this->last != '') {
				/*
				 * Ausgabe Link auf die letzte Seite
				 */
				echo $this->between.'<a href="front_content.php?idcat='.$this->idcat.'&idart='.$this->articles[count($this->articles)-1].'&lang='.$this->lang.'&client='.$this->client.'" class="'.$this->aClass.'">'.$this->last.'</a>';
			}
			
			/*
			 * Ausgabe Next
			 */
			if ($position < count($this->articles) - 1) {
				$next = $position + 1;
				echo $this->between.'<a href="front_content.php?idcat='.$this->idcat.'&idart='.$this->articles[$next].'&lang='.$this->lang.'&client='.$this->client.'" class="'.$this->aClass.'">'.$this->nextPage.'</a>'.$this->after;
			} else {
				echo $this->after;
			}
		}
	}
}

// Klasseninstantiierung
$pageTurning = new pageTurning('created');

// Angabe der zu verwendenden A-Klasse (für die Links)
$pageTurning->aClass('');

// Styleangabe für alle Links
$pageTurning->aStyle('text-decoration:none;');

// Styleangabe für den aktuellen Artikel
$pageTurning->aStyleSelected('font-weight:bold;');

// Anzeige für vorige Seite
$pageTurning->previousPage('<<<');

// Anzeige nächste Seite
$pageTurning->nextPage('>>>');

// Alternativausgabe für die erste Seite (anstatt 1)
// $pageTurning->first('Erste Seite');

// Alternativausgabe für die letzte Seite
// $pageTurning->last('');

// Ausgabe vor der Blätterleiste
$pageTurning->before('<div>');

// Ausgabe zwischen zwei Seitenzahlen
$pageTurning->between(' | ');

// Ausgabe nach der Blätterleiste
$pageTurning->after('</div>');

// Ausgabe an den Browser
$pageTurning->show();
?>
ich hoffe, das hilft dem einen oder anderen weiter. viel vergnügen damit!

gruss,
andreas
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Re: neues modul :: pageTurning (Blätterfunktion)

Beitrag von mvf » Di 29. Nov 2005, 22:02

und abermals dank
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams

maliya
Beiträge: 15
Registriert: Fr 25. Nov 2005, 14:10
Kontaktdaten:

Änderung der Sortierreihenfolge

Beitrag von maliya » So 25. Dez 2005, 23:56

Hallo,

ich verwende eine Artikelliste mit den entsprechenden Artikeln in einer Kategorie. bisher hat das pageTurning-Modul immer super funktioniert. Jetzt habe ich allerdings den Hauptartikel (die Artikelliste) neu erstellt ... jetzt steht an erster Stelle nicht mehr die Artikelliste, sondern der eigentlich letzte Artikel (jetzt der älteste). Das bringt mich zu der Vermutung, dass die Sortierung nach Erstellungsdatum erfolgt. Ich hab mir den Quellcode gerade lang und breit angeguckt, meine php-kentnisse reichen allerdings nicht aus, um dass ich genau sagen koennte, wo ich die aenderung machen muesste. Ich finde einfach nicht die Stelle, wo "$sortCriteria" festgelegt wird. :oops:

danke, maria

rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist » Mo 26. Dez 2005, 00:05

andere mal hier

Code: Alles auswählen

// Klasseninstantiierung
$pageTurning = new pageTurning('created');

greets
greets

maliya
Beiträge: 15
Registriert: Fr 25. Nov 2005, 14:10
Kontaktdaten:

Beitrag von maliya » Mo 26. Dez 2005, 00:29

och noe, ich kann's ja gar nicht fassen ... eigentlich bin ich recht gut im Auffinden der Stellen, die einer Aenderung beduerfen :roll:
Naja, aber manchmal sieht man den Wald vor lauter Baeumen nicht, stimmt's?

Ganz vielen lieben Dank :D

rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist » Mo 26. Dez 2005, 00:34

das kann vorkommen aber dafür gibts ja die community :wink:


greets
greets

i-fekt
Beiträge: 1520
Registriert: Mo 3. Jan 2005, 02:15
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von i-fekt » Mo 2. Jan 2006, 11:43

^_^
Zuletzt geändert von i-fekt am Do 21. Okt 2010, 11:59, insgesamt 1-mal geändert.

ernst
Beiträge: 25
Registriert: Do 24. Nov 2005, 16:29
Kontaktdaten:

Re: neues modul :: pageTurning (Blätterfunktion)

Beitrag von ernst » Do 5. Jan 2006, 10:09

kummer hat geschrieben:es handelt sich bei diesem modul um eine blätterfunktion. die einblendung erfolgt, sobald mehr als ein artikel in der aktuellen kategorie online ist. das modul lässt sich einfach konfigurieren (siehe unterste zeilen des codes).
Hi, Andreas,
wie kann ich diese interessante Erweiterung in mein Contenido einbauen?
Grüße, Ernst

kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer » Do 5. Jan 2006, 10:13

einfach ein neues modul erstellen und den code in den output-bereich kopieren. dann musst du lediglich ein template haben, dem du das modul einpflegen kannst.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

ernst
Beiträge: 25
Registriert: Do 24. Nov 2005, 16:29
Kontaktdaten:

Beitrag von ernst » Do 5. Jan 2006, 10:15

kummer hat geschrieben:einfach ein neues modul erstellen und den code in den output-bereich kopieren. dann musst du lediglich ein template haben, dem du das modul einpflegen kannst.
Alles klar, danke für die schnelle Antwort. Ernst

benja
Beiträge: 168
Registriert: Mi 31. Aug 2005, 10:54
Wohnort: Köln
Kontaktdaten:

artikelliste

Beitrag von benja » Di 10. Jan 2006, 10:57

kann man mit der blätterfunktion auch nur die artikelliste durchblättern, also nicht die artikel selber?
ich möchte die artikelliste "Article List Advanced" verwenden, die hat aber noch keine blätterfunktion!

gruß
benja

Genaral
Beiträge: 52
Registriert: Di 14. Sep 2004, 09:26
Kontaktdaten:

pageTuning

Beitrag von Genaral » Mi 25. Jan 2006, 15:49

2 grundsätzliche Fragen.

Kann man statt der Linkliste 1 | 2 | >> irgendwie die Headline anzeigen lassen?
Ausserdem würde ich gerne den Startartikel nicht dabei haben. Geht das?

lg Genaral

mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf » Mi 25. Jan 2006, 22:07

hallo community
sali andi ;)

das PageTurning Modul aus der Kummer'schen Modul-Schmiede an sich ist ja ein MUST für contenido, insofern nochmals danke in die schweiz.

was nun aber wirklich noch fehlt IMHO um es perfekt und multi-einsetzbar zu machen, sind 2 erweiterungen, nach beiden wurde hier schon gefragt:

1.) startartikel sollte wahlweise auszuschliessen sein
2.) erweiterung wie von i-fekt weiter oben angefragt (stichwort vieeeeeeeele artikel)

beides ist mir bisher noch nicht gelungen :( sollte bereits einer erfolgreich die beiden punkte umgesetzt haben, und willens sein den code hier zu sharen, dann freue sicherlich nicht nur ich mich ;)

sollte jemand eventuell auch grad dransitzen, oder das auf der todo liste haben, dann freue ich mich über eine PM vieleicht sind wir ja gemeinsam stärker ;)

jeder weitere input der community und selbstverständlich auch aus der schweiz ist wie immer 'highly appreciated' :D
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams

mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf » Mi 25. Jan 2006, 23:35

mvf hat geschrieben:... sollte jemand eventuell auch grad dransitzen, oder das auf der todo liste haben, dann ...
kommt hier jetzt mal der erste wurf
ich habe mal testweise 15 artikel in einer kategorie
der jetzige stand teilt die ersten 3 und die letzen 3
in der mitte schmeissts nochmal alle raus

das wird jetzt der interessante part!
zunächst mal bin ich mir noch nicht ganz klar wann ab welcher gesamtanzahl, überhaupt eine teilung erflogen soll, dass ist aber im endeffekt ein 'minor' in meine augen, denn das würde ich mit einer switch-anweisung auf die gesamtanzahl abschliessend abhandeln, sprich wenn die gesamtanzahl kleiner/gleich X ist dann eben den normalen output rauschmeissen wie im original, ansonsten teilen

jetzt zur teilung:
es sollten immer die ersten 3, die letzten 3 und in der mitte? nehmen wir mal an auch 3, dort dann aber nur der vor und der artikel nach dem 'selected', gut das bekommen wir auch noch hin denke ich. wie siehts jetzt mit dem oben erwähnten X aus?

bei 9 artikeln würde zb der org-output angezeigt also 1/2/3/4/5/6/7/8/9,
weil ja sont dort 1/2/3...4/5/6...7/8/9 stünde

bei 11 und selected 6
1/2/3...5/6/7...9/10/11

und nun die komplizierten geschichten bei denen ich mir nochnicht klar bin wie zu handhaben, z.b. wie oben 11 aber mit selected 4 oder 9 ???

vieleicht kann mir da einer auf die sprünge helfen wie solche logiken an sich ablaufen, irgendwie komme ich immer wieder auf ein neues ' und was ist wenn... ' :(

und hier nun mein bisheriges 'exkrement' ;)
any help wie immer welcome

Code: Alles auswählen

<?php
/**
  * $Revision: 1.12 $
  * $Source: D:/cvs/cvsrepo/test/PPI_Nade/module/pageTurning/output.php,v $
  * $Date: 2005/11/29 18:36:15 $
  */

/**
 * pageTurning
 * @author Andreas Kummer
 * @copyright Copyright &copy; 2005 w3concepts AG
 */ 

if (!class_exists('pageTurning')) {
   
   class pageTurning {
      
      /**
       * Konstruktor der Klasse.
       * @param String  Ordnungsprinzip (sorted, alphabetical, created,
       * modified).
       * @param Boolean  True = ASC, False = DESC
       */
      function pageTurning($sortCriteria, $asc = true) {
         
         global $client, $lang, $idcat, $cfg, $idart;
         
         $this->client = $client;
         $this->lang = $lang;
         $this->idcat = $idcat;
         $this->cfg = $cfg;
         $this->idart = $idart;
         
         $this->before('<div>');
         $this->after('</div>');
         $this->between(' | ');
         $this->first('');
         $this->last('');
         $this->aClass('');
         $this->aStyle('text-decoration:none;');
         $this->aStyleSelected('font-weight:bold;');
         $this->previousPage('<<<');
         $this->nextPage('>>>');
         
         $this->db = new DB_Contenido();
         
         $this->readArticles($sortCriteria, $asc);
      }
      
      /**
       * Setzt den Text für den ersten Eintrag.
       * @param String  Text für den ersten Eintrag.
       */
      function first($text) {
         
         $this->first = $text;
      }
      
      /**
       * Setzt den Text für den letzten Eintrag.
       * @param String  Text für den letzten Eintrag.
       */
      function last($text) {
         
         $this->last = $text;
      }
      
      /**
       * Setzt den HTML-Code, der vor der Blätteranzeige ausgegeben wird.
       * @param String  HTML-Code, der vor der Blätteranzeige ausgegen werden
       * wird.
       */
      function before($text) {
         
         $this->before = $text;
      }
      
      /**
       * Setzt den HTML-Code, der nach der Blätteranzeige ausgegeben werden
       * wird.
       * @param String  HTML-Code, der nach der Blätteranzeige ausgegeben
       * werden wird.
       */
      function after($text) {
         
         $this->after = $text;
      }
      
      /**
       * Setzt den Text, der zwischen zwei Seitenzahlen ausgegeben werden
       * wird.
       * @param String  Text, der zwischen zwei Seitenzahlen ausgegeben werden
       * wird.
       */
      function between($text) {
         
         $this->between = $text;
      }
      
      /**
       * Setzt den Klassennamen, der für die Links zu verwenden ist.
       * @param String  Klassenname, der den Links zuzuordnen ist.
       */
      function aClass($name) {
         
         $this->aClass = $name;
      }
      
      function aStyle($style) {
         
         $this->aStyle = $style;
      }
      
      function aStyleSelected($style) {
         
         $this->aStyleSelected = $style;
      }
      
      function previousPage($text) {
         
         $this->previousPage = $text;
      }
      
      function nextPage($text) {
         
         $this->nextPage = $text;
      }
      
      /**
       * Liest die Artikel der aktuellen Kategorie ein.
       * @param String  Ordnungsprinzip.
       * @param Boolean  True = aufsteigend, False = absteigend
       */
      function readArticles($sortCriteria, $asc) {
         
         /*
          * Ordnungsprinzip fest legen
          */
         $order = ($asc) ? ('ASC') : ('DESC');
         
         /*
          * Sortierkriterium fest legen
          */
         switch ($sortCriteria) {
            case 'created':
               $sortOrder = 'b.created '.$order;
               break;
            case 'modified':
               $sortOrder = 'b.lastmodified '.$order;
               break;
            case 'sorted':
               $sortOrder = 'b.artsort '.$order.', b.title '.$order;
               break;
            case 'alphabetical':
               $sortOrder = 'b.title '.$order;
               break;
            default:
               $sortOrder = 'b.created '.$order;
         }
         
         /*
          * Absetzen des Queries.
          */
         $this->db->query("" .
               "SELECT " .
               "   b.idart " .
               "FROM {$this->cfg['tab']['cat_art']} as a " .
               "LEFT JOIN {$this->cfg['tab']['art_lang']} as b ON a.idart = b.idart " .
               "WHERE " .
               "   a.idcat = {$this->idcat} " .
               "   AND b.idlang = {$this->lang} " .
               "   AND b.online = 1 " .
               "ORDER BY " .
               "   $sortOrder " .
               "");
         
         while ($this->db->next_record()) {
            $this->articles[] = $this->db->f('idart');
         }
      }
      
      /**
       * Gibt die Blätterleiste an die Standardausgabe aus.
       */
      function show() {
         
         if (empty($this->articles) || count($this->articles) == 1) {
            return false;
         }
         
         /*
          * Ermittlung der aktuellen Position
          */
         $position = array_search ($this->idart,$this->articles);
         
         /*
          * Ausgabe Previous
          */
         if ($position > 0) {
            $previous = $position - 1;
            echo $this->before.'<a href="front_content.php?idcat='.$this->idcat.'&idart='.$this->articles[$previous].'&lang='.$this->lang.'&client='.$this->client.'" class="'.$this->aClass.'">'.$this->previousPage.'</a>&nbsp;&nbsp;&nbsp;';
         } else {
            echo $this->before;
         }
         
         if ($this->first != '') {
            /*
             * Ausgabe Link auf die erste Seite
             */
            echo '<a href="front_content.php?idcat='.$this->idcat.'&idart='.$this->articles[0].'&lang='.$this->lang.'&client='.$this->client.'" class="'.$this->aClass.'">'.$this->first.'</a>';
         }
         
         $startPosition = ($this->first != '') ? (1) : (0);
         $endPosition = ($this->last != '') ? (count($this->articles) - 1) : (count($this->articles));
         
         for ($i = $startPosition; $i < 3; $i++) {
            $seite = $i + 1;

                        if ($i > 0) {
                           echo $this->between;
                        }
                        $style = ' style="'.$this->aStyle;
                        if ($i == $position) {
                           $style .= $this->aStyleSelected;
                        }
                        $style .= '"';
                        echo '<a href="front_content.php?idcat='.$this->idcat.'&idart='.$this->articles[$i].'&lang='.$this->lang.'&client='.$this->client.'" class="'.$this->aClass.'"'.$style.'>'.$seite.'</a>';

            }         

echo ' ... ';




         for ($i = $startPosition; $i < $endPosition; $i++) {
            $seite = $i + 1;
            
                        if ($i > 0) {
                           echo $this->between;
                        }
                        $style = ' style="'.$this->aStyle;
                        if ($i == $position) {
                           $style .= $this->aStyleSelected;
                        }
                        $style .= '"';
                        echo '<a href="front_content.php?idcat='.$this->idcat.'&idart='.$this->articles[$i].'&lang='.$this->lang.'&client='.$this->client.'" class="'.$this->aClass.'"'.$style.'>'.$seite.'</a>';
           
           }




echo ' ... ';

         for ($i = $endPosition - 3 ; $i < $endPosition; $i++) {
            $seite = $i + 1;

                        if ($i > 0) {
                           echo $this->between;
                        }
                        $style = ' style="'.$this->aStyle;
                        if ($i == $position) {
                           $style .= $this->aStyleSelected;
                        }
                        $style .= '"';
                        echo '<a href="front_content.php?idcat='.$this->idcat.'&idart='.$this->articles[$i].'&lang='.$this->lang.'&client='.$this->client.'" class="'.$this->aClass.'"'.$style.'>'.$seite.'</a>';

            } 

            
         
         if ($this->last != '') {
            /*
             * Ausgabe Link auf die letzte Seite
             */
            echo $this->between.'<a href="front_content.php?idcat='.$this->idcat.'&idart='.$this->articles[count($this->articles)-1].'&lang='.$this->lang.'&client='.$this->client.'" class="'.$this->aClass.'">'.$this->last.'</a>';
         }
         
         /*
          * Ausgabe Next
          */
         if ($position < count($this->articles) - 1) {
            $next = $position + 1;
            echo '&nbsp;&nbsp;&nbsp;<a href="front_content.php?idcat='.$this->idcat.'&idart='.$this->articles[$next].'&lang='.$this->lang.'&client='.$this->client.'" class="'.$this->aClass.'">'.$this->nextPage.'</a>'.$this->after;
         } else {
            echo $this->after;
         }


echo '<br />-- bof test --<br /><br />';         
echo '$startPosition: ' . $startPosition;
echo '<br />';
echo '$endPosition: ' . $endPosition;
echo '<br /><br />-- eof test --<br />';
      
      }
   }
}

// Klasseninstantiierung
$pageTurning = new pageTurning('created');

// Angabe der zu verwendenden A-Klasse (für die Links)
$pageTurning->aClass('');

// Styleangabe für alle Links
$pageTurning->aStyle('text-decoration:underline;');

// Styleangabe für den aktuellen Artikel
$pageTurning->aStyleSelected('font-weight:bold; color:red;');

// Anzeige für vorige Seite
$pageTurning->previousPage('<<< ');

// Anzeige nächste Seite
$pageTurning->nextPage(' >>>');

// Alternativausgabe für die erste Seite (anstatt 1)
// $pageTurning->first('');

// Alternativausgabe für die letzte Seite
// $pageTurning->last('');

// Ausgabe vor der Blätterleiste
$pageTurning->before('<div width="559px" align="center" style="padding:20px;">');

// Ausgabe zwischen zwei Seitenzahlen
$pageTurning->between('&nbsp;');

// Ausgabe nach der Blätterleiste
$pageTurning->after('</div>');

// Ausgabe an den Browser
$pageTurning->show();
?> 
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams

Genaral
Beiträge: 52
Registriert: Di 14. Sep 2004, 09:26
Kontaktdaten:

Re: pageTuning

Beitrag von Genaral » Do 26. Jan 2006, 07:56

2 grundsätzliche Fragen.

Kann man statt der Linkliste 1 | 2 | >> irgendwie die Headline anzeigen lassen?
Ausserdem würde ich gerne den Startartikel nicht dabei haben. Geht das?

lg Genaral
Artikelliste statt pageTuning verwendet.

Habe mein Problem nun mittels "Artikelliste" gelöst. Habe einfach den Code vom Aussehen so verändert, dass nur der Titel angezeigt wird und dazwischen einen senkrechten Strich eingefügt.

Hierbei kann ich auch den Startartikel einbeziehen bzw. eben weglassen.

lg. Birgit

Gesperrt