Merge pull request #369 from openclassify/dia

#975 Ordering options in listing page (sıralama seçenekleri)
This commit is contained in:
Fatih Alp 2020-03-02 11:18:59 +03:00 committed by GitHub
commit 8cffa63051
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 34 additions and 9 deletions

View File

@ -130,8 +130,11 @@ return [
'pick_option' => 'Pick an option',
'pick_ordering' => 'Ordering',
'price_high' => 'Price High to Low',
'price-low' => 'Price Low to High',
'price_low' => 'Price Low to High',
'newest' => 'Newest',
'oldest' => 'Oldest',
'address_a_z' => 'Address (A to Z)',
'address_z_a' => 'Address (Z to A)',
'categories' => 'Categories',
'all_categories' => 'All Categories',
'location' => 'Location',

View File

@ -1,26 +1,36 @@
<div class="dropdown pull-left sort-by-list">
<div class="dropdown">
<i class="fas fa-sort-alpha-down"></i>
<a data-toggle="dropdown" class="sort-by-open-dropdown text-dark" href="#"
aria-expanded="false">
<a data-toggle="dropdown" class="sort-by-open-dropdown text-dark" href="#" aria-expanded="false">
<span class="sort-by-selected-text">{{ trans("visiosoft.module.advs::field.pick_ordering") }}</span>
<i class="fa fa-caret-square-o-down"></i>
</a>
<ul class="dropdown-menu px-2 mt-0" x-placement="bottom-start">
<ul class="dropdown-menu px-2" x-placement="bottom-start">
<li>
<a href="#" data-value="sort_price_up"
class="sort-by-item text-dark">{{ trans("visiosoft.module.advs::field.price_high") }}</a>
</li>
<li>
<a href="#" data-value="sort_price_down"
class="sort-by-item text-dark">{{ trans("visiosoft.module.advs::field.price-low") }}</a>
class="sort-by-item text-dark">{{ trans("visiosoft.module.advs::field.price_low") }}</a>
</li>
<li>
<a href="#" data-value="sort_time"
<a href="#" data-value="sort_time_newest"
class="sort-by-item text-dark">{{ trans("visiosoft.module.advs::field.newest") }}</a>
</li>
<li>
<a href="#" data-value="sort_time_oldest"
class="sort-by-item text-dark">{{ trans("visiosoft.module.advs::field.oldest") }}</a>
</li>
<li>
<a href="#" data-value="address_a_z"
class="sort-by-item text-dark">{{ trans("visiosoft.module.advs::field.address_a_z") }}</a>
</li>
<li>
<a href="#" data-value="address_z_a"
class="sort-by-item text-dark">{{ trans("visiosoft.module.advs::field.address_z_a") }}</a>
</li>
</ul>
</div>
</div>

View File

@ -174,10 +174,10 @@ class AdvRepository extends EntryRepository implements AdvRepositoryInterface
$query = $query->whereRaw("ST_DISTANCE(ST_GeomFromText('POINT(" . $param['dlong'] . " " . $param['dlat'] . ")'), coor) < " . $param['distance']);
}
if ($isActiveDopings) {
$query = app('Visiosoft\DopingsModule\Http\Controller\DopingsController')->search($query, $param);
}
if (!empty($param['sort_by'])) {
switch ($param['sort_by']) {
case "popular":
@ -189,13 +189,25 @@ class AdvRepository extends EntryRepository implements AdvRepositoryInterface
case "sort_price_down":
$query = $query->orderBy('advs_advs.price', 'asc');
break;
case "sort_time":
case "sort_time_newest":
$query = $query->orderBy('advs_advs.created_at', 'desc');
break;
case "sort_time_oldest":
$query = $query->orderBy('advs_advs.created_at', 'asc');
break;
case "address_a_z":
$query = $query->join('location_cities_translations', 'advs_advs.city', '=', 'location_cities_translations.entry_id')
->orderBy('location_cities_translations.name', 'ASC');
break;
case "address_z_a":
$query = $query->join('location_cities_translations', 'advs_advs.city', '=', 'location_cities_translations.entry_id')
->orderBy('location_cities_translations.name', 'DESC');
break;
}
} else {
$query = $query->orderBy('advs_advs.created_at', 'desc');
}
if ($isActiveDopings) {
$query = app('Visiosoft\DopingsModule\Http\Controller\DopingsController')->querySelect($query, $param);
} else {