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

  • Rolle erstellen nicht zu finden
  • 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
Weiter

Neue Kommentare

  • Rollen
    vor 16 Stunden 45 Minuten
  • Inzwischen sind wir bei
    vor 1 Woche 4 Tagen
  • Migrieren von D7 auf D8/ D10/ D11
    vor 1 Woche 5 Tagen
  • melde mich mal wieder, da ich
    vor 9 Wochen 2 Tagen
  • Hey danke
    vor 9 Wochen 3 Tagen
  • Update: jetzt gibt's ein
    vor 9 Wochen 3 Tagen
  • Hallo, im Prinzip habe ich
    vor 10 Wochen 1 Tag
  • Da scheint die Terminologie
    vor 10 Wochen 1 Tag
  • Kannst doch auch alles direkt
    vor 10 Wochen 5 Tagen
  • In der entsprechenden View
    vor 10 Wochen 5 Tagen

Statistik

Beiträge im Forum: 250237
Registrierte User: 20464

Neue User:

  • ocvk2810
  • marouane.blel
  • capilclinic

» 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 25 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