Добавьте хэш к URL в Laravel, используя нумерацию страниц

Мой маршрут:

Route::get('/app/search', ['as' => 'search', 'uses' => 'AppController@getSearch']);

Мой контроллер:

public function getSearch()
{
$searchTerm = Input::get('s');
$locs = Loc::whereRaw('match(title, description) against(? in boolean mode)', [$searchTerm])
->paginate(10);
$locs->getFactory()->setViewName('pagination::slider');
$locs->appends(['s' => $searchTerm]);
$this->layout->with('title', 'Search: ' . $searchTerm);
$this->layout->main = View::make('home')
->nest('content', 'index', ($locs->isEmpty()) ? ['notFound' => true] : compact('locs'));
}

URL-адрес, который я получаю: «www.example.com/app/search?s=search+term»

Я хотел бы получить: «www.example.com/app/search?s=search+term#result», чтобы перейти непосредственно к элементу результата.

Я пытался использовать $locs->fragment('result')->links();как в контроллере, так и в представлении, но ничего не изменилось.

Люди просят больше информации, например, чтобы показать, где генерируется URL, но проблема в том, что я не знаю этого. Ни Маршрут, ни Контроллер, ни Вид не кажутся ответственными за это.

Что странного в этом то, что я не могу понять, как генерируется URL, я подумал, что:

$locs->appends(['s' => $searchTerm]);

несет ответственность за это, но даже если я удалю эту строку, ничто не изменится в URL.
Так что я действительно застрял на этом, документы Laravel не помогают, и я не могу найти документы или помощь в Интернете.

4

Решение

Я создал обходной путь с JQuery:

@if($orders->hasPages())
<div class="section">
<div class="section__content hash-pagination" data-hash="promo-orders">
{!! $orders->appends(request()->all()) !!}
</div>
</div>
@endif<script>
$(document).ready(function () {
$('.hash-pagination').each(function(element){
var hash = $(this).data('hash');
var links = $(this).find('a');

links.each(function(link){
var href = $(this).attr('href');
$(this).attr('href', href + '#' + hash);
});
});
});
</script>
0

Другие решения

На данный момент Laravel поддерживает эту функцию

Согласно Документация Laravel вам нужно использовать метод фрагмента

{{ $users->fragment('result')->links() }}
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector