Есть ли причина, по которой дефис / тире не разрешен в кодах магазина?

8

И M1, и M2 не допускают дефисы или тире в своих кодах магазина. Существует бэкэнд-валидация против него. Однако не понятно почему. Есть идеи?

musicliftsme
источник
1
Может быть, разработчик просто не знал, как сделать регулярное выражение :) На самом деле, я не знаю, но мне любопытно, так как это просьба, которую я часто получаю.
Кристоф Ферребуф

Ответы:

2

Единственное объяснение, которое я могу найти:

Код является идентификатором и обычно представляет одно слово. Поэтому он состоит из символов класса слово-символ. Также не начинается с числа звучит как именованный идентификатор. Таким образом, ваш вариант использования из двух слов не применим к коду, поскольку он представляет одно слово. Поэтому не-словесные символы не допускаются.

Итак, вы обнаружили, что можете использовать одно слово в компоненте пути URI, и вы обнаружили, что код хранилища не подходит для двух слов. URL-перезапись и выходной фильтр могут справиться с этим.

Взято из комментария Хакре о Magento 1, но я подозреваю, что та же логика добавлена ​​в Magento 2 - /programming/10353636/magento-dash-in-store-code

Бен Крук
источник