Администратор Magento 1.5.0.1: невозможно добавить пользовательский URL-адрес, перезаписанный при установке в несколько магазинов

Чтобы исправить некоторые ошибки 404, о которых сообщают инструменты для веб-мастеров, мне нужно добавить некоторые пользовательские перезаписи URL-адресов (перенаправления URL-адресов) для каждого магазина в мою установку Magento с несколькими магазинами, но я не могу этого сделать: как только я выберите «Пользовательский» тип перезаписи URL-адреса в верхнем селекторе, появится форма редактирования пользовательской перезаписи URL-адреса, но в раскрывающемся списке «Магазин» нет магазинов, которые можно выбрать, и — поскольку «Магазин» является обязательным полем, администратор Magento не позволяет мне сохранить редирект.

Кто-нибудь может пролить свет на это? Моя версия Magento — 1.5.0.1, но если это ошибка, как я подозреваю, она может присутствовать и в других (даже более поздних) версиях.

Спасибо


person user1063601    schedule 20.06.2014    source источник


Ответы (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']) && $store['value']) {
123:                $found = false;
124:                foreach ($store['value'] as $_k => $_v) {
125:                    if (isset($_v['value']) && $_v['value']) {
126:                        array_push( $entityStores, $_v['value'] );
127:                    }
128:                }
129:            }
130:        }
person Dmitri Sologoubenko    schedule 20.06.2014