راکت
حل شده

مخفی کردن یک پست یا محصول

5 پاسخ

سلام دوستان من میخام وقتی تو پنل ادمین پست یا محصولی رو غیرفعال میکنم تو فرانت اون محصول یا پست مورد نظر مخفی بشه
چندتا راه تست کردم ولی خب اشتباه بود و به نتیجه نرسیدم
این برای پنل ادمین هست که اکیه کار میکنه حالا چطوری تو فرانت باید اعمال بشه؟


                        @foreach($blogs as $blog)

                            @switch($blog->status)
                                @case(1)
                                @php
                                    $url = route('admin.blogs.status',$blog->id);
                                    $status = '<a href="https://roocket.ir/'.$url.'" class="badge badge-success">فعال</a>' @endphp
                                @break
                                @case(0)
                                @php
                                    $url = route('admin.blogs.status',$blog->id);
                                    $status = '<a href="https://roocket.ir/'.$url.'" class="badge badge-warning">غیر فعال</a>' @endphp
                                @break
                                @default
                            @endswitch
                        @endforeach
ثبت پرسش جدید

پاسخ‌ها

5
سبحان دادخواه
سبحان دادخواه
@SobhanDadkhah

تخصص: دانشجوی برنامه نویسی :)

بهترین پاسخ

@wxyz
سلام. وقتی میخواین فقط پست های فعال رو نمایش بدین نیازی نیست پست های غیر فعال رو هم بگیرید و به فرانت فرستاده بشه و پیمایش بشه توی حلقه.
میتونید موقع کوئری زدنتون داخل کنترلر کوئری رو محدود به status کنید :

$latestPosts = Post::whereStatus(1)->latest()->get();
// latest : مرتب سازی از جدیدترین به قدیمی ترین

مورد بعدی اینکه نیازی نیست ساختار switch به کار ببرید داخل ویو. با همون حلقه میتونید هندل کنید چون فقط دارید پست های اکتیو رو میگیرید:

@foreach($posts as $post)
    <div class="title">{{ $post->title }}</div>
    <div class="body">{{ $post->body }}</div>
    .
    .
    .
@endforeach

به مرور با کسب تجربه موارد زیادی دستگیرتون میشه اما پیشنهاد میکنم از ابتدا با یک اموزش ویدیویی خوب پیش برید که در استارت کار پیشنیاز ها رو تا حد خوبی درک کنید . در نتیجه در ادامه خودتون خیلی بهتر میتونید موارد پیشرفته تر رو یاد بگیرید.
موفق باشید

ممدو
ممدو
@mamado

تخصص: در حال یادگیری ...

سلام دوست خوبم
خب طبیعتا توی اون جدول ک ساختی یه فیلد به نام status یا همون وضعیت داری حالا میتونه دو تا مقدار بگیره یکی 0 به معنی اینه ک غیرفعاله و مقدار 1 به اینه ک فعال هس زمانی ک توی پنل ادمین پستی رو غیرفعال میکنید وضعیت اون به 0 تغییر میکنه و در قسمت فرانت پروژت موقعی ک میخوای پستا رو به نمایش بزاری با یه دستور ساده میای میگی اونایی رو نمایش بده ک وضعیت یا status اونها 1 باشه همین امیدوارم جواب سوالتو داده باشم باز اگه سوال داری خوشحال میشم کمکت بکنم 🙂

Paradox
Paradox
@paradox

تخصص: در حال یادگیری

@mamado
سلام مجدد دوست عزیز
بله فیلد استاتوس 0 و 1 قرار دادم ولی کار نکرد
نمیدونم دقیقا از چه کدی استفاده کنم

                            @switch($blog->status)
                                @case(1)
                                @php

                                 محتویات پست 

                                @break
                                @case(0)
                                @php

                                 محتویات پست 

                                @break
                                @default
                            @endswitch

من به این صورت نوشتم که اشتباه و به جواب نرسیدم
تو سوییچ نباید قرار بدم ؟

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

محمد رحیمی انگیز
محمد رحیمی انگیز
@rahimiangiz

تخصص: مدیر فناوری اطلاعات

باسلام و شاد باش
توی مدل Blog یک فانکشن بساز که بررسی کنه اکتیوهست یا نه:

public function isActive(){
return $this->status;
}

حالا توی فرنت و نمایش بلاگها یک شرط میزاریم

@if( $blog->isActive()){

//show blogs
}
Paradox
Paradox
@paradox

تخصص: در حال یادگیری

@rahimiangiz
@SobhanDadkhah
خیلی خیلی ممنونم

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

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