Ergebnis 1 bis 17 von 17

Thema: [erledigt] Modulanpassung für die Pagination.php

  1. #1
    Contao-Urgestein Avatar von Thomas
    Registriert seit
    16.08.2009.
    Ort
    Visselhövede
    Beiträge
    1.947
    User beschenken
    Wunschliste

    Standard [erledigt] Modulanpassung für die Pagination.php

    Hallo!

    Nun habe auch ich mal ein eigentlich kleines Problemchen. Einfach deswegen, weil es relativ einfach änderbar ist, aber nicht Update sicher.

    Ich möchte die Listenausgabe der Items in der Paginationausgabe nicht in Listenelemente packen, sondern in DIV-Container.

    In der Datei pagination.php befindet sich der Zusammenbau dieser Elemente in der Funktion public function getItemsAsString($strSeparator=' '), in der letzten for-Schleife
    Code:
    	/**
    	 * Generate all page links separated with the given argument and return them as string
    	 * @param  string
    	 * @return string
    	 */
    	public function getItemsAsString($strSeparator=' ')
    	{
    		$arrLinks = array();
    
    		$intNumberOfLinks = floor($this->intNumberOfLinks / 2);
    		$intFirstOffset = $this->intPage - $intNumberOfLinks - 1;
    
    		if ($intFirstOffset > 0)
    		{
    			$intFirstOffset = 0;
    		}
    
    		$intLastOffset = $this->intPage + $intNumberOfLinks - $this->intTotalPages;
    
    		if ($intLastOffset < 0)
    		{
    			$intLastOffset = 0;
    		}
    
    		$intFirstLink = $this->intPage - $intNumberOfLinks - $intLastOffset;
    
    		if ($intFirstLink < 1)
    		{
    			$intFirstLink = 1;
    		}
    
    		$intLastLink = $this->intPage + $intNumberOfLinks - $intFirstOffset;
    
    		if ($intLastLink > $this->intTotalPages)
    		{
    			$intLastLink = $this->intTotalPages;
    		}
    
    		for ($i=$intFirstLink; $i<=$intLastLink; $i++)
    		{
    			if ($i == $this->intPage)
    			{
    				$arrLinks[] = sprintf('<li><span class="current">%s</span></li>', $i);
    				continue;
    			}
    
    			$arrLinks[] = sprintf('<li><a href="%s" class="link" title="%s">%s</a></li>',
    								ampersand($this->strUrl) . $this->strVarConnector . 'page=' . $i,
    								sprintf(specialchars($GLOBALS['TL_LANG']['MSC']['goToPage']), $i),
    								$i);
    		}
    
    		return implode($strSeparator, $arrLinks);
    	}
    Ich frage mich, wie ich die li-Tags durch DIVs ersetzen kann, ohne Eingriff in die pagination.php zu nehmen.
    So folglich auch Update sicher zu machen.

    Kann ich das über DCA beeinflußen?
    Wenn ja, wie mache ich das am einfachsten?

    Dummer Weise habe ich bis jetzt noch kein DCA gebraucht.
    Geändert von Thomas (23.11.2009 um 21:51 Uhr)
    Gruß Thomas
    "Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du." Mahatma Gandhi

  2. #2
    Maintainer Avatar von xtra
    Registriert seit
    02.07.2009.
    Ort
    Tuebingen
    Beiträge
    2.007
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Thomas Beitrag anzeigen
    Hallo!
    Ich frage mich, wie ich die li-Tags durch DIVs ersetzen kann, ohne Eingriff in die pagination.php zu nehmen.
    So folglich auch Update sicher zu machen.
    Da wirst du wohl um ein contentscraping nicht umhin kommen.
    im Template der pagination einfach folgendes ersetzen:
    PHP-Code:
      <?php echo $this->items?>
    durch
    PHP-Code:
      <?php echo preg_replace('#<li>(.*?)</li>#''<div>$1</div>'$this->items); ?>
    Wenn ich mich nun mit der regex nicht ganz vertue, ist ja schon spaet und ich hab grad keine Testseite zur Hand.

    Ach und vergiss nicht die ul und li tags der anderen Elemente im template zu entsorgen/anzupassen.

    Hoffe es hilft
    Chris
    Bedenke stets: Wenn Du ungenaue oder unzureichende Angaben machst, so koennte dies die Bearbeitung deiner Frage endlos verzoegern (oder sogar dazu fyhren, dass ich zu viel nachdenken muss und die Antwort vergesse!). Kein Support per PN.

  3. #3
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo Thomas,
    kleine Frage am Rande (pure Neugier):
    Warum an der Stelle divs?
    Was soll das nutzen?

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  4. #4
    Contao-Urgestein Avatar von Thomas
    Registriert seit
    16.08.2009.
    Ort
    Visselhövede
    Beiträge
    1.947
    User beschenken
    Wunschliste

    Standard

    @xtra
    Danke, klappt wunderbar.
    Und das Template ist schon angepaßt, mir ging es nur um li-Elemente der Items.

    @MackP
    Die Positionierung über DIVs ist wesentlich einfacher, als über Listenelemente, vor allem, wenn man völlig anders positionieren möchte.
    Obendrein benötige ich die Listenelemente an dieser Stelle überhaupt nicht.
    Gruß Thomas
    "Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du." Mahatma Gandhi

  5. #5
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Thomas Beitrag anzeigen
    @xtra
    Danke, klappt wunderbar.
    Und das Template ist schon angepaßt, mir ging es nur um li-Elemente der Items.

    @MackP
    Die Positionierung über DIVs ist wesentlich einfacher, als über Listenelemente, vor allem, wenn man völlig anders positionieren möchte.
    Obendrein benötige ich die Listenelemente an dieser Stelle überhaupt nicht.
    Ähm..
    äh...
    da fällt mir nicht viel zu ein...
    Listenelemente kann man genau so positionieren wie alles andere...
    Listen für Navigationen sind sinnvoller als divs... auch eine Pagination ist eine Navigation...
    Semantischer Code ist sinnvoll für Screenreader und auch für SEO...

    Das sind so die Gedanken die ich dabei habe...

    Naja, muss jeder selbst wissen. Hoffe nur das sich das jetzt nicht wieder jeder Newbee abschaut um die Pagination ohne komische Punkte und nebeneinander zu haben...

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  6. #6
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.335
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von MacKP Beitrag anzeigen
    Listen für Navigationen sind sinnvoller als divs... auch eine Pagination ist eine Navigation...
    Semantischer Code ist sinnvoll für Screenreader und auch für SEO...
    Denke ich auch, und das hat sich auch bewährt. Siehe z.B. http://www.barrierefreies-webdesign....er-aufbau.html.

    Nur mal so am Rande ...

    Carolina.

  7. #7
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Ausserdem sind beides Block-Elemente.

    Die Positionierung über DIVs ist wesentlich einfacher, als über Listenelemente, vor allem, wenn man völlig anders positionieren möchte.
    Obendrein benötige ich die Listenelemente an dieser Stelle überhaupt nicht.
    Da helfe ich MacKP und lucina:
    Totaler Quatsch, sorry
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  8. #8
    Contao-Urgestein Avatar von Thomas
    Registriert seit
    16.08.2009.
    Ort
    Visselhövede
    Beiträge
    1.947
    User beschenken
    Wunschliste

    Standard

    Mag alles sein!

    Allerdings habe ich mächtige Probleme mit der Positionierung von diesen Elementen, jedenfalls empfinde ich das so.

    Vielleicht habe ich auch generell eine Denkfehler darin.
    Gruß Thomas
    "Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du." Mahatma Gandhi

  9. #9
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Thomas Beitrag anzeigen
    Vielleicht habe ich auch generell eine Denkfehler darin.
    Dann zeig mal her, Fehler sind ja da um 1. behoben zu werden und 2. daraus zu lernen
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  10. #10
    Contao-Urgestein Avatar von Thomas
    Registriert seit
    16.08.2009.
    Ort
    Visselhövede
    Beiträge
    1.947
    User beschenken
    Wunschliste

    Standard

    Dazu muß ich das erstmal alles wieder umstricken!

    Umgebaut habe ich soweit alles schon wieder, CSS kann ich erst heute Abend anpassen, da ich auf der Arbeit bin und hier kein FTP zur Verffügung habe.
    Gruß Thomas
    "Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du." Mahatma Gandhi

  11. #11
    Contao-Urgestein Avatar von Thomas
    Registriert seit
    16.08.2009.
    Ort
    Visselhövede
    Beiträge
    1.947
    User beschenken
    Wunschliste

    Standard

    Sooo, alles wieder auf Ursprung.
    Listenelemente sind soweit auch formatiert.

    http://visselkicker2.the-stabs.info/...ch.html?page=4

    Der rote Rahmen soll nicht weiter stören, dient nur zur Orientierung.

    Jetzt aber folgendes Scenario und gleich auch das Problem.

    Sobald sich die Anzahl der Listenelemente erhöht, wird es unweigerlich dazu kommen, dass das Layout des Pagination zerrissen wird.

    Mit einem margin, habe ich die Ausweitung nach links und rechts eingegrenzt.
    Soweit so gut.

    Ich persönlich würde es aber lieber sehen, die Links für die Seitenzahlen unterhalb der weiterführenden Links zu platzieren, was aber auf einfache Art und Weise, mit diesem Zusammanbau von Listenelementen nicht funktioniert.

    Daher geht meine Idee jetzt dahin, beides voneinander zu trennen und für die Ausgabe der Seitenlinks ein eigenes Template zu erstellen.

    Werde ich heute Abend nochmal in Angriff nehmen.
    Weiteres folgt.
    Gruß Thomas
    "Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du." Mahatma Gandhi

  12. #12
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.335
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Thomas Beitrag anzeigen
    Sobald sich die Anzahl der Listenelemente erhöht, wird es unweigerlich dazu kommen, dass das Layout des Pagination zerrissen wird. Mit einem margin, habe ich die Ausweitung nach links und rechts eingegrenzt. Soweit so gut.
    *verwirrtguck*

    Ich stehe gerade ein wenig auf dem Schlauch und verstehe nicht, was Du damit sagen möchtest. Erklärst Du mir mal Dein Problem?

    MfG, Carolina.

  13. #13
    Contao-Urgestein Avatar von Thomas
    Registriert seit
    16.08.2009.
    Ort
    Visselhövede
    Beiträge
    1.947
    User beschenken
    Wunschliste

    Standard

    Hallo!

    Naja, relativ einfach!

    Wenn sich die Anzahl der Seitenlinks erhöht, wird die Breite so lange nach rechts und links verschoben, bis es an die Grenze stößt. Letztendlich wird dann die Höhe verschoben und eine neue Zeile angefangen.
    Was dann zu einem unschönen Ergebnis führt.

    Mal sehen ob ich das heute Abend reproduziere.

    Mein Ziel ist es, die Seitenlinks in einen eigenen Block auszulagern und somit von Anfang - Zurück - Vorwärts - Ende zu trennen.

    Wie in dem oben angegebenen Link unschwer zu erkennen, handelt es sich um ein Gästebuch. Das sicherlich in absehbarer Zeit durch viele Einträge, viele Seitenlinks produzieren wird.
    Gruß Thomas
    "Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du." Mahatma Gandhi

  14. #14
    Community-Moderator Avatar von schman
    Registriert seit
    19.06.2009.
    Ort
    Dornbirn
    Beiträge
    3.739
    User beschenken
    Wunschliste

    Standard

    thomas ich verstehe dein Problem auch nicht die Listenelement werden max 7 Elemente haben wenn du jetzt auf seite 5 bist dann hast du in der Navigation folgende Links

    2 3 4 5 6 7 8

    wenn du nun auf seite 1 bist dann hast du folgende punkte zum navigieren

    1 2 3 4 5 6 7

  15. #15
    Contao-Urgestein Avatar von Thomas
    Registriert seit
    16.08.2009.
    Ort
    Visselhövede
    Beiträge
    1.947
    User beschenken
    Wunschliste

    Standard

    Omg!

    Siehst Du diese Information hatte ich nicht!

    Wenn dem so ist, hat sich das ganze Thema hier gerade völlig ad absurdum geführt und darf gerne entfernt werden.

    Ich hätte vlt. doch noch ein paar mehr Einträge generieren sollen.
    Dann hätte sich die Frage garnicht erst gestellt.
    Gruß Thomas
    "Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du." Mahatma Gandhi

  16. #16
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.335
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Thomas Beitrag anzeigen
    Siehst Du diese Information hatte ich nicht!

    Wenn dem so ist, hat sich das ganze Thema hier gerade völlig ad absurdum geführt und darf gerne entfernt werden.
    Manchmal ist es einfach sehr entspannend, wenn man ab und auf die eigene Seite schaut ...

    SCNR

    Carolina.

  17. #17
    Contao-Urgestein Avatar von Thomas
    Registriert seit
    16.08.2009.
    Ort
    Visselhövede
    Beiträge
    1.947
    User beschenken
    Wunschliste

    Standard

    Hehe, jo!

    Allerdings gebe ich nur bedingt Recht, da ich garnicht soviele Einträge generiert habe, sodass mir das hätte auffallen können.

    Aber nu weiß ich es und werde bestimmt nicht weiter fragen.
    Gruß Thomas
    "Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du." Mahatma Gandhi

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Pagination Absteigend
    Von Nook im Forum Layout / Templates / Holy Grail
    Antworten: 7
    Letzter Beitrag: 19.09.2010, 08:58
  2. Pagination für NewsGallery
    Von Recco im Forum Sonstige Erweiterungen
    Antworten: 1
    Letzter Beitrag: 19.07.2010, 23:22
  3. Pagination Bildergalerie
    Von quintacom im Forum Bilder/Dateien
    Antworten: 2
    Letzter Beitrag: 05.07.2010, 21:48
  4. Die Suche und Pagination
    Von felixpfeiffer im Forum Sonstiges zu Contao
    Antworten: 0
    Letzter Beitrag: 01.10.2009, 14:47

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •