Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

Eigene Seite mit eigenen (GET-)Parametern

Eingetragen von der Jörchen (6)
am 30.08.2007 - 20:33 Uhr in
  • Allgemeines zu Drupal

Hey Ihr,

ich bin gerade dabei eine PHP in Drupal einzubinden. Soweit kein Problem, allerdings möchte ich, dass dieses Seite über mod_rewrite aufgerufen wird, also dann auf die Übergebenen Get-Parameter zugreift.

Hierzu habe ich:
1) Neue Drupal Seite, hier mit dem Name 'test' erstellt
2) Meinen PHP-Code dort eingbunden

3) Einen mod_rewrite - Aufruf in die .htaccess gelegt, die wie folgt aussieht:

--> RewriteRule ^/testaufruf/([0-9]+)/(.+)/$ /test/?id=$1 [L]

Nun sollte also wenn ich "example.com/testaufruf/3/abc/" eingebe, meine Drupal-Seite kommen, auf der ich den Parameter ID auslesen kann - Funktioniert aber nicht, ich bekomme einen 404-Error.

Gibt es für sowas eine elegantere Lösung in Drupal? Und warum funktioniert es so nicht?

Vielen vielen Dank für Eure Unterstützung,
der Jörchen

‹ problem: admintheme wechselt immer zu default theme beim klick auf "inhalt erstellen" Umstieg von PHP4 auf PHP5 => Probleme? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Was hast Du vor?

Eingetragen von profix898 (140)
am 30.08.2007 - 21:26 Uhr

Also ich hab ja keine Ahnung, was Du eigentlich vor hast ...

Zitat:

RewriteRule ^/testaufruf/([0-9]+)/(.+)/$ /test/?id=$1 [L]

Bei dieser Zeile solltest Du folgendes bedenken:
1. Position in .htaccess könnte wichtig sein
2. Kurze URLs, z.B. http://mydomain.de/testaufruf werden schon in folgende Form umgeschrieben http://mydomain.de/index.php?q=testaufruf (Deshalb in #1 der Verweis auf die Position). Wenn man Deine RewriteRule vorher zusätzlich anwendet, kommt sowas bei raus http://mydomain.de/index.php?q=testaufruf/?id=.... Und das ist sicher keine gültige Adresse.
3. Warum versuchst Du überhaupt, die Adresse umzuschreiben? Du kannst das doch wunderbar auch lassen wie es ist, oder?

Du solltest hier vielleicht ein paar Worte darüber schreiben, was Du genau realisieren willst. Ich bin sicher, es gibt dafür einen wesentlich einfacheren und eleganteren Weg.

  • Anmelden oder Registrieren um Kommentare zu schreiben

auch ohne mod_rewrite, mit URL-Alias

Eingetragen von Q-Base (339)
am 01.09.2007 - 11:02 Uhr

Hallo,

ich würde sagen, das geht ohne mod_rewrite, dafür aber in zwei Schritten.

Du hast deine PHP-Seite als Body und ich nehme mal an, dass diese Seite sich selbst verlink, zum Beispiel für ein Formular oder sowas. Dann erstellst du die Seite wie gehabt. Dadurch erhält die eine ID (wie 25). Damit deine Seite aber nun unter 'testaufruf' erreichbar ist, nimmst du einfach einen URL-Alias. Das kannst du entweder in der 'Verwaltung' machen oder gleich beim Editieren im Node.

Dann editierst du deine PHP-Seite ein zweites Mal und schreibst die Links und Referenzen so um, dass daraus Pfade wie '/testaufruf?name1=value1&name2=value2' werden. Zwar hast du dann immernoch eine Query, aber du brichst dir keinen ab.

Wenn du ein wenig in der API (http://api.drupal.org) suchst, es gab mal eine Funktion, die dir die Parameter aus dem Request zurücklieferte. Ich habe schon nachgeschaut, weiß aber den Namen nicht mehr.

Ciao, Q

  • Anmelden oder Registrieren um Kommentare zu schreiben

arg()

Eingetragen von profix898 (140)
am 01.09.2007 - 16:28 Uhr
Zitat:

eine Funktion, die dir die Parameter aus dem Request zurücklieferte

Die Funktion heißt arg(). Bei einer URL wie 'domain.de/abc/def/' liefert arg(0) => 'abc' und arg(1) => 'def' etc. (siehe http://api.drupal.org/api/function/arg/5).

Wie gesagt - Ein paar Worte, was Du realisieren willst, wären aber hilfreich, wenn Du eine 'vernünftige' Antwort haben willst.

  • 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 1 Tag 22 Stunden
  • Guten morgen und Danke
    vor 2 Tagen 4 Stunden
  • Evtl. versuchen auf PHP 8 zu wechseln
    vor 2 Tagen 11 Stunden
  • Danke Schmittrich. Die Frage
    vor 4 Tagen 2 Stunden
  • Keine Antwort auf die Frage nach dem Woher
    vor 4 Tagen 5 Stunden
  • Danke ich werde mir die
    vor 6 Wochen 1 Tag
  • Vielen Dank für Ihren
    vor 6 Wochen 4 Tagen
  • Composer ist sehr ratsam
    vor 6 Wochen 6 Tagen
  • 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 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