Проблема с возвратом (кнопка назад) в админке

  • 5 Ответов
  • 407 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

oleg8800

  • ***
  • 81
  • 0
Добрый день. Проблема с возвратом (кнопка назад) в админке, после просмотра деталей заказа. при нажатии пишет "Подтвердите повторную отправку формы" и после обновления страницы все нормально. но бывает и получается с первого раза. что это может быть? Joomla 3.5, ДЖ 4.13

*

dmitry_stas

  • ********
  • 9615
  • 929
бывает - это когда ничего не фильтровали в списке заказов. а когда была отправка POST формы, и потом попытка вернуться на эту же страницу, браузер вам и сообщает о том, что те данные которые были показаны (отобранные заказы например по дате), уже не будут доступны, и предлагает обновить страницу
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

Cerber

  • ****
  • 268
  • 32
  • Богиня Иштар и ее пес Пи..ц
Ну можно в файле:
\components\com_jshopping\templates\default\list_products\form_filters.php
поменять метод POST на GET и все норм

Было:
Цитировать
...
* @version      4.8.0 13.08.2013
* @author       MAXXmarketing GmbH
* @package      Jshopping
* @copyright    Copyright (C) 2010 webdesigner-profi.de. All rights reserved.
* @license      GNU/GPL
*/
defined('_JEXEC') or die('Restricted access');
?>
<form action="<?php print $this->action;?>" method="post" name="sort_count" id="sort_count" class="form-horizontal">
...
Стало:
Цитировать
...
* @version      4.8.0 13.08.2013
* @author       MAXXmarketing GmbH
* @package      Jshopping
* @copyright    Copyright (C) 2010 webdesigner-profi.de. All rights reserved.
* @license      GNU/GPL
*/
defined('_JEXEC') or die('Restricted access');
?>
<form action="<?php print $this->action;?>" method="get" name="sort_count" id="sort_count" class="form-horizontal">
...

Только почему разработчик отправляет форму через POST?
Как бы самому интересно.

*

dmitry_stas

  • ********
  • 9615
  • 929
потому что GET - это не решение. формы никогда не должны отправляться GET. это аксиома :) один раз запомнил, и никогда не делаешь иначе. и тем самым часть проблем с безопасностью исключаешь в принципе.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

Cerber

  • ****
  • 268
  • 32
  • Богиня Иштар и ее пес Пи..ц
Так понятно.
На форуме не раз писали про устаревшую страницу, как бы мелочь, но проблема эта многих напрягает и очень давно.
Кстати обращал внимание на другие компоненты у них такой проблемы нет.
И Разработчик на такой пустяк реагировать не станет
  так и живем с этим...  :dry:


*

dmitry_stas

  • ********
  • 9615
  • 929
это действительно мелочь, но реально раздражает. разработчики именно поэтому могли бы и добавить :)
самое простое - добавьте в \administrator\components\com_jshopping\controllers\orders.php function display перед $filter = array(...);

Цитировать
if (count($_POST)) {
    $mainframe->redirect('index.php?option=com_jshopping&controller=orders');
}

$filter = array(...);

для базового функционала это будет достаточно.

@Виктор: если вдруг решите это добавить, учтите пожалуйста тот момент, что могут быть плагины, которые например расширяют функционал фильтра в заказах, и им тоже надо сохранить свое состояние. а поскольку первое событие срабатывает в getCountAllOrders, то иными словами редирект нужен тоже после этого.
« Последнее редактирование: 11.05.2016, 02:25:37 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций