ссылки на несколько магазинов/языки
-
11-12-2019 - |
Вопрос
У меня есть магазин с английским и немецким видом.
Древовидная структура имеет обе языковые версии, поэтому я вручную изменил «Продукт» на «Продукт», например, в разделе категорий.
Моя проблема заключается в том, как обрабатывать ссылки в такой настройке.На главной странице продукта у меня есть такая ссылка: href="{{store direct_url='products/phones.html'}}"
Когда я перехожу на немецкий вид, эта ссылка возвращает 404.Он не перенаправляется автоматически на немецкую версию, которая называется produkte/fones.html (в качестве примера).
Разве он не должен автоматически перенаправляться?Мне не нужно перекодировать все ссылки вручную, не так ли?
обновлять:
добавление дополнительной информации для разъяснения проблемы>
Категорийная структура магазина настроена на английском и немецком языках.Категории были переведены, поэтому, когда вы находитесь в магазине EN и переходите в магазин DE, меню обновляются и работают правильно.
Итак, пункт меню «телефоны» становится «фонами» — и работает как положено.
На моей целевой странице жестко закодирована та же ссылка (как указано выше).Как я могу заставить его автоматически переходить на нужную страницу?
Решение
На страницах CMS и в статических блоках следует использовать виджет «Ссылка на категорию каталога»:
{{widget type="catalog/category_widget_link" template="catalog/category/widget/link/link_block.phtml" id_path="category/5"}}
Если вы воспользуетесь этим, в каждом магазине будут созданы правильные ссылки, и вам не придется их переписывать.
Другие советы
Я не уверен, работает ли это и для Direct_url, но вас также может заинтересовать расширение URL-адреса Magento Languages:
https://github.com/klein0r/magento-language-routes
Языковые маршруты Magento
Функции:
- Переведите все URL-адреса для каждого магазина (например,/customer/account/create -> /kunde/konto/erstellen)
- Простой перевод без навыков разработки с использованием бэкэнда
- Перевод сторонних расширений прямо из коробки
- Возможность перевода URL-адресов на страницы CMS.
- Расширение использует кэш Magento, чтобы избежать проблем с производительностью.
- Управление разрешениями на переводы по ролям
- Старые URL-адреса все еще работают (даже если они переведены)
- Встроенный перевод URL-адресов