سلام خدمت دوستان خسته نباشید.
میخواستم ببینم چطوری میشه مثلا بین متن مقاله ای که داریم میذاریم، مثل خیلی از سایت ها که وسط مقاله مثلا نوشته مقاله پیشنهادی یا این مقاله را هم بخوانید و عنوان اون مقاله نمایش داده میشه و لینک میشه بهش رو پیاده سازی کنیم در لاراول ؟
مثلا توی وردپرس به این صورته که هر مقاله ای که میذاری یه تیکه کدی مثل 5 = [HTML_ID]
بهت میده که وقتی اونو هر جایی از ادیتور قرار میدی حالا با یه استایلی میره دقیقا همون مقاله رو با متن و لینک بر میداره میاره
ادیتور هم از TinyMCE استفاده میکنم نمیدونم حالا مهمه یا نه ولی میخواستم ببینم چطور باید اینو پیاده سازی کرد ؟
پیشاپیش ممنون ازتون
سادهترین راهحل اینه که در هنگام نمایش پست، shortcode رو به کد HTML تبدیل کنین:
$content = 'Hello, world! [link-to-post id=44]';
return preg_replace('/\[link-to-post id=(\d+)\]/i', '<a href="https://example.com/posts/${1}">Recommended post</a>', $content);
سلام. شما میتونین با این پکیج
https://github.com/webwizo/laravel-shortcodes
چیزی شبیه shortcodeهای وردپرس رو توی لاراول داشته باشین. روش استفاده هم توی README همین ریپازیتوری توضیح داده شده.
شما برای این قابلیت در واقع سه راهکار دارید من هر سه راهکار رو مختصر براتون توضیح می دم (البته استفاده از پکیج رو دوست گرامیمون محمد اشاره کردن)
خیلی ممنون دوست عزیز
اگر خودم بتونم کدشو بزنم خیلی بهتر از استفاده از پکیجه چون سایت الان ران شده و چون روی هاست اشتراکی هست یکم دردسره اینکه بخوام پکبج نصب کنم، برای همین اگر مقاله ای هست منبعی هست یا خودتون میدونید چطوری باید پیاده سازیش کنم ممنون میشم راهنمایی کنید
همچنین ممنون از شما آقا محمد به خاطر معرفی این پکیج خوب، در آخر اگر نشه باید همین پکیج رو نصب کنم
سادهترین راهحل اینه که در هنگام نمایش پست، shortcode رو به کد HTML تبدیل کنین:
$content = 'Hello, world! [link-to-post id=44]';
return preg_replace('/\[link-to-post id=(\d+)\]/i', '<a href="https://example.com/posts/${1}">Recommended post</a>', $content);
من یک روش ساده رو این ترتیب خدمتتون ارائه می دم
خیلی خیلی ممنونم ازتون خیلی کمکم کرد راهنمایی هاتون میدونم الان دیگه باید دنبال چی باشم
فقط جناب فخرالدین فکر کنم همونطور که آقا محمد بالاتر اشاره کرده باید id رو هم توی اون shortcode پاس بدم چون شاید تو دیتابیس خیلی از مقالات اون فیلدی که میگین true باشن پس باید آیدی رو هم پاس بدیم که متمایز بشن درسته ؟
محمد جان این کدی که زدی عالی بود درست هم کار میکرد میرفت و اون لینک رو میاورد
فقط واسه پویا سازی بیشتر چطوری میشه با اون آیدی، مقاله رو پیدا کرد، یا حتی چند تا مقاله باشه که به جای اون متنی که دستی نوشتیم عنوان مقاله رو پیدا کنه و بیاره ؟
بله گفتم اون روشی که گفتم ساده ترین حالت ممکنه شما می تونید اون عنوان کد کلی بازی کنید حتما لازم نیست اون مراحلی که گفتم مو به مو عینا اون روش باشه شما می تونید کلی با اون روش بازی کنید و بسطش بدید یا همون طور که گفتم بیاد فقط مقالاتی رو پیشنهاد بدید که موضوع یا محتواش یا دسته بندیش با اون مقاله متناسب باشه
بازم راهنمایی خواستید من در خدمت شما هستم
@Waltun
شما نمیخوایین مقالات مرتبط رو به صورت اتوماتیک بگیرین، میخوایین توی هر قسمت از متن مقاله به یه مقاله دیگه لینک بدین. پس آیدی رو خودتون توی shortcode پاس میدین. یه چالش براتون میمونه که گرفتن عنوان مقاله، تصویر یا بقیهی اتریبیوتهاست که دو راهحل دارین:
پیشنهاد میکنم کلاسی برای هندلکردن shortcodeها بسازین و محتوای پست رو بهش بدین تا رندر کنه و خروجی اون رو به ویو بفرستین، اینطوری بعدا میشه توسعه داد و shortcodeهای بیشتری اضافه کرد. (اصل اول و دوم SOLID)
این تیکه کد زیر که داره آیدی رو میگیره :
'/\[link-to-post id=(\d+)\]/i'
نمیشه از این آیدی رو یجوری توی متغیر ذخیره کرد و با اون از دیتابیس پیدا کرد مقاله رو ؟
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟