Problem/Motivation
As per current routing system if we add any URL with more than 10 slash ('/'), it throws page not found.
Steps to reproduce:
1. Create a path in your module_name.routing.yml with more than 10 slashes. for example:
foo_bar:
pattern: 'a/b/c/d/e/f/g/h/i/j/k/l'
defaults:
_controller: '\Drupal\[module_name]\Controller\FooController::barPage'
requirements:
_access: 'TRUE'
2. Visit the page (i.e. a/b/c/d/e/f/g/h/i/j/k/l), throws 'page not found'
3. Remove few parts of the path and clear cache and try to visit the page (e.g. a/b/c/d/e/f/g/h/i), works fine.
Proposed resolution
Discuss.
Related Issues
#2028137: Integrate field configuration translation on the user interface
Comment | File | Size | Author |
---|---|---|---|
#2 | drupal-long-routes-only-test-2035877-8.patch | 3.13 KB | claudiu.cristea |
Comments
Comment #0.0
vijaycs85Updated issue summary.
Comment #1
Gábor HojtsyYeah this makes it impossible to put further level subtasks on fields, so we cannot put the translate operation on fields :/
Comment #2
claudiu.cristeaHere's patch containing only tests that are confirming this.
Comment #3
claudiu.cristeaSorry. seems I removed some tags
Comment #5
claudiu.cristeaPaths are limited to 9 parts in both new and legacy routing systems:
It's something related to menu links but I didn't had time to investigate exactly what.
Here's a discussion related to this decision taken in D6 https://drupal.org/node/274270. Maybe @Gábor Hojtsy knows more as he was branch maintainer.
Comment #6
amateescu CreditAttribution: amateescu commentedThe relevant answer is exactly in that issue :) #274270-1: Future of menu depth? Increasing the limit would mean that we need more pX columns in the {menu_links} table.
Comment #7
vijaycs85Thanks @amateescu. Surely, duplicate of #274270: Future of menu depth?
Comment #8
claudiu.cristeaSeems that "pX columns" are kept in the same table for performance reasons. It would be nice to perform a benchmark comparing the actual implementation versus storing them in a separate table (mlid, delta, value). I'm not sure that releasing the "9 limit" by storing them in other table will have a big impact on performance.
Comment #9
Damien Tournoud CreditAttribution: Damien Tournoud commentedSeems like some clean-up is in order too.
Comment #10
PanchoNew issue for #9: #2036677: MENU_MAX_PARTS defined three times
Comment #11
PanchoRetroactively untagging. This is not language related.
Comment #12
Gábor HojtsyPlease let the D8MI team track issues that block our efforts. As is with the explained situation, we need to opt to use GET arguments in config translation URLs due to this limitation, instead of relying on path parts and using the standard routing system, we need to work around it in a module proposed for core. I think that is plenty reason to track this on D8MI.
Comment #13
PanchoSorry... :)
Comment #13.0
PanchoUpdate