ایجاد slug های فارسی در laravel

اول بگم که slug (بخونید اسلاگ)  یعنی چی ؟

معنی لغوی slug  تقریباً یعنی کِشنده و تنبل یه چیزایی مثل حلزون و اینا، حالا دقت نکردم ببینم چرا این اسم رو انتخاب کردن ولی اگه دوست داشتید سرچ کنید و تاریخچه شو ببینید.

اما از دید فنی slug یک نام یکتاست که به هر نوشته برگه و… در سایت ها اختصاص میدن و در Url  اون مطلب آورده میشه مثال زیر :

تو مثال بالا متن فریم-ورک-ها-و-کتابخانه-های-php-لاراول-laravel      اسلاگ ماست که یکتا و فقط برای همین مطلبه، از خواص slug ها میشه به تاثیر در سئو سایت ، خوانایی آدرس ها و دسته بندی بهتر اشاره کرد.

پس در کل چیز خوبیه استفاده کنید 

خب ، اما داسنان ما از چه قراره ؟  برای طراحی cms شخصیم به قسمت پست ها و روتینگ پست ها رسیدم ، و طبیعتاً با دونستن اهمیت slug ها باید از اون استفاده میکردم ، شروع کردم به نوشتن توابع و کد های اینکارو تا یه جاهایی پیش رفتم ، ولی یه لحظه فکر کردم گفتم پسر تو داری با larvel  کار میکنی ، و کسی که با laravel کار میکنه میدونه تقریباً برای همه چی پکیجش موجوده ، یه سرچی زدم و… رسیدم به این پکیج Eloquent-Sluggable  به جرعت میگم که پکیج عالیه و فعلاً تا اینجا مشکلی برام ایجاد نکرده. خب داستان بسه بریم ببینم چطور باید نصب و استفاده کنیم.

 

اول یه سری به صفحه گیت این پکیج میزنیم Eloquent-Sluggable و میریم به قسمت Install که ببینیم چطور باید نصبش کنیم(همیشه و حتماً به صفحه اصلی هر پیکیج سربزنید تا از آخرین نسخه ها ، بروز رسانی ها و… مطلع بشید)

دستور زیر رو داخل Command Line خودتون اجرا کنید:

 composer require cviebrock/eloquent-sluggable:^4.5

صبر کنید که پکیج نصب شه ، بعد از نصب پکیج ( اگر لاراول  ۵٫۵ به بالا داشته باشید) به صورت خودکار ثبت میشه و نیاز نیست کار خواصی بکنید

اگه میخواید به تنظیمات پکیج دسترسی داشته باشید باید این دستور رو اجرا کنید :

php artisan vendor:publish --provider="Cviebrock\EloquentSluggable\ServiceProvider

خب تا اینجا تونستیم پکیج رو با موفقیت ثبت کنیم ولی هنوز هیچ استفاده ای نکردیم ازش برای استفاده از یه پکیج باید مدل خودمون رو به این شکل تغییر بدیم

 

خب کار تمومه !!! جطور ؟؟  وقتی شما از Eloquent ها استفاده میکنید به از ذخیره یک پست در دیتابیس به صورت خودکار slug رو از منبعی که شما بعش گفتید میسازه و تمام.

همه چیز اوکی و تمومه تا اینجای کار ولی یه مشکل وجود داره و اونم زبان فارسی هست  ، یکم باز زبان فارسی مشکل داره ولی با روش زیر مشکلتون حل میشه ، قبلش باید تنظیمات پکیج رو قابل دسترسی کرده باشید که بالاتر گفتم چطور این کارو انجام بدید . به مسیر  config\sluggable.php  برید و این فایل رو باز کنید، پارامتر method رو پیدا کنید و اون رو به شکل زیر تغییر بدید

 

 

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

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

محمد قبادی

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

مطالب مرتبط
نظرات ( ۲ )
  1. رضا
    تیر ۲۶, ۱۳۹۷ at ۸:۲۱ ب.ظ
    پاسخ

    سلام ، ممنون خیلی دنبال این آموزش میگشتم

  2. SannyLethy
    آذر ۱۹, ۱۳۹۷ at ۷:۰۲ ب.ظ
    پاسخ

    Make a more new posts please 🙂

ارسال یک نظر