it-swarm-eu.dev

Po kliknutí na další odkaz v zobrazení načtěte další obsah s Ajaxem

Mám vlastní zobrazení bloku. Zobrazuji posledních 5 uzlů. Pokud někdo klikne na další odkaz, chci načíst dalších 5 titulů pod aktuální tituly 5 uzlů. Žádná aktualizace stránky a ne pager. Je to možné? Jak bych to měl udělat?

15
Lucy

To je jeden z problémů, které se pokusilo vyřešit více lidí ve světě drupal).

Nedávno jsem přednesl prezentaci k témuž témuž problému a jak toho dosáhnout pomocí drupalu. Bohužel jsem nikdy nezveřejnil žádné ze svých skluzavek nikam, kde vidí zbytek světa.

Zde je přehled modulů:

Zobrazení nekonečný svitek

  • Nefunguje s podporou Ajax podpory - Je to hackování kolem něj, aby se vlastní Ajax požadavek
  • Vyvolá požadavek na celou stránku - Je to proto, že nevyužívá požadavek Zobrazení Ajax
  • Vyžaduje zobrazení 3.x - Toto je plus, protože pager je možné připojit v 3.x

Zobrazení Infinite Pager

  • Support Views 2.x - To opravdu není dobrá věc, protože pager nelze připojit
  • Protože to funguje s 2.x, opravdu to proniká kolem tématu pageru, pravidelných pohledů ajax a chování při předzpracování. Takže to narušuje některé funkce.

A v neposlední řadě je to nový projekt, do kterého jsem na základě této otázky právě přidal. Důvodem projektu je moje potřeba také potřebovat názory, které podporují zatížení více, kromě výše uvedených problémů nejsme přijatelní pro můj projekt.

Zobrazení načíst více

  • Vyžaduje zobrazení 3.x - Toto je záměrné.
  • Podpora zobrazení pravidelné možnosti pageru, jako jsou posuny, počet stránek
  • Plně podporuje funkci Ajax zobrazení
    • Pokud je v pohledu povoleno Ajax, načte další přidáním obsahu do dolní části seznamu
    • Pokud je Ajax deaktivován, stránka se obnoví a nahradí starý obsah novým obsahem
    • Neprovádí požadavek na celou stránku, když dělá zpětné volání ajax, umožňuje zobrazení dělat, je přirozené zpětné volání a místo nahrazení obsahu, který k němu přidává.
  • Pokud používáte modul waypoint , lze zobrazení nakonfigurovat tak, aby automaticky získalo nový obsah, když uživatel přejde na konec stránky.
  • Podporuje efekty JQuery (právě teď je podporován pouze efekt vyblednutí, v nejbližší době).

Doufám, že to odpovídá na vaši otázku. Toto je můj „nezaujatý“ ;-) názor na všechny názory načte více modulu.

26
ericduran

Další metoda používající https://github.com/paulirish/infinite-scroll in Drupal je Transformace libovolné Drupal pager do autopager - nekonečný pager - načíst více pager) ==.

Krok 1

Stáhněte si jquery.infinitescroll.min.js z https://github.com/paulirish/infinite-scroll a vložte jej do /sites/all/themes/YOURTHEME/js/jquery.infinitescroll.min. js.

Krok 2

Přidejte soubor JavaScript do souboru .info vašeho motivu.

Krok 3

Vytvořte si vlastní soubor JavaScript /sites/all/themes/YOURTHEME/js/YOURTHEME.js obsahující následující kód.

/**
 * Implementation of autopager @see https://github.com/paulirish/infinite-scroll
 * All views that have the "autopager" class will have an autopager
 */
Drupal.behaviors.viewsInfiniteScroll = function(context) {
  $(function(){
    var $container = $('div.autopager div.view-content');    
    $container.imagesLoaded( function(){
      $container.infinitescroll({
        navSelector  : 'div.autopager .pager',    // selector for the paged navigation
        nextSelector : 'div.autopager .pager-next a',  // selector for the NEXT link (to page 2)
        itemSelector : 'div.autopager .views-row',     // selector for all items you'll retrieve
        loading: {
          finishedMsg: 'No more pages to load.',
          img: '/sites/all/themes/YOURTHEME/images/loading.gif'
        }
      })
    })
  });
}

Krok 4

Přidejte CSS nekonečného posuvného zavaděče

#infscr-loading {
  position: fixed;
  text-align: center;
  bottom: 300px;
  left: 42%;
  z-index: 100;
  background: white;
  background: hsla( 0, 0%, 100%, 0.9 );
  padding: 20px;
  color: #222;
  font-size: 15px;
  font-weight: bold;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}

Krok 5

Ujistěte se, že jquery verze je novější než 1.7.1. K instalaci novější verze jQuery v Drupalu použijte jednu z metod popsaných v http://drupal.org/node/1058168 .

2
Hans Rossel

K první odpovědi nemohu přidat komentář. Měli byste však přidat nový modul: https://www.drupal.org/project/Gd_infinite_scroll Tento modul vám umožní transformovat jakýkoli obsah a pager na nekonečný svitek nebo načíst více pager.

Ze stránky modulu:

Poskytněte administraci pro použití nekonečného zásuvného modulu jQuery scroll: auto-pager na vlastních stránkách pomocí pageru. Můžete použít automatické načtení při posouvání nebo tlačítko načíst další.

1
vincent