[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Url - ehemals Url Control, ehemals Frau Schultze - 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
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Url - ehemals Url Control, ehemals Frau Schultze

10. Feb 2016, 18:14

Hej,

REDAXO 5 AddOn zur URL-Generierung für Daten aus den Datenbanktabellen.

Eine ausführlichere Beschreibung und die Benutzung findet man auf https://github.com/tbaddade/redaxo_url

Du hast einen Fehler gefunden oder ein nettes Feature parat? Lege ein Issue an. https://github.com/tbaddade/redaxo_url/issues

vg Thomas

PXDemon
Beiträge: 147
Registriert: 26. Jul 2007, 14:25

Re: Url - ehemals Url Control, ehemals Frau Schultze

14. Feb 2016, 12:01

Super bin es gerade am antesten.

Ich hab mir die Beispiele auf https://github.com/tbaddade/redaxo_url durchgelesen, aber denke das ich das nicht benötige. Da man im Addon selber ja schon die URL generiert und ich dann ja quasi nur in meinem Addon Output mir den link selber zusammen baue?

Im Addon habe ich eine URL angelegt und ausgewählt das er Vor und Nachnamen nehmen soll und als Identifier halt ID und als Ausgabeseite (profil) mit angegeben.

Wenn ich aber jetzt versuche die generierte URL zbs (...mitarbeiter/profil/mein-name) aufrufe bekomme ich einen 404. Yrewrite ist natürlich aktiviert. :-/

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

Re: Url - ehemals Url Control, ehemals Frau Schultze

14. Feb 2016, 20:41

Hej,
PXDemon hat geschrieben:Ich hab mir die Beispiele auf https://github.com/tbaddade/redaxo_url durchgelesen, aber denke das ich das nicht benötige.
Das Beispiel soll zeigen, wie man in der Modulausgabe die Id des Datensatzes holt bzw. die Url generiert.

Warum der 404 kommt, kann man schwer von außen beurteilen. Ein Backendzugang via PM würde sehr helfen.

vg Thomas

PXDemon
Beiträge: 147
Registriert: 26. Jul 2007, 14:25

Re: Url - ehemals Url Control, ehemals Frau Schultze

14. Feb 2016, 22:59

Hi Thomas,

vielen Dank für dein Feedback. Ich verstehe noch nicht genau wie mein Addon, bzw das Outputscript was die Daten ans Frontend gibt, weiß welchen Datensatz er ziehen muss da er ja als Orientierungspunkt nur das was in der URL steht hat.

Würde dir gerne einen Zugang geben, aber das Projekt ist zur Zeit nur hier auf meinem Localhost.
Wegen dem 404 bin ich auch noch nicht schlauer geworden. Evtl liegt es auch am Yrewrite, dort ist scheinbar das / problem noch nicht gefixt, hatte zumindest das letzte Update gemacht aber die Startseite funzt bei mir immer noch nicht (siehe anderer Post.) Das nur nebenbei, aber evtl liegt es ja schon daran das URL Control mir einen 404 liefert :-/

Soll ich dir ein paar Screenshots posten? Wenn ja sag an welche, evtl kommt man der Sache auf die schliche.

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

Re: Url - ehemals Url Control, ehemals Frau Schultze

15. Feb 2016, 09:38

Hej,
PXDemon hat geschrieben:Ich verstehe noch nicht genau wie mein Addon, bzw das Outputscript was die Daten ans Frontend gibt, weiß welchen Datensatz er ziehen muss da er ja als Orientierungspunkt nur das was in der URL steht hat.
Die Primary Id des Datensatzes holst du dir so:

Code: Alles auswählen

$dataId = UrlGenerator::getId();
Ist die Id größer 0, wurde anhand der Url ein Datensatz gefunden und du setzt einen Query zu deiner Datenbank ab. Siehe im Bsp. auf Github

Code: Alles auswählen

if ($newsDataId > 0) {
   
}
PXDemon hat geschrieben:Wegen dem 404 bin ich auch noch nicht schlauer geworden. Evtl liegt es auch am Yrewrite, dort ist scheinbar das / problem noch nicht gefixt, hatte zumindest das letzte Update gemacht aber die Startseite funzt bei mir immer noch nicht (siehe anderer Post.)
Wichtig wäre natürlich das Yrewrite erst einmal bei dir richtig läuft.
PXDemon hat geschrieben:Das nur nebenbei, aber evtl liegt es ja schon daran das URL Control mir einen 404 liefert
Url liefert dir keinen 404, das macht Yrewrite.
Es läuft folgendermaßen.

Anhand der Url versucht Yrewrite einen Artikel zu finden. Wird keiner gefunden, wird ein ExtensionPoint ausgelöst an dem sich Url hängt und ebenfalls versucht anhand der Url einen Artikel zu finden und gibt die Daten an Yrewrite zurück. Sind die Daten korrekt erscheint der Artikel, wurde keine Artikel-Id gefunden erscheint der Fehlerartikel.
Zum Verständnis. Da es bei Url den eigentlichen Artikel der Domain nicht gibt, wird ein anderer Artikel zurückgegeben. Bsp. domain.de/profile/nachname/ Gibt die Artikel-Id von domain.de/profile/ zurück

PXDemon hat geschrieben:Soll ich dir ein paar Screenshots posten? Wenn ja sag an welche, evtl kommt man der Sache auf die schliche.
Kannst du gern machen. Wichtig wäre nur das Yrewrite erst einmal läuft.

1/ Wieviele Sprachen hast du angelegt?
2/ Screenshot vom Formular im Url Addon, welche Einstellungen hast du getätigt?
3/ Modulausgabe deines Skriptes.

vg Thomas

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

Re: Url - ehemals Url Control, ehemals Frau Schultze

17. Feb 2016, 00:24

Konntest du dein Problem beheben?

PXDemon
Beiträge: 147
Registriert: 26. Jul 2007, 14:25

Re: Url - ehemals Url Control, ehemals Frau Schultze

18. Feb 2016, 23:22

Sorry war die Tage wo anders schwer beschäftigt.
Vielen Dank für deine ausführliche Beschreibung, danke!
Ich lese es mir direkt mal durch und schaue... melde mich dann hier direkt wieder!

PXDemon
Beiträge: 147
Registriert: 26. Jul 2007, 14:25

Re: Url - ehemals Url Control, ehemals Frau Schultze

19. Feb 2016, 00:42

Wowowo hier geht was.

Yrewrite:
Seit dem Update 2.0.1 steht jetzt (was vorher nicht dort stand) unter dem Reiter (Setup) folgendes.

Tipps
1. Alle Angaben unter System (Url der Webseite, Startartikel und Fehlerartikel) werden bei der Verwendung von YRewrite ignoriert.
2. Wird nur eine Domain benutzt muss das Feld Startpunkt der Domain bei den Domaineinstellungen leer bleiben!

Hier ist 2. der Weg zum Ziel, den hier hatte ich den Startartikel angegeben, was man nicht machen sollte. Einfach leer lassen dann nimmt er die Root.
Und dann geht es auch ohne www. in der Domain. Nun funktioniert es auch richtig mit einen eigenen Server/Host Name.

URL Control (Url):
Ich hatte die Ausgabe von Listing und Detail jeweils in zwei Dateien. Die Ausgabe fürs Listing hatte ich im Modul unter neuro.px/profile/ und die Ausgabe für das Detail im Modul unter neuro.px/profile/detail. Jedoch müssen logischerweise (Was ich jetzt registriert habe nach dem Github Beispiel) in eine Datei. Die URL zum Detail in dem Listing habe ich mir selber zusammen gebaut. Was aber jetzt mit

Code: Alles auswählen

<a href="' . rex_getUrl($newsArticleId, '', ['id' => $data['id']]) . '">' . $data['prename'] . '</a>
funktioniert. Die Variablen Namen werde ich später auf meine Bedürfnisse anpassen. War jetzt nur mal zum Test.

Die Seite /detail brauche ich jetzt natürlich nicht mehr weil ich die eine Modulausgabe jetzt ja das Listing und die Detailinformationen ausgibt. somit funzt neuro.px/profile/mein-name/ bestens ;-)

Soviel dazu, jetzt weiß ich wie es geht ;-)
Vielen Dank für deinen Einsatz Thomas. Evtl bringt der Thread ja auch anderen User etwas die wie ich auf dem Holz weg waren.

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

Re: Url - ehemals Url Control, ehemals Frau Schultze

19. Feb 2016, 09:33

Hej,

du musst nicht die Liste und Detailausgabe in einem Artikel haben. Du kannst es schon so machen, wie du hattest. Du hattest wahrscheinlich im Url Addon nur den Artikel falsch gesetzt. Der müsste nämlich der Detailartikel selbst sein.

So eine Url müsste generiert werden.
neuro.px/profile/detail/mein-name/

In der Liste kannst du dann via
rex_getUrl($detailArticleId, '', ['id' => $data['id']] die Url holen.

vg Thomas

PXDemon
Beiträge: 147
Registriert: 26. Jul 2007, 14:25

Re: Url - ehemals Url Control, ehemals Frau Schultze

20. Feb 2016, 11:04

Hey Thomas,

super vielen Dank, dann könnte ich es auch mit einer Detail Seite machen. Hab es jetzt einfach mal ohne gemacht, sieht in der URL auch besser aus, und hab beide Scripte in eine Datei gepackt.

Aber sehr gut zu wissen das es auch anders geht (y)

PXDemon
Beiträge: 147
Registriert: 26. Jul 2007, 14:25

Re: Url - ehemals Url Control, ehemals Frau Schultze

23. Feb 2016, 09:27

Hi, bin nun auf ein anderes Problem gestoßen.
Ich habe eine Seite Mitarbeiter und Mitarbeiter Detail. Da funktioniert alles bestens mit der URL. Und ich habe eine Seite mit Publikationen und Publikations details. Da funktioniert auch alles bestens mit der URL.

Jetzt kommts....
Ich gebe auf der Mitarbeiter Detailseite auch die zugehörigen Publikationen des Mitarbeiters aus. Leider gibt er mir nun beim Link der Publikation (der Ja auf die Publikationen zeigen soll) einen Link eines anderen MItarbeiters aus. Das hat wohl damit zu tun das im URL Addon unter der Mitarbeiter Seite ja die ID des Mitarbeiters liegt.

Sprich, ich müsste irgendwie angeben können auf welches Element im URL Addon ich explizit zu greifen will. Oder muss ich im URL Addon für die Mitarbeiter Seite ein weiteres Element anlegen das dann wiederum auf die Publikations Datenbank zugreift? Wie macht man das dann mit URL im Code des Mittarbeiter Moduls?

Oder bin ich hier völlig auf dem Holzweg!

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

Re: Url - ehemals Url Control, ehemals Frau Schultze

23. Feb 2016, 10:42

Hej,

du müsstest solch einen Link auf deiner Mitarbeiterseite generieren

Code: Alles auswählen

echo '<a href="' . rex_getUrl($projectArticleId, '', ['id' => $project['id']]) . '">' . $project['title'] . '</a>'
 
Dabei ist $projectArticleId die Artikel Id die unter Url Control angelegt hast.

vg Thomas

PXDemon
Beiträge: 147
Registriert: 26. Jul 2007, 14:25

Re: Url - ehemals Url Control, ehemals Frau Schultze

24. Feb 2016, 01:04

Oh yes (y) Danke fürs Feedback, das wars.
Ich hab nun den ID der (Publikationen) Seite wie Sie in der Seitenstruktur ist eingetragen, und schwupp dann hat es gefunkt. :D

Benutzeravatar
_DSP_
Beiträge: 123
Registriert: 18. Jul 2007, 11:29
Wohnort: Stuttgart
Kontaktdaten: Website

Re: Url - ehemals Url Control, ehemals Frau Schultze

8. Mär 2016, 15:03

Ich versuche auch gerade url zum Laufen zu bekommen und habe noch ein paar Probleme damit.

Es ist installiert und aktiviert, yrewrite läuft auch sauber.

Im Setup von url habe ich dann die enteprechende Tabelle und das Muster der URL festgelegt. Mit dem Beispielcode von Github bekomme ich auch eine Ausgabe, die entsprechende URL-Links nach dem festgelegten Muster generiert, der Link funktioniert dann aber nicht. Heisst, er führt auf den Ausgabeartikel (es kommt immerhin kein 404-Fehler, irgendwas klappt jedenfalls) - in der Adresszeile steht die Pseudo-URL.

Irgendwie habe ich das Gefühl, dass

Code: Alles auswählen

$newsDataId = UrlGenerator::getId();
die ID nicht richtig holen kann, da für

Code: Alles auswählen

$newsDataId = UrlGenerator::getId();
$newsArticleId = 42;

if ($newsDataId > 0) {
    $datas = rex_sql::factory()->getArray('SELECT * FROM feedback WHERE online = 1', [$newsDataId]);
    if (count($datas)) {
        $data = current($datas);
        echo $data['name']." aus ".$data['ort'];
    }... 
Immer Name und Ort der ID 1 ausgegeben werden.
----------------------
Rex rockt!
http://www.medienfeuer.de

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

Re: Url - ehemals Url Control, ehemals Frau Schultze

8. Mär 2016, 15:16

Hej,

in deinem Query fragst du im WHERE auch nicht die Id ab. Deshalb kommt da nichts sauberes zurück.

Code: Alles auswählen

$datas = rex_sql::factory()->getArray('SELECT * FROM feedback WHERE id = :id, online = 1', ['id' => $newsDataId]);
Im Bsp. Code steht

Code: Alles auswählen

id = ?
das hattest du gelöscht oder vergessen zu übernehmen.

vg Thomas

Benutzeravatar
_DSP_
Beiträge: 123
Registriert: 18. Jul 2007, 11:29
Wohnort: Stuttgart
Kontaktdaten: Website

Re: Url - ehemals Url Control, ehemals Frau Schultze

8. Mär 2016, 16:12

Ähem... oops :oops: Ja. Richtig :)

Mein Hauptproblem ist aber noch das Folgende:
Die URL wird pro Eintrag korrekt generiert, wenn ich mir alle ausgeben lasse:

Code: Alles auswählen

$newsDataId = UrlGenerator::getId();
$newsArticleId = 42;

$datas = rex_sql::factory()->getArray('SELECT * FROM feedback WHERE online = 1');
    if (count($datas)) {
        foreach ($datas as $data) {
            echo '<a href="' . rex_getUrl($newsArticleId, '', ['id' => $data['id']]) . '">'.$data['name']." aus ".$data['ort'] . '</a><br />';
        }
}
aber der Detaileintrag wird nicht aufgerufen, anstatt dessen wird auf den Ausgabeartikel (42) geleitet und in der Adresszeile steht die gewünschte URL.
----------------------
Rex rockt!
http://www.medienfeuer.de

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

Re: Url - ehemals Url Control, ehemals Frau Schultze

8. Mär 2016, 16:41

Hej,

du hast den Artikel mit der 42 in den Einstellungen auch ausgewählt?

Dann stimmt alles und du musst das in deinem Artikel 42 abfangen. Prüfe erst, ob die Url dir eine Id zurückgibt ansonsten lasse dir die Liste anzeigen.

Gern kannst du mir auch einen Zugang schicken, dann schaue ich mal direkt.

vg Thomas

Benutzeravatar
_DSP_
Beiträge: 123
Registriert: 18. Jul 2007, 11:29
Wohnort: Stuttgart
Kontaktdaten: Website

Re: Url - ehemals Url Control, ehemals Frau Schultze

8. Mär 2016, 16:53

Ja, der Artikel ist eingetragen... Hast ne PM - danke! :D
----------------------
Rex rockt!
http://www.medienfeuer.de

PXDemon
Beiträge: 147
Registriert: 26. Jul 2007, 14:25

Re: Url - ehemals Url Control, ehemals Frau Schultze

20. Mär 2016, 12:41

Hab mal ne Frage zum Thema Mehrsprachigkeit. Ich gebe ja die URL anhand des Titels aus. Ich habe in meinen Addons die Mehrsprachigkeit immer so das es pro Sprache ein Titel gibt.

title_lang1, title_lang2, title_lang3... title_lang10

Im URL Addon wähle ich ja eine DB Tabelle aus anhand die Adresse generiert wird. In meinem Fall also title_lang1. Wie ist es denn wenn ich im Redaxo nun eine zweite Sprache anlegen will (bisher bin ich einsprachig unterwegs, aber demnächst wird es eine weitere Sprachversion der Seite geben).

Kann man beim URL Addon, wenn man eine URL anlegt, dann entsprechend angeben für welche Sprache diese Generiert wird :?:

Danke und Grüße,
P

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

Re: Url - ehemals Url Control, ehemals Frau Schultze

20. Mär 2016, 22:13

Hej,

es gibt da 2 Möglichkeiten.

Die erste Möglichkeit ist, du legst die Datensätze so an wie du es beschrieben hast. Also die Sprachvarianten über weitere Datenbankfelder. Die zweite Möglichkeit ist, pro Sprache einen Datensatz zu generieren. Bei dieser Variante brauchst du dann zwingend ein Feld was dir die SprachId speichert (wie die rex_article oder rex_article_slice).

Beide Varianten kannst du mit dem AddOn abdecken. Die Sprachauswahl erscheint erst, wenn auch mehr als eine Sprache angelegt ist. Bei der ersten Variante müsstest du dann das ganze 2 mal anlegen. Einmal den Artikel wählen und die dazugehörige Sprache auf der rechten Seite.
Unter dem Label "Url" dann die Spalte auswählen, Bsp für Deutsch "title_1" und bei der englischen Variante "title_2".

vg Thomas

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

Re: Url - ehemals Url Control, ehemals Frau Schultze

20. Mär 2016, 22:21

Ich hab noch etwas interessantes vergessen. Wenn man eine zweite Datenbank in der config angibt, erscheinen auch die Tabellen dieser zweiten Datenbank als Auswahl.

Bsp. Das Hauptprojekt läuft auf einer 4er REDAXO Version. Hier werden alle Daten gepflegt. Eine kleinere Schwesterseite auf 5er Basis, die viel später online ging, greift auf die gesamten Daten der 4er Version zu. Die Urls werden in der 5er Version sozusagen mit den Daten der 4er Version erstellt. Anhand der Url erkennt dann das AddOn welcher Datensatz das ist und holt sich entsprechend die Daten aus der 4er Datenbank.

Mono
Beiträge: 23
Registriert: 20. Jul 2011, 08:56
Wohnort: Kunming

Re: Url - ehemals Url Control, ehemals Frau Schultze

27. Mär 2016, 06:01

Hallo Redaxo-Team,

erstmal freue ich mich riesig, dass Redaxo5 verügbar ist! Danke an die Entwickler und alle Beteiligten.

Wann lohnt es sich das Url Addon einzusetzen und wann nicht? Wenn ich 100.000 News damit umschreiben lasse, ist die pathlist.php dann nicht zu groß? Wo ist das Limit?

Danke

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

Re: Url - ehemals Url Control, ehemals Frau Schultze

29. Mär 2016, 08:14

Hej,
Mono hat geschrieben:Wann lohnt es sich das Url Addon einzusetzen und wann nicht?
Wenn du Daten direkt per AddOn oder YForm verwaltest. Für die Artikel selbst, wie News zum Beispiel, wird Yrewrite verwendet (wobei du News auch via AddOn/YForm ablegen kannst, alles Geschmackssache).


vg Thomas

PXDemon
Beiträge: 147
Registriert: 26. Jul 2007, 14:25

Re: Url - ehemals Url Control, ehemals Frau Schultze

5. Mai 2016, 12:33

Hi, ich hab ein Problem URLs zu generieren wenn ich auf einer Seite zwei unterschiedliche Bereich abdecken will. Ich gebe auf der Startseite einmal die letzten News aus und die nächsten Events. Angelegt im Addon sind diese auch in der Reihenfolge. (1) News (2) Events. Nur das mir bei den News der selbe generierte Link ausgegeben wird wie bei Events. :-/

Gibt es da Probleme mit dem URL Addon wenn ich auf einer Seite zwei unterschiedliche URL's generieren lassen will. Oder gibt es da einen Trick wie ich auf die einzelnen zugreifen muss?

LG P!

PXDemon
Beiträge: 147
Registriert: 26. Jul 2007, 14:25

Re: Url - ehemals Url Control, ehemals Frau Schultze

5. Mai 2016, 12:46

Ah komisch, jetzt geht es, hatte bei rex_getUrl($pxnewsPageId, '', ['id' => $result['id']]) in der vaule bei $pxnewsPageId einen falschen wert drin. Hier muss natürlich die ID des Ausgabeartikel rein ;-)

Zurück zu „AddOns / Packages [R5]“