راکت

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

6 پاسخ

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

vaj_bor
vaj_bor
@vajihebromand
ثبت پرسش جدید

پاسخ‌ها

6
حسام موسوی
حسام موسوی
@hesammousavi

تخصص: طراح و برنامه نویس

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

Alimotreb
Alimotreb
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

سلام
@vajihebromand

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

شاید پاسخ شما همین‌جا باشد

vaj_bor
vaj_bor
@vajihebromand

با سلام و تشکر
فایل ها به شرح زیر می باشد.
من همزمان با آموزش راکت یک پروژه تعریف کردم .منظورم پروژه خودم بود
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="https://roocket.ir/{{ $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
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

سلام
@vajihebromand

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

vaj_bor
vaj_bor
@vajihebromand

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

vaj_bor
vaj_bor
@vajihebromand

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

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

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