#php #magento #url-rewriting #custom-url
#php #magento #url-перезапись #пользовательский url
Вопрос:
Чтобы исправить некоторые ошибки 404, о которых сообщают инструменты для веб-мастеров, мне нужно добавить некоторые пользовательские перезаписи URL-адресов (перенаправления URL-адресов) для каждого магазина в мою установку Magento с несколькими магазинами, но я не могу этого сделать: как только я выбираю «Пользовательский» тип перезаписи URL-адреса изв верхнем селекторе появляется форма редактирования пользовательской перезаписи URL-адреса, но в выпадающем списке «Магазин» нет магазинов, которые можно выбрать, и — поскольку поле «Магазин» является обязательным, администратор Magento не позволяет мне сохранять перенаправление.
Кто-нибудь может пролить свет на это? Моя версия Magento 1.5.0.1, но если это ошибка, как я подозреваю, она может присутствовать и в других (даже более поздних) версиях.
Спасибо
Ответ №1:
Это действительно ошибка. Чтобы исправить это, примените следующий патч или просто замените строку 120 вашего app/code/core/Mage/Adminhtml/Block/Urlrewrite/Edit/Form.php с этими строками.
Я бы посоветовал вам не изменять «основной» файл напрямую, а вместо этого создать ту же структуру папок в app / code / local, скопировать туда основной файл и отредактировать его. Файлы с тем же путем в «local» имеют более высокий приоритет и будут загружены Magento вместо файлов в «core», их также легче обнаружить и в конечном итоге удалить, восстановив функциональность Magento по умолчанию, если потребуется в будущем.
app/code/core/Mage/Adminhtml/Block/Urlrewrite/Edit/Form.php => app/code/local/Mage/Adminhtml/Block/Urlrewrite/Edit/Form.php
119a120,130
120: } else {
121: foreach ($stores as $i => $store) {
122: if (isset($store['value']) amp;amp; $store['value']) {
123: $found = false;
124: foreach ($store['value'] as $_k => $_v) {
125: if (isset($_v['value']) amp;amp; $_v['value']) {
126: array_push( $entityStores, $_v['value'] );
127: }
128: }
129: }
130: }