Expressionengine แจ้งให้ผู้ใช้ทราบว่ามีการใช้ url_title แล้ว

ฉันมีแบบฟอร์มเซฟแคร็กเกอร์ที่อนุญาตให้ผู้ใช้ป้อนชื่อ เนื้อหาเนื้อหา url_title หากมีการใช้ url_title อยู่แล้ว ตามค่าเริ่มต้น ตัวเลขจะถูกเพิ่มใน url_title จึงไม่ซ้ำกัน แต่แทนที่จะมีพฤติกรรมอัตโนมัติที่เพิ่มตัวเลขลงใน url_title มีวิธีใดที่ฉันสามารถแจ้งให้ผู้ใช้ทราบว่า url_title ที่พิมพ์นั้นถูกใช้ไปแล้ว เพื่อให้ผู้ใช้สามารถป้อนใหม่ได้


person Pinkie    schedule 16.06.2011    source แหล่งที่มา


คำตอบ (1)


หากต้องการตรวจสอบความถูกต้อง {url_title} ในแบบฟอร์ม SafeCracker ของคุณ ได้ทันทีก่อนที่จะส่ง คุณสามารถเขียนรูทีน Ajax ที่จะตรวจสอบและเปรียบเทียบค่าของ <input /> กับคอลัมน์ url_title ในตารางฐานข้อมูล exp_channel_titles

เมื่อ SafeCracker ได้รับการพัฒนาโดย Barrett Newton ก็เคยมี เอกสารสำหรับนักพัฒนาสำหรับ Custom Fieldtypes และ Extension Hooks แต่เนื่องจาก EllisLab เข้าครอบครอง SafeCracker ฉันเชื่อว่าสิ่งเหล่านั้นถูกลบออกไปแล้ว

อย่างไรก็ตาม เนื่องจาก SafeCracker จัดการการตรวจสอบความถูกต้องของแบบฟอร์มฝั่งเซิร์ฟเวอร์โดยใช้ คลาสการตรวจสอบความถูกต้องของแบบฟอร์ม CodeIgniter คุณ ควรขยายคลาสการตรวจสอบให้ตรงตามความต้องการของคุณโดยการสร้าง ฟังก์ชันโทรกลับ เพื่อตรวจสอบความถูกต้อง {url_title} ในการส่งแบบฟอร์ม แทนที่จะอนุญาตให้ ExpressionEngine เพิ่มตัวเลขต่อท้ายข้อมูลฟิลด์โดยไม่ต้องแจ้งให้ทราบ

person rjb    schedule 16.06.2011
comment
ขอบคุณ ฉันจะดูคลาสการตรวจสอบ - person Pinkie; 17.06.2011