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

  • Netx360
  • 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
Weiter

Neue Kommentare

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

Statistik

Beiträge im Forum: 250271
Registrierte User: 20479

Neue User:

  • Floydphymn
  • Stevebok
  • Robertnobia

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