سلام وقت بخیر
من یه بخش تو سایت درست کردم میخام تو پنل ادمین اگه دکمه غیرفعال زدم تو سایت نمایش نده
اگه دکمه فعال زدم نمایش بده تو سایت که کاربران میبینن
قبلا از استاتوس استفاده کردم برای اینکه یه پست رو فعال و غیرفعال کنم
الان میخام برای تمام پست ها این حالت در نظر بگیرم به چه شکل هست ؟
من به فیلد به اسم status تو دیتابیس ایجاد کردم و برای هر پست الان این اتفاق میفته ولی میخام برای همه پست ها با هم این ویژگی باشه
ممنون میشم راهنمایی کنید
route
Route::get('posts/status/{post}', [PostController::class ,'updatestatus'])->name('post.status');
controller
public function updatestatus(Post $post)
{
if ($post->status == 1) {
$post->status = 0;
} else {
$post->status = 1;
}
$post->save();
alert()->success('به روز رسانی با موفقیت انجام شد' , 'با تشکر');
return redirect(route('posts.index'));
}
برای بلید به این شکل باید بنویسم ؟ من نمیخام برای هر پست جدا باشه و نمیدونم این بخش چطوری تو پنل تعریف کنم
<div class="d-flex">
@if($post->status)
<span class="badge badge-success ml-1">فعال است</span>
<a href="{{ route('posts.status', $post->id) }}" class="badge badge-warning">غیر فعال شود</a>
@else
<span class="badge badge-info ml-1" >غیر فعال است</span>
<a href="{{ route('posts.status', $post->id) }}" class="badge badge-primary">فعال شود</a>
@endif
</div>
سلام
دوست عزیز شما status برای پست های انفرادی نگه دارید و بهتر از یک show مثل status که مقدارش true باشه برای همه پست ثبت کنید و گزینه نشان دادن همه را بر اساس true بودن پست ها در نظر بگیرید که مقدار show همه پست true بود ان را فعال یا غیر فعال کنی.
@shift.delete
سلام من نمیخام برای تک تک پست ها جدا باشه
میخام برای کل پست در نظر گرفته بشه که فعلا این بخش رو تو سایت غیرفعال کنم بعدا از پنل ادمین بشه کل این بخش رو فعال کرد که قابل نمایش باشه
این چیزی که فرمودید یعنی جدا از استاتوس انفرادی برای هر پست این کارو انجام بدم ؟و بر همین استاتوس انفرادی بیام پست هارو فعال و غیرفعال کنم تو سایت؟یا من اشتباه متوجه شدم؟
چطوری میتونم برای همه پست ها این show یا استاتوس رو در نظر بگیرم
مشکل اینه نمیدونم چطوری برای همه پست ها در نظر بگیرم
درود خوبی...
توی مدل وردپرس اینطور است
برای بخش نمایش پست ها برای هر پست چک باکس تعریف کنید و بر کلیک بر همه تمام چک باکس ها تیک می خوره و توی لیست تاشو مثلا غیر فعال انتخاب می کنید و دکمه تایید رو می زنید و کل پست غیر فعال می شود.
این سناریو توی لاراول تعریف کنید.
پیوند زیر:
https://stackoverflow.com/questions/30423288/laravel-update-multiple-rows-using-checkboxes
@endworld
سلام ممنونم
اینجوری منظورم نیست
کارفرکا یه بخش گفت اضافه کنم تو پنل و تو صفحه سایت ، دکمه اون بخش رو بزارم ولی فعلا چیزی نمایش نده حالت غیرفعال باشه بعدا خودش چند ماه دیگه دکمه فعال بزنه و این بخش توی سایت نمایش بده
میتونید به راحتی یک فانگشن درون مادول خود پست بنویسید با عنوان به طور مثال show() و دستور شرطی خود تون که نمایش پست های اکتیو هست رو اونجا بنویسید .
و هر زمان که دیتا مودل پوست رو نیاز داشتید بجای فراخوانی فانگشن های grt () یا all() فانگشن show() رو استفاده کنید
و این قسمت
من به فیلد به اسم status تو دیتابیس ایجاد کردم و برای هر پست الان این اتفاق میفته ولی میخام برای همه پست ها با هم این ویژگی باشه
ممنون میشم راهنمایی کنید
اگر همه پست ها رو میخوای بکجا تغییر وضعیت بدی کد زیر رو بزن
$posts=Post::all();
foreach($posts as $item){
$item->update([
"status" => true
])
}
@hosseinradvictor
برای متد show مثل ماژول ها میشه درسته ؟
مثلا اگه ماژولی فعال و غیرفعال شد از پنل تو سایت برای همه قابل نمایش یا پنهان میشه ؟
من همچین چیزی میخام باشه
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟