Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

AJAX: Nachladen eines DIVs in eigenem Modul

Eingetragen von jan.s (44)
am 15.01.2010 - 11:33 Uhr in
  • Allgemeines zu Drupal
  • Drupal 6.x

Hallo zusammen!

Ich möchte in einem eigenenModul auf einer Seite in einem DIV Inhalte nachladen. Dazu rufe ich per Ajax eine Url auf, welche den Content zurückgibt. Ich musste jedoch auch diese Url in Drupal integrieren, da dort auf das Drupal System und Nodes zugegriffen wird. Daher habe ich diese aufzurufende Url mit hook_menu() integriert.
Geht auch bisher alles gut, aber wenn ich diese Url per Ajax nachladen erhalte ich natürlich auch die gesamte HTML-Seite drumrum. Ich möchte aber nur den Inhalt des DIVs erhalten und nicht eine gesamte HTML-Seite.
Wie kann ich das anstellen?

<?php
function suche_menu() {
   
$items = array();
   
   
$items['suche/ajax/region/%'] = array(
        
'page callback' => 'buildContent',
       
'access arguments' => array('access content'),
       
'page arguments' => array(3),
       
'type' => MENU_CALLBACK,
    );
   
    return
$items;
}

function
buildContent() {
  return
"Inhalt";
}
?>

Oben das Beispiel: Anstatt einer ganzen Seite, soll hier nur "Inhalt" nachgeladen werden.

Viele Grüße
Jan

‹ Dienstleister (CSV) -> Node-Import -> Node + automatischer Eintrag in Gallery möglich? Ubercart und Bilder ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Component...

Eingetragen von sepp68 (444)
am 15.01.2010 - 12:51 Uhr

Das Modul http://drupal.org/project/component könnte Dir vielleicht helfen. Du müsstest einen Block bereitstellen und diesen per Ajax nachladen.

Siehe auch: http://mdwp.de/blog/ajax-und-drupal-leicht-gemacht

Viel Erfolg

Sepp

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die Lösung!

Eingetragen von jan.s (44)
am 15.01.2010 - 13:04 Uhr

Hey Sepp,

danke für den Hinweis, aber ich nutze Drupal 6 und da ist das Modul noch in der Entwicklung.
Kannst du mir sagen, ob ich da bestimmte Blöcke oder Views definieren kann, die ich aufrufen will? Oder kann ich (oder jemand fremdes) über die Urls alle Elemente direkt aufrufen?

Habe sonst die Lösung gefunden. Die Funktion muss lauten:

<?php
function
buildContent() {
  echo
"Inhalt";
}
?>

Wenn ich etwas returne, wird die Page drumrum aufgebaut. Mit print und echo kann ich einen Output erstellen ohne die Page!

Viele Grüße
Jan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Block bereitstellen

Eingetragen von sepp68 (444)
am 15.01.2010 - 14:18 Uhr

.. ja ok ist ein Argument. Das Modul funktioniert bei mir aber einwandfrei und wenn du Dir den QuellCode ansiehst kann da auch nicht viel schiefgehen.

Du müsstest bei deinem Modul einen Block bereitstellen mit hook_block:

<?php
/**
* Implementation of hook_block()
*/
function DEIN_MODUL_block($op='list', $delta=0, $edit=array()) {
  switch (
$op) {

   
// Dein Code hier

    
     
return $blocks;
  }
}
?>

Aufruf dann mit Component:

<?php
//Block ausgeben
 
print component_get_block('DEIN_MODUL_BLOCK',0,'Dein Block-Titel');
 
//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
?>

Sepp

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
Weiter

Neue Kommentare

  • Inzwischen sind wir bei
    vor 2 Tagen 9 Stunden
  • Migrieren von D7 auf D8/ D10/ D11
    vor 3 Tagen 1 Stunde
  • melde mich mal wieder, da ich
    vor 8 Wochen 5 Stunden
  • Hey danke
    vor 8 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 8 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 8 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 8 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 9 Wochen 3 Tagen
  • In der entsprechenden View
    vor 9 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 9 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250235
Registrierte User: 20462

Neue User:

  • marouane.blel
  • capilclinic
  • Quabzibboter

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 17 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association