Über uns

Drupal - Consulting und Services seit 2005. Acquia Service Partner seit 2009. Hier erfahren Sie mehr über uns.

Über Drupal

Drupal ist eines der besten Open Source CMS. Mit Version 7 stehen Ihnen neue mächtige Funktionen zur Verfügung.

SEO

Seit der ersten Drupal Version aus dem Jahr 2000, stellt Drupal wichtige Werkzeuge für SEO zur Verfügung.

Distributionen

Spezialisierte Drupal Installationsprofile stellen Ihnen maßgeschneiderte Lösungen für einen definierten Website Typ zur Verfügung.

STARTSEITE

Genial einfach: Blöcke, Nodes und Views mit AJAX und jQuery laden

<

p>Eigentlich wollte ich etwas zu den Modulen Flag und Rules schreiben.

Während der dazugehörigen Recherche bin ich aber auf das Modul http://drupal.org/project/component gestoßen. Und deshalb schreibe ich jetzt was zu diesem interessanten Modul.

Component ist ein kleines Utility-Modul, mit dem es sehr einfach möglich ist einen Block, eine View oder einen Node, irgendwo auszugeben. Ich weiß, dass es zu diesem Zweck auch andere Möglichkeiten oder Module gibt. Component macht es aber wirklich sehr einfach.

Zum Ausprobieren der folgenden Beispiele legen Sie in Ihrem Theme eine script.js mit dem jeweiligen Code an. Einmal den Cache der Theme-Registry leeren und los gehts.

In einem Node brauchen Sie noch einen div mit der id “wrapper” und einen Link mit der id, welche im zugehörigen jQuery benutzt wird.

Beispiel um einen Block auszugeben:

  //Block ausgeben
  print component_get_block('block',3,'Extra Block');
  //der erste Parameter ist das Modul, welches den Block generiert
  //der zweite Parameter ist die Nummer (delta) des Blocks
  //der dritte Parameter ist ein neuer Titel für den Block

Die Funktionen für Nodes und Views sind component_get_node(nid) und component_get_view(‘name der view’, ‘display’).

Das alleine ist schon toll, richtig interessant wird das Modul aber in Verbindung mit jQuery. Die jQuery Funktion load() lädt per AJAX eine Datei vom Server.

Einfaches Beispiel:

$(document).ready(function(){
    $('#block').click(function(){
        
      $('#wrapper').load('/info.php');
        
      return false;
    });

});

Einfaches Beispiel mit dem Component Modul:

$(document).ready(function(){
    $('#block').click(function(){
        
      $('#wrapper').load('/component/block/block/3');
        
      return false;
    });
});

Jetzt kann man sich sehr einfach mit echten Drupal Daten mit den Vielfältigen Möglichkeiten von jQuery vertraut machen:

Komplexeres Beispiel:

$(document).ready(function(){
    $('#block').click(function(){
        
            $('#wrapper').slideUp('slow').load('/component/block/block/3', function() {
              $(this).slideDown('slow');
            });
        
        return false;
    });
    
    $('#node').click(function(){
        
            $('#wrapper').slideUp('slow').load('/component/node/15', function() {
              $(this).slideDown('slow');
            });
           
       return false;
    });
    
    $('#view').click(function(){
        
            $('#wrapper').slideUp('slow').load('/component/view/top_project', function() {
              $(this).slideDown('slow');
            });
            
        return false;
    });
    
});

Viel Spaß mit jQuery, AJAX und Drupal. Und der eigentlich vorgesehene Beitrag zum Thema Flag und Rules folgt bald.

Kommentare

super, danke
der artikel ist sehr hilfreich

Kommentar hinzufügen

  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd><img><p><br>
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.

Drupal News & Diskussionen

Neueste Kommentare

mdwp*

Drupal - Consulting u. Services
Webdesign, Konzeption, Entwicklung

Hügelstr. 6a
58099 Hagen

E-Mail: post@mdwp.de
Tel.: 02331 3 96 16 91

Drupal Association Organisation Member
Acquia Service Partner