Webracer

Баг при исправлении УРЛ главной страницы

Рекомендуемые сообщения

Webracer    7

Для исправления главной страницы использую следующее решение.

В файле system/library/url.php строку

$url = $rewrite->rewrite($url);

меняю на

if ($route == 'common/home' && empty($args)) {
                    return false;
                } else {
                    $url = $rewrite->rewrite($url);
                }

Всё отлично работает, но есть один баг.

Если переключать язык на главной странице, то не происходит переадресация со страницы

site.com/index.php?route=module/language на главную.

Всё дело в том, что не подставляется значение value="" в

<input type="hidden" value="" name="redirect"></input>

например, как это происходит в категориях:

<input type="hidden" value="http://site.com/section" name="redirect"></input>

 

Возможно причину следует искать в файле /catalog/controller/module/language.php где-то тут:

 

if (isset($this->request->post['redirect'])) {
            $this->redirect($this->request->post['redirect']);
         } else {
            $this->redirect($this->url->link('common/home'));
         }

 

if (!isset($this->request->get['route'])) {
         $this->data['redirect'] = $this->url->link('common/home');
      } else {
         $data = $this->request->get;

         unset($data['_route_']);

         $route = $data['route'];

         unset($data['route']);

         $url = '';

         if ($data) {
            $url = '&' . urldecode(http_build_query($data, '', '&'));
         }

         $this->data['redirect'] = $this->url->link($route, $url, $connection);
      }

Буду благодарен за помощь!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Tom    1 919

А если так?

 

 system/library/url.php

 

Найти

 

 

if ($args) {
$url .= str_replace('&', '&', '&' . ltrim($args, '&'));
}
 

Добавить

 

 

else {
 
if($route == 'common/home') {
 
if($connection == 'NONSSL') { return HTTP_SERVER; }
 
else { return HTTPS_SERVER; }
 
}
 
}
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Webracer    7

Tom, всё работает без ошибок.

Не создаёт ли такое решение дополнительную нагрузку?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Tom    1 919

Протестируй! Вроде как нареканий не было.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу