xamunrax
Erfahrenes Mitglied
Hallo,
ich weiss das Thema regex ist schon sehr oft in diesem Forum vertreten leider sind diese jedoch meistens so unterschiedlich das ich einfach kein passendes für meinen Fall finde und auch einfach nicht hinter die Lösung steige.
Folgender Fall, ich benutze ZendFramework, dort kann ich in einer INI-File die routen festlegen (also praktisch was er mit einer eintreffenden URL machen soll)
Meine routes.ini
So ich möchte dies nun um ein paar Funktionen erweitern.
Und zwar soll er folgende URL zuweisen können.
localhost/products/category1/category1_1/category1_2/p-1111/t-12345?irgendwas=anderes
hier sollen nun
"category1/category1_1/category1_2" an die variable "routes.products.map.categories" bei diesen muss es egal sein ob er eine oder fünf kategorien übergibt diese sollen alle in die Variable categories (wie oben in meinem Beispiel),
"1111" an die variable productid,
"12345" an die variable templateid übergeben werden.
Sollte sich an der Url noch ein Anhang (weitere Parameter) befinden sollen diese wie gewohnt ebenfalls übertragen werden.
Weiter muss es natürlich auch möglich sein die url ohne die templateid zu übertragen also:
localhost/products/category1/category1_1/category1_2/p-1111?irgendwas=anderes
genauso wie am ende endweder ein Slash stehen darf oder nicht
localhost/products/category1/category1_1/category1_2/p-1111/t-12345?irgendwas=anderes
localhost/products/category1/category1_1/category1_2/p-1111/t-12345/?irgendwas=anderes
ich weiss dieser Post sollte sicher eher im ZendForum stehen aber ich denke es handelt sich hier um ein generelles RegEx "Problem" und bin hier bisher immer gut beraten worden.
In diesem Sinne, besten Dank im voraus!
Marco
ich weiss das Thema regex ist schon sehr oft in diesem Forum vertreten leider sind diese jedoch meistens so unterschiedlich das ich einfach kein passendes für meinen Fall finde und auch einfach nicht hinter die Lösung steige.
Folgender Fall, ich benutze ZendFramework, dort kann ich in einer INI-File die routen festlegen (also praktisch was er mit einer eintreffenden URL machen soll)
Meine routes.ini
Code:
routes.products.type = "Zend_Controller_Router_Route_Regex"
routes.products.route = "products/(.*)/(?:p-([0-9]{1,6}))$"
routes.products.defaults.module = "default"
routes.products.defaults.controller = "products"
routes.products.action = "index"
routes.products.map.productid = 2
routes.products.map.categories = 1
So ich möchte dies nun um ein paar Funktionen erweitern.
Und zwar soll er folgende URL zuweisen können.
localhost/products/category1/category1_1/category1_2/p-1111/t-12345?irgendwas=anderes
hier sollen nun
"category1/category1_1/category1_2" an die variable "routes.products.map.categories" bei diesen muss es egal sein ob er eine oder fünf kategorien übergibt diese sollen alle in die Variable categories (wie oben in meinem Beispiel),
"1111" an die variable productid,
"12345" an die variable templateid übergeben werden.
Sollte sich an der Url noch ein Anhang (weitere Parameter) befinden sollen diese wie gewohnt ebenfalls übertragen werden.
Weiter muss es natürlich auch möglich sein die url ohne die templateid zu übertragen also:
localhost/products/category1/category1_1/category1_2/p-1111?irgendwas=anderes
genauso wie am ende endweder ein Slash stehen darf oder nicht
localhost/products/category1/category1_1/category1_2/p-1111/t-12345?irgendwas=anderes
localhost/products/category1/category1_1/category1_2/p-1111/t-12345/?irgendwas=anderes
ich weiss dieser Post sollte sicher eher im ZendForum stehen aber ich denke es handelt sich hier um ein generelles RegEx "Problem" und bin hier bisher immer gut beraten worden.
In diesem Sinne, besten Dank im voraus!
Marco
Zuletzt bearbeitet: