[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
ID's aus Url extrahieren und an ein Modul übergeben? - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
unshape
Beiträge: 12
Registriert: 27. Jan 2006, 11:29

ID's aus Url extrahieren und an ein Modul übergeben?

31. Aug 2006, 15:13

Hallo,

ich gebe bisher eine Liste aus Six über z.B. diese Domain aus:

http://domain/meldungen/

Die Liste wird über ein Modul included welches dem Artikel "meldungen"
zugewiesen ist. Die Liste besteht aus Meldungen mit Text und einem
Mehr-Link pro Meldung.
Der Mehr-Link verweisst z.B. (schon umgebaut für Redaxo) auf folgene
url:

http://domain/meldungen/123456

Wenn ich jetzt einen der Mehr links Klicke muss ich natürlich auf die
Six-Id (123456) in der url reagieren. Wie mach ich das, hat jemand
sowas schon mal gemacht?

Mein Problem ist vor allem, dass die url "/domain/meldungen/123456"
ja nicht in der Stuktur existiert, dort gibt es ja nur "/domain/meldungen/"?!

Kann ich das per mod_rewrite lösen?

Ich arbeite mich gerade erst so richtig in Redaxo rein und bin für
jeden Tipp dankbar.

_Heiko
- coding for food -
- god is real (unless declared integer) -

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

31. Aug 2006, 15:55

Hi Heiko,

was ist eine Six-Id? Kommt die aus dem Six-CMS?

Wenn du für/in REDAXO Urls erzeugst, dann immer über die rex_getUrl() Funktion. Ob du dann noch mod_rewrite verwendest oder nicht, kannst du selbst entscheiden... Wenn du aber die Urls starr mit z.b. "http://domain/meldungen/123456" generierst, bist du dann sehr unflexibel.

Gruß,
Markus

unshape
Beiträge: 12
Registriert: 27. Jan 2006, 11:29

31. Aug 2006, 16:20

@kills

Hi Markus,

ja, die Six-Id kommt aus dem Six-CMS - die Liste wird direkt dort formatiert und per Include eingelesen.

Die Funktion rex_getUrl() generiert mir aber doch nur Links für Artikel in Redaxo?!

Wenn ich "http://domain/meldungen/" aufrufe wird ja die Seite "/meldungen" geladen mit dem Startartikel. Wenn ich jetzt aber "http://domain/meldungen/123456" aufrufe, soll anstatt dem Startartikel z.B. der Artikel mit der ID 123456 aus Six includiert werden. Aber da der Link eben nicht auf "/meldungen" sondern auf "/meldungen/123456" geht wird natürlich nicht die selbe Seite wie bei "/meldungen" aufgerufen wo ich ja auf die Six ID reagieren könnte.

Weisst du wie ich das meine oder war das jetzt zu verwirrend?

_Heiko
- coding for food -
- god is real (unless declared integer) -

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

31. Aug 2006, 19:54

Hej,

mich erschließt es noch nicht ganz warum du die Inhalte aus SIXCMS über Redaxo darstellen lassen willst.

Warum diese Kombination überhaupt?


vg Thomas

unshape
Beiträge: 12
Registriert: 27. Jan 2006, 11:29

31. Aug 2006, 20:39

@tbaddade

Hallo Thomas,

der Kunde möchte seinen Content mit Six pflegen aber wir bauen seinen neuen Auftritt mit Redaxo da wir damit sehr gute Erfahrung gemacht haben.

Das Problem ist im Prinzip ja nur - wie bekomme ich eine ID aus einer url in ein Modul um darauf zu reagieren.

_Heiko
- coding for food -
- god is real (unless declared integer) -

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

31. Aug 2006, 20:47

Hi Heiko,

um diese Id in deinem Modul so auszuwerten, musst du wohl mod_rewrite einsetzen...

Allerdings bin ich wie Thomas auch sehr überrascht, wieso der Kunde die Daten über Six-CMS Pflegt, ihr diese dann aber über REDAXO ausgeben wollt...

Warum dieser unnötige Schritt? Six-CMS ist ein sehr teures und bestimmt für diesen Zweck geeignete CMS (dein Kunde will es schließlich)... Warum nicht einfach den Artikel über SIX-CMS anzeigen?

Gruß,
Markus

unshape
Beiträge: 12
Registriert: 27. Jan 2006, 11:29

31. Aug 2006, 20:55

@kills

Hallo Markus,

weil es in Redaxo leichter und schneller umzusetzen ist als in Six, denke ich.

Das werde ich das wohl mit mod_rewrite lösen. Wie ist das eigentlich, wenn "/meldungen/" in der Stuktur eingetragen ist, "/meldungen/sonstwas" aber nicht - wie reagiert Redaxo dann?

_Heiko

PS: Eure Anfahrtsbeschreibung auf Public-4u liefert übrigends einen 404er?!
- coding for food -
- god is real (unless declared integer) -

Benutzeravatar
Jan.Kristinus
Admin
Beiträge: 2166
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt
Kontaktdaten: ICQ Website

31. Aug 2006, 21:09

Hallo Heiko,

REDAXO reagiert nur auf index.php?article_id=xy und die eventuellen sprachabhaengigen urls.. wenn eine spezielle url aufgerufen wurde z.b. /meldungen/syz/sonstwas , so ist die reaktion abhaengig von der entsprechenden umwandlung der url (welche nicht von redaxo selbst geschieht, sondern meistens über modrewrite/apache).. redaxos urlrewriter-addons sorgen nur dafuer das die passenden urls generiert werden und die passenden "wandler" (z.b. .htaccess) eingesetzt werden.

Wenn Du speziellere Fragen hast kannst Du Dich gerne per PM bei mir melden. Musste auch schon mehrmals mit SIX CMS arbeiten..

lg

Jan
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/

unshape
Beiträge: 12
Registriert: 27. Jan 2006, 11:29

1. Sep 2006, 02:22

Hallo Jan,

danke für das Angebot.

Ich hab das jetzt mal so gelöst (nur für den Fall daß jemand das selbe Problem hat):

Zuerst splitte ich die REQUEST_URI per mod_rewrite in der .htaccess auf:

Code: Alles auswählen

RewriteCond %{REQUEST_URI}  /[0-9]+$
RewriteRule ^(.*/)([0-9]+)$ $1?sixaid=$2 [L]
So wird z.B. aus: http://domain/meldungen/123456 => http://domain/meldungen/?sixaid=123456

Dannach frage ich in der index.php die $_GET['sixaid'] ab und setze die REQUEST_URI neu:

Code: Alles auswählen

// wenn sixaid gesetzt -> sixaid aus request_uri löschen
if (isset($_GET['sixaid']) and $_GET['sixaid'] != '') {
  $_SERVER['REQUEST_URI'] = str_replace($_GET['sixaid'], '', $_SERVER['REQUEST_URI']);
}
Dannach wird dann ja durch einen Internen Redirect wieder die .htaccess durchlaufen und der für "/meldungen/" registrierte Artikel ausgegeben - mit dem Unterschied, dass ich jetzt die Six ID habe die ich dann z.B. über ein Modul auslesen und ausgeben kann.

So funktioniert es jedenfalls, auch wenn es sicher noch andere Lösungen dafür gibt.

_Heiko
- coding for food -
- god is real (unless declared integer) -

Plakinger
Beiträge: 8
Registriert: 8. Jul 2009, 13:03
Kontaktdaten: Website

18. Okt 2009, 20:22

Hallo,

ich habe ein ähnliches Problem. Ich verwende url_rewrite mit fullnames und die Get Variablen sollen schön in der Url dargestellt werden. Ich habe zum Beispiel einen Kleinanzeigenmarkt in welchem die ID wie folgt übergeben wird

http://domain.de/kleinanzeigen/detail.php?id=5

Für die Suchmaschinen soll ein Link nun wie folgt aussehen:

http://domain.de/kleinenzeigen/5-Titel- ... nzeige.php

Eine Url nach diesem Schema zu erstellen ist nicht das Problem. Mit einem Eintrag in der .htaccess kann ich die ID auch aus der URL splitten.

Mit der von unshape Beschriebenen Lösung kann ich auch die ID aus dieser Url herauslesen und die nicht benötigten Zeichen löschen. Somit wird aus http://domain.de/kleinenzeigen/5-Titel- ... nzeige.php wieder http://domain.de/kleinenzeigen/detail.php?id=5 . Nur finde ich diese Lösung ein bisschen quick and dirty, da die index.php verändert werden muss.

Kann mir jemand helfen wie man dieses Problem sauber lösen kann? Ich habe schon versucht die Funktion auslesen der ID und umwandeln der URL an Extension Points zu hängen - Ohne Erfolg.

Gruß Martin

Zurück zu „Allgemeines [R3]“