ใช่มีแพ็คเกจ Laravel ที่ทำให้เหตุการณ์ที่เกิดขึ้นง่ายขึ้นและการจัดการแท็กสำหรับการจัดการแท็กและการติดตามเหตุการณ์โดยเฉพาะอย่างยิ่งมีประโยชน์ในบริบทเช่น Google Tag Manager หรือรุ่น Taggable ทั่วไป
แพ็คเกจสำหรับการจัดการแท็ก
1. rinvex/laravel-tags
แพ็คเกจนี้ให้การจัดการแท็ก polymorphic ช่วยให้คุณสามารถติดแท็กโมเดลที่มีคารมคมคายได้อย่างง่ายดาย รองรับคุณสมบัติเช่น slug อัตโนมัติและการแปลออกจากกล่องโดยรวมกับแพ็คเกจอื่น ๆ (`spatie/laravel-sluggable` และ` spatie/laravel-translatable`) คุณสามารถแนบแท็กเข้ากับรุ่นโดยใช้วิธีการง่ายๆเช่น `attachTags ()` ซึ่งยอมรับแท็ก ID ชื่อแท็กหรืออินสแตนซ์ของโมเดลแท็ก มันถูกออกแบบมาสำหรับการติดแท็กรุ่นที่ยืดหยุ่นและง่ายในแอปพลิเคชัน Laravel [1]
2. spatie/laravel-tags
แพ็คเกจยอดนิยมอีกแพ็คเกจสำหรับการเพิ่มพฤติกรรมแท็กที่สามารถใช้กับรุ่น Laravel ได้ หลังจากการติดตั้งคุณเพิ่มลักษณะ `hastags` ในโมเดลของคุณเพื่อเปิดใช้งานฟังก์ชั่นการติดแท็ก มันเก็บแท็กในตารางเฉพาะและให้ API ง่าย ๆ สำหรับการสร้างและแนบแท็กกับรุ่น [2] [4]
3. การใช้งานที่กำหนดเอง
สำหรับความต้องการที่ง่ายขึ้นคุณสามารถใช้การติดแท็กด้วยตนเองโดยใช้ความสัมพันธ์แบบหลายต่อหลายครั้งระหว่างโมเดลและแท็กด้วยตารางเดือย (เช่น `item_tag`) วิธีการนี้เกี่ยวข้องกับการกำหนดความสัมพันธ์ในโมเดลที่มีคารมคมคายของคุณและการซิงค์แท็กในระหว่างการดำเนินการสร้าง/อัปเดต [6] [9]
แพ็คเกจสำหรับการเรียกกิจกรรมในการจัดการแท็ก (การรวม Google Tag Manager)
1. label84/laravel-tagmanager
แพ็คเกจนี้ทำให้การรวม Google Tag Manager (GTM) ง่ายขึ้นในแอปพลิเคชัน Laravel และให้วิธีที่ง่ายในการผลักดันเหตุการณ์และเลเยอร์ข้อมูลไปยัง GTM รองรับ:
- ผลักดันกิจกรรมที่กำหนดเองด้วย `tagmanager :: event ()`
- วิธีการเหตุการณ์ที่กำหนดไว้ล่วงหน้าเช่น `login ()`, `register ()`
- การติดตามผู้ใช้ ID ผ่านมิดเดิลแวร์
- การติดตามเหตุการณ์อีคอมเมิร์ซที่เข้ากันได้กับ GA4 รวมถึงมุมมองผลิตภัณฑ์การกระทำของรถเข็นการซื้อและการคืนเงินด้วยคลาสผู้ช่วยเช่น `tagmanageritem` เพื่อสร้าง payloads เหตุการณ์ได้อย่างง่ายดาย
แพ็คเกจต้องเพิ่มมิดเดิลแวร์ลงในเคอร์เนล HTTP ของคุณและแทรกแท็ก GTM ในมุมมองใบมีดของคุณ นอกจากนี้ยังรองรับกิจกรรมฝั่งเซิร์ฟเวอร์และคุณสมบัติขั้นสูงเช่นการติดตามผู้ใช้ ID และอีคอมเมิร์ซ [5] [8]
2. spatie/laravel-googletagmanager
แพ็คเกจนี้รวม Google Tag Manager เข้ากับ Laravel ช่วยให้คุณจัดการการติดตามและเพิ่มประสิทธิภาพการตลาดโดยไม่ต้องแก้ไขรหัสไซต์โดยตรง มันมีมิดเดิลแวร์เพื่อจัดการข้อมูลแฟลชที่ใช้เซสชันสำหรับกิจกรรม GTM และรองรับการเผยแพร่การกำหนดค่าสำหรับการปรับแต่ง มันเป็นโซลูชันที่ตรงไปตรงมาสำหรับการรวม GTM แต่มุ่งเน้นไปที่ผู้ช่วยสร้างเหตุการณ์น้อยกว่าเมื่อเทียบกับ label84/laravel-tagmanager [3]
สรุป
-สำหรับการจัดการแท็กในรุ่นให้ใช้ RINVEX/LARAVEL-TAGS หรือ spatie/laravel-tags สำหรับระบบแท็กที่แข็งแกร่งและพร้อมใช้งาน
-สำหรับการเรียกเหตุการณ์และการจัดการเลเยอร์ข้อมูลของ Google Tag Manager, label84/laravel-tagmanager เป็นแพ็คเกจที่ครอบคลุมซึ่งทำให้การผลักดันเหตุการณ์ง่ายขึ้นการจัดการ ID ผู้ใช้และการติดตามการโต้ตอบอีคอมเมิร์ซ
- อีกวิธีหนึ่งคือ Spatie/Laravel-GoogletagManager นำเสนอการรวมที่ง่ายกว่าสำหรับ GTM
-สำหรับความต้องการที่กำหนดเองหรือน้ำหนักเบาการใช้งานด้วยตนเองโดยใช้ความสัมพันธ์และการจัดส่งเหตุการณ์หลายต่อหลายครั้งของ Laravel ก็เป็นไปได้เช่นกัน
แพ็คเกจเหล่านี้ลดความซับซ้อนของการจัดการแท็กและการเรียกเหตุการณ์ในแอปพลิเคชัน Laravel อย่างมีนัยสำคัญทำให้นักพัฒนาสามารถมุ่งเน้นไปที่ตรรกะทางธุรกิจมากกว่ารายละเอียดการรวมระดับต่ำ
การอ้างอิง:
[1] https://github.com/rinvex/laravel-tags
[2] https://github.com/spatie/laravel-tags
[3] https://laravel-news.com/package/spatie-laravel-googletagmanager
[4] https://spatie.be/docs/laravel-tags/v4/basic-usage/using-tags
[5] https://packagist.org/packages/label84/laravel-tagmanager
[6] https://stackoverflow.com/questions/41846724/simple-tags-system-in-laravel-5-2
[7] https://madewithlaravel.com/laravel-meta
[8] https://github.com/label84/laravel-tagmanager
[9] https://dev.to/kazemmdev/laravel101-exploring-efficient-task-management-with-many-to-many-relationships และ tags-2a5p