Comments (15)
Richtig. Der Paramkey ist eine Art Namespace und sollte nur einmal vorkommen. Da der Key auch nirgends sichtbar ist, kann man diesen auch "news-category-id" nennen.
Ich werde dazu das AddOn umbauen und vermutlich komplett auf den ParamKey umstellen.
from redaxo_url.
Danke! Bis dahin ist mein fix eine ziemlich praktische Lösung.
from redaxo_url.
Ich meine, damit gehen Urls die nur über die Id angesprochen, also ohne Paramkey in der Config, verloren. Deshalb will ich das einheitlich machen.
from redaxo_url.
Nein. Dem ist nur so, wenn die falsche Artikel ID übergeben wird. Im Moment kann man an rex_getUrl irgend eine Artikel ID übergeben und es wird die URL übergeben die zum zusätzlichen Parameter passt zurückgegeben, auch wenn der nur zu einem ganz anderen Artikel passt.
from redaxo_url.
Ich meine etwas anderes. Es gibt auch diese Möglichkeit
rex_getUrl(4, '', ['id'=>3])
Die 4 ist dabei die hinterlegte Artikel Id in der Config. Der Paramkey wurde dabei in der Config nicht gesetzt.
from redaxo_url.
In dem Fall wird der Code, den ich gefixt habe gar nicht berührt. Da gibt es vorher ein if
:
https://github.com/tbaddade/redaxo_url/blob/master/lib/Url/Generator.php#L613
Nur wenn ein Paramkey gesetzt wird springt er weiter:
https://github.com/tbaddade/redaxo_url/blob/master/lib/Url/Generator.php#L616
Und dann wird die in rex_getUrl() übergebene Artikel ID überschreiben.
from redaxo_url.
Habe mir das nochmal angesehen. Dein Fix wandelt sich hier in einen Bug.
Der Aufruf rex_getUr('', '', ['category-id' => $id])
wird nur dann deinen Artikel erreichen, wenn man bereits auf demselben Artikel ist, der auch in der Config hinterlegt wurde. Du müsstest ansonsten immer die Artikel-Id bei rex_getUrl
mit geben. Sinn und Zweck der ParamKeys ist es aber, grad auf diese Artikel-Id zu verzichten und egal wo man sich grad innerhalb der Struktur befindet, ein Aufruf vonrex_getUr('', '', ['category-id' => $id])
immer den korrekten REDAXO-Artikel findet.
from redaxo_url.
Ich kann dein Ziel verstehen, aber hast du eine Lösung für das eigentliche Problem, also dass die URL nicht immer korrekt umgeschrieben wird? Es mag zwar sein, dass die mein fix nicht gefällt, aber das Problem besteht immer noch.
from redaxo_url.
Das Problem ist doch, dass du den ParamKey mehrfach verwendest. Dieser sollte aber nur einmal verwendet werden. Eventuell kannst du einen Dump bereitstellen, damit ich deine Variante mal testen kann.
from redaxo_url.
@tbaddade kannst du beim Abspeichern evtl. prüfen, ob der key schon vorhanden ist / mit einer unique-Validierung?
@TobiasKrais in deinem Fall kannst du doch auch weiterhin ohne key die URL generieren?
from redaxo_url.
Um das Szenario zu testen, könnt ihr euch das d2u_machinery Addon installieren. Beim installieren werden die Konfigurationen fürs url Addon automatisch installiert. Im d2u_machinery Addon einfach eine Testmaschine, und eine Testkategorie anlegen. Module werden auch angeboten und wenn ihr ein passendes Template zum Testen braucht, könnt ihr im d2u_helper Addon (wird fürs d2u_machinery Addon benötigt) das Template "00-1 Big Header Template" installieren. Hilft euch das schon, oder soll ich eine Testseite aufsetzen?
Nachträgliche Korrektur: Den Paramkey category_id verwende ich sowohl für die Maschinen als auch für die Gebrauchtmaschinen. Noch ein Hinweis: ich arbeite auch noch mehrsprachig.
@alexplusde: dein Vorschlag ist nicht möglich, da ich in einem Artikel sowohl mit Kategorien als auch den Maschinen in den Kategorien arbeite. Deshalb kann ich nicht ohne key arbeiten, da es sonst zu Verwechslungen kommt. Ein Live Beispiel findest du hier: http://www.meier-krantechnik.de/.
Danke für eure Geduld!
from redaxo_url.
Ich verwende bei mehreren Artikeln den ParamKey "category_id"
Den Paramkey verwende ich nicht (!) mehrfach.
Das widerspricht sich aber jetzt, oder?
Ich ging davon aus, dass du eben diesen ParamKey category_id
mehrfach verwendest.
from redaxo_url.
@TobiasKrais hab dir in Slack geschrieben
evtl. hattest du das gleiche Problem wie ich und das ist mit der aktuellen Beta im Installer gelöst gewesen.
from redaxo_url.
@tbaddade: stimmt. Sorry, ich war im falschen Issue: Ich verwende sowohl für die Gebrauchtmaschinen (Paramkey used_machine_id) als auch für die normalen Maschinen (Paramkey machine_id) eine Kategorie mit dem Paramkey category_id, da beides mal auf die selben Kategorien zugeriffen wird. Die Unterscheidung um welchen Inhalt es sich handelt, findet bei mir also im Modul des Artikels statt.
from redaxo_url.
@tbaddade: Frage für die Zukunft dieses Issues: wird es in Zukunft nicht möglich sein, zwei gleiche Paramkeys zu verwenden? Es gibt Paramkeys, wie z.B. category_id, die potentiell mehrere Entwickler in ihren Addons verwenden könnten. Wenn der Paramkey Unique ist, würde das bedeuten, dass das Addon, das als erstes installiert ist den Vorzug bekommt. Nutzt ein weiteres Addon den selben Paramkey kann es nicht verwendet werden. Ist das so geplant?
Bitte schreib kurz zurück, damit ich meine Addons anpassen kann.
from redaxo_url.
Related Issues (20)
- Profil-Schlüssel (ehemals "urlParamKey" in URL1) wieder hinzufügen HOT 4
- add static method getCurrentUserPath
- VideoUrl HOT 4
- $urlData = UrlGenerator::getData(); funktioniert nicht mehr in V2 HOT 6
- Neue getTags() Methode aus YRewrite nutzen HOT 13
- Undefined index: HTTP_HOST, REQUEST_URI
- Make compatible with YRewrite HOT 15
- Kompatibilität zu cache_warmup oder eigenen Warmup-Mechanismus HOT 2
- Warning beim Cache löschen in System
- Call to a member function `getFullUrl()` on null HOT 7
- HTML-Entities in Auswahl (Englisch) HOT 1
- yform 4: 'url' value funktioniert nicht mehr
- `is_user_path` müsste INT sein HOT 7
- Whooops beim speichern // Konflikt mit yform_usability HOT 3
- Warning bei der Ausgabe der SEO Tags HOT 3
- SEO/Sitemap Ausgabe gemäss Status - neues Feld HOT 6
- Warning: Array to string conversion in rex:///template/2 on line 57 HOT 1
- SEO-Metatags auf Nicht-URL-generierten Seiten gibt nur "Array" aus HOT 3
- Keine Auswahl der Datentabelle auf lokaler Installation (v 2.1) HOT 1
- ... references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from redaxo_url.