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 - 10: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 - 12: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 - 13: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 - 13: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 - 13: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 - 14: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 - 14: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 - 14:34 Uhr

Super danke, das ist es.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Best Practices for Plain Text Notes
  • gepatchte PHP Version 7.4 für Windows
  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
Weiter

Neue Kommentare

  • Muss ja nicht genau php 8.3 sein
    vor 2 Tagen 7 Stunden
  • Guten morgen und Danke
    vor 2 Tagen 13 Stunden
  • Evtl. versuchen auf PHP 8 zu wechseln
    vor 2 Tagen 20 Stunden
  • Danke Schmittrich. Die Frage
    vor 4 Tagen 11 Stunden
  • Keine Antwort auf die Frage nach dem Woher
    vor 4 Tagen 14 Stunden
  • Danke ich werde mir die
    vor 6 Wochen 2 Tagen
  • Vielen Dank für Ihren
    vor 6 Wochen 5 Tagen
  • Composer ist sehr ratsam
    vor 7 Wochen 42 Minuten
  • Vielen Dank für den
    vor 7 Wochen 2 Tagen
  • Die alten CMS Vergleiche von contentmanager.de
    vor 7 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250324
Registrierte User: 20571

Neue User:

  • alxshell
  • FesObsemo
  • AnthonyhoF

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
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