[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
[Gelöst] URL für ein Modul in Addon umschreiben (rexSEO) - 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/
Benutzeravatar
runstop64
Beiträge: 369
Registriert: 23. Okt 2012, 21:34
Wohnort: Hamburg
Kontaktdaten: Website Facebook Twitter

[Gelöst] URL für ein Modul in Addon umschreiben (rexSEO)

1. Feb 2013, 13:43

Hallo,

ich bohre für eine Website gerade das Portfolio-Addon auf und versuche unter anderem die über URL-Parameter gesteuerte Modul-Ausgabe durch die rexSEO Pathlist umzuschreiben.
Allerdings habe ich nun das Problem, dass ich in der config.inc.php, wo ich den EP zur Pathlist-Generierung anspreche, nicht weiß, in welchen Artikeln das Portfolio-Ausgabe-Modul eingebunden ist.

Daher meine Fragen:
Wie kann ich in einem Addon die IDs aller Artikel ermitteln in denen ein bestimmtes Modul eingebunden ist, und diese dann noch unterscheiden? Im Notfall kann ich das wohl über MySQL-Abfragen machen, oder gibt es einen internen Weg über Redaxo?
oder:
Kann ich die URLs auch ohne Pathlist zur Laufzeit umschreiben?
Ich habe es zwar geschafft, die URL-Ausgabe über REXSEO_POST_REWRITE zu ändern, weiß aber nicht, wo ich die URL-Anfragen (z.B. beim Klicken auf einen Link) abfange und zurückwandle. Läuft so etwas über REXSEO_ARTICLE_ID_NOT_FOUND?

Ich freue mich über jeden Tip!
Schon mal Danke und viele Grüße,
Daniel
Zuletzt geändert von runstop64 am 1. Feb 2013, 21:25, insgesamt 1-mal geändert.
Viele Grüße,
Daniel


studio-ahoi.de | Referenzen | Friends Of REDAXO

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

Re: URL für ein Modul in Addon umschreiben (rexSEO)

1. Feb 2013, 14:35

Du müßtest nochmal konkreter beschreiben was genau dein Addon macht (klingt nach DB mit Inhalten die über parameter gesteuert vom Modul ausgegeben werden..)

Grundsätzlich: wenn du - was du solltest - rex_getUrl() verwendest, dann werden die paramater anhand des Schemas das du in Rexseo eingestellt hast umgeschrieben. Wenn du stattdessen "richtige" custom URLs willst, und keine URL mit parameter dran, dann mußt du etwas weiter ausholen. Dann würde es sich anbieten die pathlist um deine custom URLs per EP zu erweitern. Wenn ich dich richtig verstehe, dann hast du mehrer Artikel mit dem Modul wo die Ausgabe der DB Sachen erfolgen soll.. folglich: N x custom URL je Artikel.. logischerweise mußt du dich dabei um eineindeutige URLs kümmern.

Falls das den Rahmen sprengt.. z.b. weil dann schlicht viel zu viele URLs entstünden die die pathlist lachhaft aufblähten, dann könntest du dich daran versuchen per eigener rewrite rule in der htaccess bestimmte URLs (sprich nach einem Pfad Schema z.b.) an einen eigenen rewrite zu übergeben.. etwas in der Richtung gabs iirc hier schon mal im Forum.. müßtest bischen suchen..
vg, Jan

Benutzeravatar
runstop64
Beiträge: 369
Registriert: 23. Okt 2012, 21:34
Wohnort: Hamburg
Kontaktdaten: Website Facebook Twitter

Re: URL für ein Modul in Addon umschreiben (rexSEO)

1. Feb 2013, 15:51

Hi Jan,

danke für deine schnelle Antwort.
Ja, das Portfolio-Addon stellt zusätzliche DB-Daten zur Verfügung, die dann parametergesteuert durch ein Modul abgefragt und ausgegeben werden.
Die Artikel-URL wird über rexSEO umgeschrieben. An der Artikel-URL hängt ein Paramter, der die DB-ID des Portfolio-Objekts angibt (http://www.url.de?object=1). Damit kann ich dann aus der DB eine zugeordnete Kategorie und den Namen des Objekts holen und die URL umschreiben (also http://www.url.de/kategorie/objektname).

Das Problem ist, dass die Website ein Kundenprojekt ist und die URL-Generierung möglichst dynamisch ablaufen sollte, da Kategorien und Objekte zu jederzeit hinzugefügt werden können.

Ich habe zwei Ansätze, bei denen es aber jeweils noch einen Haken gibt:
1. Ich greife in der config.inc.php des Addons auf den EP "REXSEO_PATHLIST_CREATED" zu und erweitere die Pathlist um die Daten (wie oben), die Pathlist wird auch ordnungsgemäß geschrieben.
-> Allerdings weiß ich hier nicht, wie ich die benötigten Artikel-IDs ermitteln kann.
Mein Ansatz wäre hier, über die ID des Moduls dessen Verwendung in den Artikeln zu ermitteln, deren ID abzufragen und daraus dann mögliche URLs zu bauen. Ist das mit Redaxo-Bordmitteln möglich oder läuft das nur über einen direkten MySQL-Query?
Eine Möglichkeit, nur Teil-URLs, ohne Artikel-IDs zu erzeugen gibt es wohl nicht?

2. Ich schreibe nicht extra eine Pathlist, sondern hänge mich über den EP "REXSEO_POST_REWRITE" an rexSEO an und schreibe meine Parameter nach dem Schema oben um. Das klappt auch problemlos, allerdings wird beim Klick auf einen Link dann natürtlich nach http://www.url.de/kategorie/objektname gesucht.
-> Ich muss den Aufruf also irgendwie abfangen und wieder zurückschreiben können, damit Redaxo weiß, wo es suchen muss. Wegen des nötigen DB-Zugriffs kann ich das wohl nicht über .htaccess machen. Eine Möglichkeit wäre also, alle URLs, die nicht gefunden werden per EP "REXSEO_ARTICLE_ID_NOT_FOUND" zu prüfen und bei Bedarf umzuschreiben. Ist das richtig, oder gibt es einen direkteren Weg?

Ich tendiere momentan zu 1., da das Performance-mäßig wohl die bessere Alternative ist.

Viele Grüße,
Daniel
Viele Grüße,
Daniel


studio-ahoi.de | Referenzen | Friends Of REDAXO

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

Re: URL für ein Modul in Addon umschreiben (rexSEO)

1. Feb 2013, 16:12

runstop64 hat geschrieben:Mein Ansatz wäre hier, über die ID des Moduls dessen Verwendung in den Artikeln zu ermitteln, deren ID abzufragen und daraus dann mögliche URLs zu bauen. Ist das mit Redaxo-Bordmitteln möglich ..
Ja.. mußt mal kucken welche Funktion das ist.. aber wenn du unter Module mal eines löschen willst, dann bekommst ja eine Liste der Artikel wo es in Verwendung ist -> das wär imho dein Freund.

Ansonsten gabs hier vor recht kurzem ein imho weitgehend identisches Szenario.. hab mich dort auch iirc en detail zum Vorgehen geäußert.. ging iirc um ne Baumaschinen Datenbank.
vg, Jan

Benutzeravatar
runstop64
Beiträge: 369
Registriert: 23. Okt 2012, 21:34
Wohnort: Hamburg
Kontaktdaten: Website Facebook Twitter

Re: URL für ein Modul in Addon umschreiben (rexSEO)

1. Feb 2013, 21:24

So,

im Prinzip funktioniert es tatsächlich so, wie ich es mir dachte:
- Artikel-IDs anhand des Moduls ermitteln
- damit die rexSeo Pathlist erstellen und die URL-Aufrufe umschreiben

Für
2. Ich schreibe nicht extra eine Pathlist
habe ich auch einen Ansatz gefunden: http://www.redaxo.org/de/forum/allgemei ... 18567.html

Danke für die tips, Jan!

Viele Grüße,
Daniel
Viele Grüße,
Daniel


studio-ahoi.de | Referenzen | Friends Of REDAXO

Zurück zu „Allgemeines [R4]“