Я создал страницу поиска, используя Laravel, в верхней части которой есть фильтры «текст для поиска». Когда мышь убирается из фильтра, JavaScript страницы запускает Ajax-вызов, а затем возвращает результаты.
Поскольку я также включил разбиение на страницы (с Ajax), когда я нажимаю на страницу 2 (ссылка, которая выглядит следующим образом: HTTP: //project.test/customers страница = 2) фильтры вверху сохраняют любой ранее введенный текст, а результаты поиска Ручной, это как раз то, что мне нужно!
Теперь проблема:
База данных у меня есть две основные таблицы.
Клиенты
Покупки
Отношения:
У клиента может быть много покупок
Любая данная покупка, хотя принадлежит одному клиенту
Я построил страницу поиска, чтобы пользователь мог искать клиентов, которые соответствуют заданным критериям поиска (например, те, которые принадлежат определенному городу или стране, например).
В приведенной ниже таблице поисковых фильтров, в которых отображаются все соответствующие записи о клиентах, у меня есть столбец с кнопкой покупок, которая затем перенаправляет пользователя на страницу покупок данного конкретного клиента (здесь кнопка покупок переходит по ссылке в форму project.test / клиенты / {{ID}}
{Id} проходит по маршруту, который затем загружает новую страницу, которая показывает все покупки этого конкретного клиента.
Теперь у меня есть кнопка «вернуться» на этой странице покупки, которая идет по следующей ссылке:
project.test / клиентов
Затем он загружает исходную страницу поиска (но загружает ее заново).
ЭТО ПРОБЛЕМА!!!
Поскольку страница загружается заново (по ссылке: project.test / Customers)
Фильтры поиска очищаются, и на странице вместо этого отображаются ВСЕ клиенты. Таким образом, пользователь должен снова ввести все критерии поиска, что раздражает пользователя, так как ему часто приходится менять партия записей о покупках по заданному набору клиентов, которые соответствуют заданному набору критериев поиска, и, скорее всего, им не придется повторно вводить одни и те же критерии снова и снова при переходе на страницу покупок клиента, а затем переходе вернуться на главную страницу поиска.
Учитывая эту проблему, у меня возникает вопрос, возможно ли концептуально с Laravel перейти на другую страницу, со страницы поиска, а затем, используя какой-либо метод, вернуться на исходную страницу поиска, для поисковых фильтров и результатов? , показывая, прежде чем все еще быть там? — Это было бы очень полезно иметь!
Я видел, как это было сделано на других сайтах, возможно, с использованием других веб-технологий, но я просто не уверен, как начать / где начать делать это с Laravel / PHP?
Я ценю любую помощь, заранее спасибо!
Сохранить критерии поиска в пользовательском сессия, передать их обратно на страницу поиска, когда они вернутся назад.
Допустим, у вас есть контроллер с функцией поиска маршрута:
public function search (Request $request)
{
// store the search criteria
session(['search_criteria' => $request->input()]);
// return the results
}
Затем в другой функции контроллера добавьте исходные параметры в ответ:
public function someRouteMethod (Request $request)
{
return redirect()->with('search_criteria', session('search_criteria'))->to('/search');
}
Затем на странице поиска снова заполните форму $search_criteria
данные:
<input value="{{ !empty($search_criteria) ? $search_criteria['foo'] : '' }}" name="foo">
Я создал страницу поиска, используя Laravel, в верхней части которой есть фильтры «текст для поиска». Когда мышь убирается из фильтра, JavaScript страницы запускает Ajax-вызов, а затем возвращает результаты.
Поскольку я также включил разбиение на страницы (с Ajax), когда я нажимаю на страницу 2 (ссылка, которая выглядит следующим образом: HTTP: //project.test/customers страница = 2) фильтры вверху сохраняют любой ранее введенный текст, а результаты поиска Ручной, это как раз то, что мне нужно!
Теперь проблема:
База данных у меня есть две основные таблицы.
Клиенты
Покупки
Отношения:
У клиента может быть много покупок
Любая данная покупка, хотя принадлежит одному клиенту
Я построил страницу поиска, чтобы пользователь мог искать клиентов, которые соответствуют заданным критериям поиска (например, те, которые принадлежат определенному городу или стране, например).
В приведенной ниже таблице поисковых фильтров, в которых отображаются все соответствующие записи о клиентах, у меня есть столбец с кнопкой покупок, которая затем перенаправляет пользователя на страницу покупок данного конкретного клиента (здесь кнопка покупок переходит по ссылке в форму project.test / клиенты / {{ID}}
{Id} проходит по маршруту, который затем загружает новую страницу, которая показывает все покупки этого конкретного клиента.
Теперь у меня есть кнопка «вернуться» на этой странице покупки, которая идет по следующей ссылке:
project.test / клиентов
Затем он загружает исходную страницу поиска (но загружает ее заново).
ЭТО ПРОБЛЕМА!!!
Поскольку страница загружается заново (по ссылке: project.test / Customers)
Фильтры поиска очищаются, и на странице вместо этого отображаются ВСЕ клиенты. Таким образом, пользователь должен снова ввести все критерии поиска, что раздражает пользователя, так как ему часто приходится менять партия записей о покупках по заданному набору клиентов, которые соответствуют заданному набору критериев поиска, и, скорее всего, им не придется повторно вводить одни и те же критерии снова и снова при переходе на страницу покупок клиента, а затем переходе вернуться на главную страницу поиска.
Учитывая эту проблему, у меня возникает вопрос, возможно ли концептуально с Laravel перейти на другую страницу, со страницы поиска, а затем, используя какой-либо метод, вернуться на исходную страницу поиска, для поисковых фильтров и результатов? , показывая, прежде чем все еще быть там? — Это было бы очень полезно иметь!
Я видел, как это было сделано на других сайтах, возможно, с использованием других веб-технологий, но я просто не уверен, как начать / где начать делать это с Laravel / PHP?
Я ценю любую помощь, заранее спасибо!
Сохранить критерии поиска в пользовательском сессия, передать их обратно на страницу поиска, когда они вернутся назад.
Допустим, у вас есть контроллер с функцией поиска маршрута:
public function search (Request $request)
{
// store the search criteria
session(['search_criteria' => $request->input()]);
// return the results
}
Затем в другой функции контроллера добавьте исходные параметры в ответ:
public function someRouteMethod (Request $request)
{
return redirect()->with('search_criteria', session('search_criteria'))->to('/search');
}
Затем на странице поиска снова заполните форму $search_criteria
данные:
<input value="{{ !empty($search_criteria) ? $search_criteria['foo'] : '' }}" name="foo">