vaj_bor
6 سال پیش توسط vaj_bor مطرح شد
6 پاسخ

دکمه فیلتر در بخش مقالات و دوره ها

با سلام واحترام
دکمه های فیلتر در بخش مقالات و دوره ها را که می زنم متاسفانه من رابه صفحه اصلی redirect می کنه .لطفا راهنمایی کنید.فکر کنم با زدن دکمه فیلتر فقط تابع اول مربوط به کنترلر اجرا می شه.
ممنون از راهنماییتون


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 6 سال پیش مطرح شد
2

سلام منظورتون دکمه فیلتر در پروژه خودتونه یا در راکت ؟


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 6 سال پیش مطرح شد
2

سلام
@vajihebromand

لطفا کدتون رو قرار بدید


vaj_bor
@vajihebromand 6 سال پیش آپدیت شد
1

با سلام و تشکر
فایل ها به شرح زیر می باشد.
من همزمان با آموزش راکت یک پروژه تعریف کردم .منظورم پروژه خودم بود
model Article

public function scopeFilter($query)  
{  
$category = request('category');  
if (isset($category) && trim($category) != '' && $category != 'all') {  
$query->whereHas('categories', function ($query) use ($category) {  
$query->whereId($category);  
});  
}
    if(request('order') == '1') {
        $query->oldest();
    } else {
        $query->latest();
    }

    return $query;

}

article.blade.php

[@extends](https://roocket.ir/@extends)('Home.master')

[@section](https://roocket.ir/@section)('content')
<form action="/articles">
    <div class="form-group col-md-3">
        <select name="type" class="form-control">
            <option value="all" {{ request('type') == 'all' ? 'selected' : '' }}>همه مقاله ها</option>
        </select>
    </div>

    <div class="form-group col-md-3">
        <select name="category" class="form-control">
            <option value="all">همه دسته ها</option>
            @foreach(AppCategory::all() as $category)
                <option value="{{ $category->id }}" {{ request('category') == $category->id ? 'selected' : '' }}>{{ $category->name }}</option>
            @endforeach
        </select>
    </div>

    <div class="form-group col-md-3">
        <label class="checkbox-inline">
            <input type="checkbox" name="order" value="1" {{ request('order') == '1' ? 'checked'  : ''}}>از اول به آخر
        </label>
    </div>

    <div class="form-group col-md-3">
        <button class="btn btn-danger" type="submit">فیلتر</button>
    </div>
</form>

<hr>
<div class="row">
    <div class="col-lg-12">
        <h3>آخرین مقاله ها</h3>
    </div>
</div>

    <div class="col-md-12">
        <div class="row">
            <div class="col-sm-12">
                <h3>مقالات</h3>
            </div>
            @foreach($articles as $article)
                <div class="col-sm-3 col-lg-3 col-md-3">
                    <div class="thumbnail">
                        <img src="{{ $article->images['thumb'] }}" alt="">
                        <div class="caption">
                            <h4><a href="{{ $article->path() }}">{{ $article->title }}</a>
                            </h4>
                            <p>{{ str_limit($article->description , 120) }}</p>
                        </div>
                        <div class="ratings">
                            <p class="pull-right">{{ $article->viewCount }} بازدید</p>
                            {{--                            <p class="pull-right">{{ Redis::get("views.{$article->id}.articles") }} بازدید</p>--}}

                        </div>
                    </div>
                </div>
            @endforeach
        </div>
    </div>

{!! $articles->appends([ 'order' => request('order') , 'category' => request('category')])->render() !!}
[@endsection](https://roocket.ir/@endsection)

Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 6 سال پیش مطرح شد
1

سلام
@vajihebromand

کد های مربوط به کنترلر رو هم قرار بدید


vaj_bor
@vajihebromand 6 سال پیش مطرح شد
1

public function index()
{
$articles = Article::filter()->paginate(10);
return view('Home.all-articles' , compact('articles') );
}


vaj_bor
@vajihebromand 6 سال پیش مطرح شد
1

باسلام و احترام
با حذف قابلیت دو زبانه کردن سایت فعلا مشکل حل شد.
ممنون از همراهیتون


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام