گاهی اوقات پیش میاد که حتی یک مطلب رو تو برنامه نویسی با سرچ کردن حلش میکنیم . اما گاهی این موارد برای بار دوم که میخواهیم استفاده کنیم نیازه مجدد به منبعی که قبلا ازش کد رو پیدا کردیم ، بازیابی کنیم . قصد دارم طی چند سری پست چیزهایی که فکر میکنم به دردتون میخوره رو اینجا بیارم :
-
حذف خطای please fill out this field
عموما این خطا فقط مربوط به لاراول نیست تقریبا میشه گفت برای همه فرم ها در html در نظر گرفته شده . و این خطا از طریق validation نوشته شده درمرورگرهای کروم و موزیلا و … می باشد.
برای رفع این خطا که دیگه نمایش نده (چون گاهی بعضی از مشتریان دوست ندارن حتی یک کلمه بخصوص تو ایران سایت فارسی نباشه که البته قابل قبوله درخواستشون ) فقط کافیه به تگ فرم کلمه novalidate اضافه کنید . اینطوری برای لاراول یکبار فرم ارسال میشه و خطاها بررسی میشه و اگر خطایی شامل خالی بودن فیلدی که نیاز به پر شدن داره از طریق خود لاراول یا هر سیستم مدیریت محتوایی بررسی و ارسال مجدد میشه .
<form method=”post” novalidate>
-
نمایش متفاوت تاریخ ها – human diff
عموما تاریخ ها اینطوری نمایش داده میشه مثلا میزنه 13 اسفند سال 1399 خب این یکم تا ذهن بخواد بهش نزدیک بشه و پست یا مطلب انتشار داده شده یا سفارشی که تو سایت ثبت شده رو پیدا کنه برای چه تاریخی بود و تصور کنه یکم سخت میشه و زمان میگیره .
برنامه نویس های تاریخ ها برای این بخش که من برای لاراول و وردپرسش رو پیدا کردم ، توابعی در نظر گرفتن.
در لاراول به صورت پیش فرض ما برای تاریخ ها کلاس Carbon رو داریم : حالا برای استفاده تو blade فقط کافیه از فانکشن diffForHumans به شکل زیر استفاده کنیم :
{{ \Carbon\Carbon::createFromTimeStamp(strtotime($order->created_at))->diffForHumans()}}
خب در اینصورت زمان به شکل های زیر نمایش داده میشه :
چند ثانیه قبل – یک هفته پیش – یک ماه پیش – …..
همین حالت رو تو وردپرس هم داریم :
$time_since_posted = human_time_diff( get_the_modified_time( ‘U’ ), current_time( ‘timestamp’ ) ) . ‘ پیش’;
داخل این تابع human_time_diff وردپرس دوتا تابع دیگه استفاده شده : تابع get_the_modified_time که تاریخ درج شده (یا به روزرسانی شده ) مطلب رو میگیره و همچنین تابع current_time زمان آخرین لحظه که بعد از ارسال برای تابع اصلی خروجی میشه دقیقه مثل بالا (یک هفته پیش یا …)