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 - 12: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 - 13: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 - 14: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 - 15: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

  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • 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
Weiter

Neue Kommentare

  • Arrrrg. Nix Tabelle :-D /*
    vor 3 Wochen 4 Tagen
  • Textboxen mit Tabelle
    vor 3 Wochen 4 Tagen
  • Du sollst ja auch keine
    vor 3 Wochen 4 Tagen
  • Theme
    vor 3 Wochen 4 Tagen
  • Welches Theme benutzt du
    vor 3 Wochen 5 Tagen
  • Mit Responsive Raster hatte
    vor 3 Wochen 5 Tagen
  • Hallo Alex,um das Häkchen
    vor 3 Wochen 6 Tagen
  • Modul view_unpublished
    vor 4 Wochen 4 Stunden
  • Modul "override node options"
    vor 4 Wochen 22 Stunden
  • Im Grunde ist dass ein
    vor 4 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250270
Registrierte User: 20483

Neue User:

  • Aathivithyah
  • Aoirhic
  • Stevebok

» Alle User anzeigen

User nach Punkten sortiert:
wla9463
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 50 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