راکت

تگ یا tags

6 پاسخ

سلام دوستان خوبین؟ خسته نباشین شاد و تندرست باشین.
من تو برنامه نویسی تا حالا برای موضوعی تگ نزدم خواستم بدونم برای چی واسه یه مقاله یا دوره آموزشی تگ میزنن.
حالا هم اگه ما مثلا به یه مقاله تگ زدیم بعدش چه اتفاقی می افته؟ چطوری باید این تگو هندل کنیم؟ آیا نیاز به روت جداگونه و صفحه ی جداگونه ای داره.
وقتی روی تگی میزنیم آیا سرچی در سایت انجام میشه.
برای مثال در همین سایت راکت من روی لینک تگی کلیک کردم سه چهار نوع نتیجه رو بهم نشون داد. مقاله ها جدا - دوره ها جدا - بحث و گفتگوها جدا.

ثبت پرسش جدید

پاسخ‌ها

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

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

سلام
قرار دادن تگ یک مسئله خیلی متداول برای مطالب هست که با چند تگ بتونیم بفهمیم کلی‌ات مطلب مورد نظر چی هست
برای مثال تگ‌ها در شبکه‌های اجتماعی مسئله کاملا جا افتاده‌ای هستند.
این بستگی به نوع پروژه‌اتون داره که به چه شکلی تصمیم داره که پیاده‌سازی کنه تگ‌ها رو

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

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

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

حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

پس باید تگها یه روت داشته باشن و یه متد تا فیلتر انجام بشه. @ali.bayat

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

معمولا یک رابطه از نوع Many to Many بین تگ‌ها و پست ها وجود داره. پس علاوه بر جدول posts و tags نیازمند جدول واسط هم هستیم.

بعد میاید مشخص میکنید که هر یک از پست ها چه تگ هایی باید داشته باشه. حالا وقتی کاربر مثلا بروی تگ «لاراول» کلیک کرد معمولا به مسیری مثل مسیر زیر هدایت میشه:

your_website.com/tag/لاراول

بعد کافیه تو کنترلر موقع کوئری زدن فقط پست هایی رو بگیرید که با تگ لاراول علامت گذاری شده اند. مثلا اینجوری:

$tag = Tag::where('slug', 'لاراول')->first();
$related_posts = $tag->posts->latest()->get();
علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

میتونند هیچ Route یا Method ی هم نداشته باشند
و در حین فیلتر کردن مقالات شما این لاجیک رو پیاده کنید

حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

درسته، مرسی از شما که زحمت جواب دادنو کشیدید.
@mhyeganeh
@ali.bayat

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

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