Perché Magento 2 impone che gli URL siano 3+ caratteri


9

Se provi a creare un modulo con un nome frontale come hello-worldin Magento 2, otterrai un errore simile al seguente .

Invalid XML in file /Users/alanstorm/Sites/magento-2-with-keys/magento2/app/code/Pulsestorm/HelloPestle/etc/frontend/routes.xml:
Element 'route', attribute 'id': [facet 'pattern'] The value 
'hello-world' is not accepted by the pattern '[A-Za-z0-9_]{3,}'.

Sembra che Magento non desideri che i nomi frontali degli URL contengano qualcosa di diverso da un numero, una lettera o un trattino basso. Obbliga anche i nomi frontali ad avere tre o più personaggi.

La limitazione di numero, lettera e carattere di sottolineatura ha senso poiché un ID percorso viene utilizzato per creare un handle di layout e caratteri " speciali " possono causare problemi. Tuttavia, il limite di tre caratteri è confuso.

Qualcuno sa il motivo di questo?


Forse questo è dovuto alle convalide XSD presenti.
Bhargav Mehta,

2
@Bhargav Sì, ma perché l'XSD è configurato in questo modo?
Alan Storm,

Risposte:


4

Il motivo era evitare dichiarazioni disordinate con identificatori troppo brevi (lo stesso delle limitazioni variabili troppo brevi negli analizzatori di stile di codice PHP).

È stato applicato a più tipi di campo. Il nome del percorso ha questa limitazione per errore. Sarà risolto


0

cambia hello-world come hello_world

I caratteri validi sono alfabetico, numerico e _


Questo non sembra rispondere alla domanda?
Alan Storm,

-2

2
Non mi interessano i dettagli tecnici di come è stata implementata la limitazione, voglio sapere perché è lì in primo luogo.
Alan Storm,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.