Ergebnis 1 bis 9 von 9

Thema: Geändertes Pagination Template funktioniert nicht

  1. #1
    Alter Contao-Hase
    Registriert seit
    20.06.2009.
    Ort
    Graz (Austria)
    Beiträge
    1.455

    Standard Geändertes Pagination Template funktioniert nicht

    Hallo Leute,

    ich hab eine Onesite Page und in der Mitte ca. hab ich einen Blog.
    Jetzt hab ich die Pagination etwas geändert, was sehr wohl in Contao 3.5.x funktioniert, aber nicht in Contao 4.6.11.

    So sieht mein Template aus:
    PHP-Code:
        <?php if ($this->hasPrevious): ?>
          <li class="previous"><a href="<?= $this->previous['href'?>#blog" class="previous" title="<?= $this->previous['title'?>"><i class="fa fa-angle-left"></i></a></li>
        <?php endif; ?>

        <?php if ($this->hasNext): ?>
          <li class="next"><a href="<?= $this->next['href'?>#blog" class="next" title="<?= $this->next['title'?>"><i class="fa fa-angle-right"></i></a></li>
        <?php endif; ?>
    Wenn ich nach dem Link #blog weglasse funktioniert es aber ich bin dann wieder ganz oben am Anfang. Wenn ich über den Link fahre, sehe ich unten am Schirm den Link richtig, aber er wird nicht übernommen. Gebe ich den Link aber so in die Adresszeile ein, funktioniert es.

    Warum wird hier der Link nicht übernommen?
    Zu sehen hier. Man muss auf "Blog" klicken und darunter dann den Pfeil. Es tut sich einfach nichts. http://test.absolutsauber.at (Das ist jetzt nur eine Testseite)
    LG, Andi

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.094
    Partner-ID
    10107

    Standard

    Naja, du hast ein JavaScript drin, das auf alle Links angewandt wird. Mit diesem JavaScript scrollst du zu der jeweiligen Sektion auf der Seite.

  3. #3
    Alter Contao-Hase
    Registriert seit
    20.06.2009.
    Ort
    Graz (Austria)
    Beiträge
    1.455

    Standard

    Aber ich versteh nur nicht, wenn ich den link, der erscheint beim Pfeil, so in die Adressleiste eingebe, funktioniert es. Wenn ich #blog im Template weggebe funktioniert es auch, nur dass hier eben ich wieder ganz oben am Seitenanfang bin.

    Es wird der Link nicht in die Adressleiste übernommen. Das Javascript ist sicher jenes, welches für die OneSite gebraucht wird.
    LG, Andi

  4. #4
    Alter Contao-Hase
    Registriert seit
    20.06.2009.
    Ort
    Graz (Austria)
    Beiträge
    1.455

    Standard

    Hm, jetzt hab ich mal das Javascript im Layout deaktiviert und jetzt würde es funktionieren.

    Ich brauch aber dieses Javascript. Die Seite soll sanft zum Ankerpunkt scrollen.
    LG, Andi

  5. #5
    Contao-Fan Avatar von PaddySD
    Registriert seit
    26.10.2016.
    Ort
    Andechs
    Beiträge
    656

    Standard

    Dein script ändert _alle_ Links in Deiner Seite. Also entweder Du änderst das Script, dass es eben nur auf bestimmte Links reagiert oder Du änderst Dein Design (ohne Pagination). Beides zusammen geht so einfach nicht.

    Du musst eben an einer Stelle eingreifen (und ändern), entweder im Script oder in Contao...

  6. #6
    Alter Contao-Hase
    Registriert seit
    20.06.2009.
    Ort
    Graz (Austria)
    Beiträge
    1.455

    Standard

    Ok, jetzt bitte ich euch um eure Hilfe.

    Da die Pagination gebraucht wird, muss ich das Script ändern. Nur wo und was?
    LG, Andi

  7. #7
    Alter Contao-Hase
    Registriert seit
    20.06.2009.
    Ort
    Graz (Austria)
    Beiträge
    1.455

    Standard

    Sorry, hatte den Code vergessen.
    Code:
    <script src="/bundles/eufonepagenavigation/jquery.waypoints.js"></script>
    <script>
    $(document).ready(function() {
    	var el = $('a[href*="#"]').not('[href="#"]').not('[href="#0"]');
      	var scrollSpeed = 800;
    	var uri = window.location.href.split("#")[0];
      
      el.click(function(event) {
          // check if On-page links
          if (
              location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
              &&
              location.hostname == this.hostname
          ) {
                  // Figure out element to scroll to
                  var target = $(this.hash);
                  target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
                  // Does a scroll target exist?
                  if (target.length) {
                      // Only prevent default if animation is actually gonna happen
                      event.preventDefault();
                      $('html, body').animate({
                          scrollTop: target.offset().top
                  }, scrollSpeed);
              }
          }
      });
    
            // set nav active when scrolling
    	var navActive = function(section) {
    		var $el = $('.onepage_navigation__list');
    		
    		$el.find('li.active').removeClass('active');
    		$el.each(function(){
    			$(this).find('a[data-onepagelink="'+section+'"]').parent().addClass('active');
    		});
    	};
    
    	var navigationSection = function() {
    	var $section = $('.mod_article');
    		
    		$section.waypoint(function(direction) {
    		  	
    		  	if (direction === 'down') {
    		    	if($(this.element).hasClass('onepage_article')) {
    			    	// change url to active link
    			    	navActive(this.element.id);
    		    	
    			    	// change url to active link
    			    	if (typeof(window.history.pushState) == 'function') {
    							history.pushState("", "", uri + '#' + this.element.id);
    						}
    					}
    		  	}
    		}, {
    	  		offset: '50%'
    		});
    
    		$section.waypoint(function(direction) {
    			
    		  	if (direction === 'up') {
    			  	var previousWaypoint = this.previous();
    		    	
    		    	if($(this.element).hasClass('onepage_article')) {
    			    	// change url to active link
    			    	navActive(this.element.id);
    						history.pushState("", "", uri +  '#' + this.element.id);
    		    	} else {
    			    	navActive(previousWaypoint.element.id);
    				  	history.pushState("", "", uri +  '#' + previousWaypoint.element.id);				  	
    			  	}
    		  	} 
    		  	
    		}, {
    		  	offset: function() {
    			    return (this.context.innerHeight()/2) - this.element.offsetHeight; // offset 50% from bottom
    			  },
    		  	group: $section
    		});
    	};
    	
    	$(function(){
    		navigationSection();
    	});	        
    });
    </script>
    LG, Andi

  8. #8
    Alter Contao-Hase
    Registriert seit
    20.06.2009.
    Ort
    Graz (Austria)
    Beiträge
    1.455

    Standard

    Hallo, kann mir hier niemand helfen?
    LG, Andi

  9. #9
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.094
    Partner-ID
    10107

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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