fix search, added filter

This commit is contained in:
saparatayev 2021-08-04 19:28:37 +05:00
parent b3508299ac
commit f5ecb5510e
5 changed files with 49 additions and 12 deletions

View File

@ -9,6 +9,11 @@ use DB;
class Offers extends ComponentBase
{
/*
* sort order parametr in a url string
*/
public $sortParam = '';
public function componentDetails()
{
return [
@ -66,7 +71,16 @@ class Offers extends ComponentBase
}
protected function loadOffers() {
$sortOrder = $this->property('sortOrder');
$sortOrderParam = strtolower(\Input::get('sort_order'));
// protect from sql injection
if($sortOrderParam != 'asc' && $sortOrderParam != 'desc') {
$sortOrder = $this->property('sortOrder');
} else {
$sortOrder = $sortOrderParam;
$this->sortParam = $sortOrderParam;
}
$cSlug = $this->property('categorySlug');
$perPage = $this->property('perPage');
$productSlug = $this->property('productSlug');

View File

@ -59,13 +59,13 @@
{% if offers.total > offers.perPage %}
<div class="cat_end">
<a href="{{ offers.previousPageUrl|default('#') }}" class="cat_arrow left">
<a href="{{ offers.previousPageUrl|default('#') }}&sort_order={{ __SELF__.sortParam }}" class="cat_arrow left">
<img src="{{ 'assets/images/svg/arrow-right.svg'|theme }}" alt="">
</a>
<form method="get" class="cat_form">
<input type="text" value="{{offers.currentPage|default('1')}}" name="page">
</form>
<a href="{{ offers.nextPageUrl|default('#') }}" class="cat_arrow ">
<a href="{{ offers.nextPageUrl|default('#') }}&sort_order={{ __SELF__.sortParam }}" class="cat_arrow ">
<img src="{{ 'assets/images/svg/arrow-right.svg'|theme }}" alt="">
</a>
<div class="cat_page">

View File

@ -357,6 +357,8 @@
<img src="images/svg/loupe.svg" alt="loupe">
</div>
</div>
</form>
<form action="#">
<div class="category_select">
<select>
<option value="1">По дате</option>

View File

@ -52,6 +52,26 @@ sortOrder = "desc"
</div>
</div>
</div>
<form action="{{ 'search' | page }}" method="get" class="category_search">
<div class="category_input">
<input name="q" type="text" placeholder="Поиск" autocomplete="off">
<button class="category_loupe" type="submit">
<img src="{{ 'assets/images/svg/loupe.svg'|theme }}" alt="loupe">
</button>
</div>
</form>
<form action="#" class="sort-order">
<div class="category_select">
<select name="sort_order">
<option value="1">По дате</option>
<option value="desc">Decrease</option>
<option value="asc">Increase</option>
</select>
{% if input('page') %}
<input type="hidden" name="page" value="{{ input('page') }}">
{% endif %}
</div>
</form>
<div class="inline_head">
<div class="inline_item">
Лот №:
@ -84,4 +104,12 @@ sortOrder = "desc"
</div>
</div>
</section>
<!--Category end ========================================================= -->
<!--Category end ========================================================= -->
{% put scripts %}
<script>
$('form.sort-order select').change(function() {
$('form.sort-order').submit();
})
</script>
{% endput %}

View File

@ -23,14 +23,7 @@ localeUrl[ru] = "/glavnaya-stranica"
<link rel="stylesheet" href="{{['assets/css/slick-theme.css','assets/css/slick.css']|theme}}">
{% endput %}
<div class="auto_container">
<div class="wrapper">
<form action="{{ 'search' | page }}" method="get">
<input name="q" type="text" placeholder="What are you looking for?" autocomplete="off">
<button type="submit">Search</button>
</form>
</div>
</div>
<!--Intro ============================================================= -->
<section class="intro">