Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

Modulinterne AJAX-Funktion auf modulinterne PHP Datei lenken

Eingetragen von geoport (101)
am 20.07.2015 - 11:42 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x oder neuer

Hallo Forum,

ich habe ein Modul geschrieben, welches URLs verarbeitet. Das heißt ich habe an beliebiger Stelle einen Button, welcher ein Overlay erzeugt. Dieses Overlay beherbergt ein Formular mit einem input-Feld. In das Inpit-Feld wird eine URL eingefügt. Meine Ajax-Funktion schickt diese URL nun an eine PHP-Datei (ich nenne Sie proxyparser.php) und liefert ein geparstes Dokument an meine Anwendung zurück. Aktuell habe ich die php Datei direkt im "home" ordner unter /php/proxy.php. Kann ich irgendwie steuern, das ich die Datei in meinem Modul hinterlege und die Datei trotzdem finde?

In meinem Javascript-Code
steht folgendes
[code]
jQuery.ajax({
type:'POST',
url: '/php/proxyparser.php', //hier hätte ich gerne einen Pfad zur Datei, welche im Modulordner hinterlegt wird.
data: {'url':jQuery('#url').val()},
context: document.body
})
[/code]

‹ Hilfe bei der Entwicklung eines Formulares Modulinterne AJAX-Funktion auf modulinterne PHP Datei lenken ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

schau mal nach base_path()

Eingetragen von ronald (3857)
am 20.07.2015 - 13:46 Uhr

Damit solltest du alles bekommen können, was du brauchst.
Auch wenn due den ersten / weglässt, bist du innerhalb.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo, du benötigst

Eingetragen von Hyp1 (1463)
am 20.07.2015 - 14:08 Uhr

Hallo,

du benötigst drupal_get_path um den Pfad relativ zum modul Ordner zu bekommen.
https://api.drupal.org/api/drupal/includes!common.inc/function/drupal_get_path/7
drupal_get_path('module', '<deinmodulname>').'/php/<deinedatei>.php';
So, kannst Du dein Modul beliebig verschieben, ohne den Pfad anpassen zu müssen.

MfG

Robert

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi Robert, wenn ich PHP Code

Eingetragen von geoport (101)
am 20.07.2015 - 14:33 Uhr

Hi Robert,

wenn ich PHP Code bin ist mir das bewusst, aber geht das auch direkt in Javascript so?

Hi Ronald,
wenn ich das mit base_path mache bin ich ja nur im Kernordner und nicht in den Modulen.

mit bestem Gruß und vielen Dank für eure Lösungsansätze

  • Anmelden oder Registrieren um Kommentare zu schreiben

egal was du tust

Eingetragen von ronald (3857)
am 20.07.2015 - 14:41 Uhr

wichtig ist doch, dass du weißt wo du bist.

Einfach als Gedanke: du könntest dir im Template eine Variable setzen lassen, die sich aus dem Modulpfad (get_path) und einem Zusatzpfad zusammensetzt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

das ist nicht ganz so

Eingetragen von geoport (101)
am 20.07.2015 - 15:07 Uhr

das ist nicht ganz so einfach, wenn ich das ganze auf einer lokalen Installations bastel brauche ich loacalhost/projekt/sites/all...., wenn ich aber www.domain.de/sites/all unterwegs bin sieht das anders aus. auf diese prüfung wollte ich gerne verzichten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi,du kannst es wie folgt

Eingetragen von Hyp1 (1463)
am 20.07.2015 - 15:37 Uhr

Hi,

du kannst es wie folgt machen.

In der init Funktion Deines Moduls:

$my_settings = array(
  'meinpfad' => drupal_get_path('module','<deinmodul>').'/php/<deinedatei>.php';,
  'meineoption' => 'irgendwas'
);
drupal_add_js(array('<deinmodul>' => $my_settings), 'setting');

Dann kannst Du in javascript auf die Variablen in Drupal settings wie folgt zugreifen:

var basePath = Drupal.settings.<deinmodul>.meinpfad;
var option = Drupal.settings.<deinmodul>.meineoption;

Gruss

Robert

PS: Sorry, nochmal bearbeitet. War ein Typo im code ;-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Super danke, das ist es.

Eingetragen von geoport (101)
am 20.07.2015 - 15:34 Uhr

Super danke, das ist es.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Best venues and rates for jet ski and aqua bike rental options in Tenerife Sur
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • 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
Weiter

Neue Kommentare

  • Verwende doch das Tag dafür,
    vor 5 Tagen 9 Stunden
  • Guckst du hier: step by step
    vor 4 Tagen 23 Stunden
  • Guckst du hier: step by step
    vor 4 Tagen 23 Stunden
  • Ich habe ja keine Angst vor
    vor 2 Wochen 9 Stunden
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 2 Wochen 2 Tagen
  • Vielen Dank erst einmal, aber
    vor 2 Wochen 4 Tagen
  • Du hast die "Trusted host
    vor 2 Wochen 4 Tagen
  • Bitte genauer den aktuellen Lösungs-Ansatz beschreiben
    vor 4 Wochen 3 Tagen
  • Git und rsync sind die wichtigsten Werkzeuge
    vor 5 Wochen 3 Stunden
  • Arrrrg. Nix Tabelle :-D /*
    vor 9 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250285
Registrierte User: 20499

Neue User:

  • Rickienurce
  • Inga GuAph
  • Robertolix

» Alle User anzeigen

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