ปลั๊กอิน TNTSEARCH ใช้สำหรับ GRAV CMS กลไกค้นหาข้อความแบบเต็มรูปแบบที่ใช้ดัชนีที่ใช้งานได้จากไลบรารี TNTSEARCH ที่ให้การค้นหาเนื้อหา GRAV ที่ใช้ AJAX ที่รวดเร็ว ปลั๊กอินนี้มีความยืดหยุ่นสูงช่วยให้ดัชนีข้อมูลเนื้อหาโดยพลการรวมถึงเทมเพลต Twig ที่กำหนดเองเพื่อให้โอกาสในการจัดทำดัชนีแบบโมดูลาร์และประเภทหน้าแบบไดนามิกอื่น ๆ TNTSEARCH ให้บริการ CLI เช่นเดียวกับการดูแลระบบตามผู้ดูแลระบบและการจัดทำดัชนีอีกครั้งรวมถึงเครื่องมือค้นหาส่วนหน้า AJAX ที่ใช้พลังงานในตัว
หมายเหตุ: TNTSEARCH เวอร์ชัน 3.0.0 ตอนนี้ต้องการ GRAV 1.6.0 หรือใหม่กว่าในการใช้งานเนื่องจากใช้ฟังก์ชันการทำงานใหม่ที่ไม่สามารถใช้ได้ในเวอร์ชันก่อนหน้า

การติดตั้งปลั๊กอินการค้นหา TNT สามารถทำได้ในหนึ่งในสองวิธี วิธีการติดตั้ง GPM (Grav Package Manager) ช่วยให้คุณสามารถติดตั้งปลั๊กอินได้อย่างรวดเร็วและง่ายดายด้วยคำสั่งเทอร์มินัลแบบง่ายในขณะที่วิธีการด้วยตนเองช่วยให้คุณสามารถทำได้ผ่านไฟล์ ZIP
วิธีที่ง่ายที่สุดในการติดตั้งปลั๊กอินนี้คือผ่าน Grav Package Manager (GPM) ผ่านเทอร์มินัลของระบบของคุณ (เรียกอีกอย่างว่าบรรทัดคำสั่ง) จากรากของประเภทการติดตั้ง GRAV ของคุณ:
bin/gpm install tntsearch
สิ่งนี้จะติดตั้งปลั๊กอินการค้นหา TNT ลงในไดเรกทอรี /user/plugins ของคุณภายใน GRAV ไฟล์ของมันสามารถพบได้ภายใต้ /your/site/grav/user/plugins/tntsearch
นอกเหนือจากข้อกำหนด GRAV มาตรฐานปลั๊กอินนี้มีข้อกำหนดพิเศษบางอย่าง เนื่องจากลักษณะที่ซับซ้อนของเครื่องมือค้นหา TNTSEERCH ใช้ฐานข้อมูลไฟล์แบนเพื่อจัดเก็บ WordList รวมถึงการแมปสำหรับเนื้อหา สิ่งนี้ได้รับการจัดการโดยอัตโนมัติโดยปลั๊กอิน แต่คุณต้องตรวจสอบให้แน่ใจว่าคุณติดตั้งต่อไปนี้บนเซิร์ฟเวอร์ของคุณ:
- PHP โดยค่าเริ่มต้นมาพร้อมกับ PDO และระบบที่ใช้ Linux ส่วนใหญ่มาพร้อมกับ SQLite แล้ว
SQLite มาก่อนติดตั้งไว้ล่วงหน้าบน Mac ของคุณ แต่คุณสามารถอัปเกรดเป็นเวอร์ชันล่าสุดด้วย Homebrew:
ติดตั้ง homebrew
$ /usr/bin/ruby -e " $( curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install ) "ติดตั้ง sqlite ด้วย homebrew
$ brew install sqliteดาวน์โหลด SQLite เวอร์ชันที่เหมาะสมจากหน้า SQLite Downloads
แยกไฟล์ ZIP ที่ดาวน์โหลดมาแล้วเรียกใช้ sqlite3.exe ที่เรียกใช้งานได้
ก่อนที่จะกำหนดค่าปลั๊กอินนี้คุณควรคัดลอก user/plugins/tntsearch/tntsearch.yaml ไปยัง user/config/plugins/tntsearch.yaml และแก้ไขการคัดลอกนั้นเท่านั้น
นี่คือการกำหนดค่าเริ่มต้นและคำอธิบายของตัวเลือกที่มีอยู่:
enabled : true
search_route : ' /search '
query_route : ' /s '
built_in_css : true
built_in_js : true
built_in_search_page : true
enable_admin_page_events : true
search_type : auto
fuzzy : false
distance : 2
phrases : true
stemmer : ' no '
display_route : true
display_hits : true
display_time : true
live_uri_update : true
limit : 20
min : 3
snippet : 300
index_page_by_default : true
scheduled_index :
enabled : false
at : ' 0 */3 * * * '
logs : ' logs/tntsearch-index.out '
filter :
items :
- [email protected]
powered_by : true
search_object_type : Grav ตัวเลือกการกำหนดค่ามีดังนี้:
enabled - เปิดใช้งานหรือปิดใช้งานปลั๊กอินได้ทันทีsearch_route - เส้นทางที่ใช้สำหรับหน้าการค้นหาในตัวquery_route - เส้นทางที่ใช้โดยแบบฟอร์มการค้นหาเพื่อค้นหาเครื่องมือค้นหาbuilt_in_css - เปิดหรือปิดการใช้งานสไตล์ CSS ในตัวbuilt_in_js - เปิดหรือปิดการใช้งาน JavaScript ในตัวbuilt_in_search_page - เปิดใช้งานหรือปิดใช้งานหน้าการค้นหาในตัวenable_admin_page_events - เปิดใช้งานหรือปิดใช้งานเหตุการณ์หน้าเว็บที่เกิดขึ้น on-save เพื่อเพิ่ม/อัปเดต/ลบหน้าในดัชนีsearch_type - สามารถเป็นหนึ่งในประเภทเหล่านี้:basic - การจับคู่สตริงมาตรฐานboolean - สนับสนุน or minus เช่น foo -barauto - ตรวจจับโดยอัตโนมัติว่าจะใช้ basic หรือ booleanfuzzy - ตรงกับถ้าคำว่า 'ปิด' แต่ไม่จำเป็นต้องตรงกับการจับคู่ที่แน่นอนdistance - ระยะทาง Levenshtein ของการค้นหาฟัซซี่ มันแสดงถึงจำนวนของอักขระที่จำเป็นต้องเปลี่ยนแปลงลบหรือเพิ่มในคำเพื่อให้ตรงกับคำหลักค้นหา การเพิ่มระยะทางทำให้เกิดผลการค้นหามากขึ้น แต่ลดความแม่นยำของการค้นหาphrases - จัดการวลีสนับสนุนโดยอัตโนมัติstemmer - สามารถเป็นหนึ่งในประเภทเหล่านี้:no - ไม่มี Stemmerarabic - ภาษาอาหรับcroatian - ภาษาโครเอเชียgerman - ภาษาเยอรมันitalian - ภาษาอิตาลีporter - Porter Stemmer สำหรับภาษาอังกฤษportuguese - ภาษาโปรตุเกสrussian - ภาษารัสเซียukrainian - ภาษายูเครนdisplay_route - แสดงเส้นทางในผลการค้นหาdisplay_hits - แสดงจำนวนการเข้าชมในผลการค้นหาdisplay_time - แสดงเวลาดำเนินการในผลการค้นหาlive_uri_update - เมื่อเปิดใช้ built_in_js ให้อัปเดตสดแถบ URI ในหน้า search_routelimit - จำนวนสูงสุดของผลลัพธ์ที่จะแสดงmin - จำนวนอักขระ mininum ที่พิมพ์ก่อนทำการค้นหาsnippet - จำนวนอักขระสำหรับการแสดงตัวอย่างรายการผลลัพธ์index_page_by_default - ควรจัดทำดัชนีทุกหน้าโดยค่าเริ่มต้นเว้นแต่จะมีการแทนที่ frontmatterscheduled_index - งานดัชนีกำหนดเวลาใหม่ ปิดใช้งานโดยค่าเริ่มต้นเมื่อเปิดใช้งานค่าเริ่มต้นเพื่อเรียกใช้ทุก 3 ชั่วโมงและผลลัพธ์ผลลัพธ์ไปยัง logs/tntsearch-index.outfilter - ตัวกรองคอลเลกชันหน้าเว็บที่ให้คุณเลือกหน้าเฉพาะเพื่อจัดทำดัชนีผ่านคิวรีคอลเลกชันpowered_by - แสดงข้อความ tnteScherch ที่ขับเคลื่อนsearch_object_type - อนุญาตให้คลาสที่กำหนดเองแทนที่การสนับสนุน หน้า Grav หน้า เริ่มต้น สิ่งนี้ช่วยให้ความสามารถในการค้นหาแบบกำหนดเองได้อย่างสมบูรณ์สำหรับประเภทข้อมูลใด ๆ TNTSEARCH อาศัยเนื้อหาของคุณที่ถูกจัดทำดัชนีลงในฐานข้อมูล SQLITE INDEX ก่อนที่จะสามารถค้นหาคำค้นหาใด ๆ ได้ สิ่งนี้คล้ายกับเครื่องมือค้นหาอื่น ๆ เช่น Elasticsearch, Solr, Lucene, ฯลฯ แต่ใช้ห้องสมุดเครื่องมือค้นหา PHP Search Library TNTSEARCH Library เพื่อให้ได้สิ่งนี้ด้วยการตั้งค่าเพียงเล็กน้อยและไม่มีความยุ่งยาก
ขั้นตอนแรกหลังจากการติดตั้งปลั๊กอินคือการจัดทำดัชนีเนื้อหาของคุณ มีหลายวิธีที่คุณสามารถทำได้
ก่อนอื่นหากคุณสามารถเข้าถึง CLI หรือเลือกที่จะไม่ใช้ปลั๊กอินผู้ดูแลระบบคุณสามารถใช้คำสั่ง CLI ในตัว:
$ bin/plugin tntsearch indexสิ่งนี้จะสแกนหน้าทั้งหมดของคุณและจัดทำดัชนีเนื้อหา คุณควรเห็นผลลัพธ์บางอย่างเช่นนี้:
Re-indexing Search
Added 1 /
Added 2 /blog/classic-modern-architecture
Added 3 /blog/daring-fireball-link
Added 4 /blog/focus-and-blur
Added 5 /blog/just-some-text-today
Added 6 /blog/london-industry
Added 7 /blog/random-thoughts
Added 8 /blog/sunshine-in-the-hills
Added 9 /blog/the-urban-jungle
Total rows 9
Done.สิ่งนี้บ่งบอกถึงการจัดทำดัชนีที่ประสบความสำเร็จของเนื้อหาของคุณ
หากคุณใช้ปลั๊กอินผู้ดูแลระบบคุณสามารถจัดทำดัชนีเนื้อหาของคุณได้โดยตรงจากปลั๊กอิน TNTSEARCH เพิ่มไอคอน รีทรีย์ ใหม่ที่ให้คุณสร้างดัชนีใหม่หรือจัดทำดัชนีเนื้อหาทั้งหมดของคุณใหม่อย่างรวดเร็วและสะดวกด้วยการคลิกเพียงครั้งเดียว

หรือคุณสามารถนำทางไปยังส่วนการกำหนดค่า TNTSEARCH และคลิกปุ่ม Index Content :

หมายเหตุ: หน้าใด ๆ ที่ใช้แอตทริบิวต์ส่วนหัวของหน้า
redirectจะถูกข้ามระหว่างการจัดทำดัชนี
คุณสามารถข้ามหน้าเว็บที่อยู่ในตัวกรองดัชนีได้อย่างชัดเจนโดยการเพิ่ม YAML นี้ลงในส่วนหัวของหน้า:
tntsearch:
index: false
ด้วย TNTSEARCH เวอร์ชัน 3.0 ใหม่การสนับสนุนได้รับการเพิ่มสำหรับหลายภาษา (ต้องการ GRAV 1.6) ภายในนี้หมายความว่าค่อนข้างเก็บดัชนีเป็น user:://data/tntsearch/grav.index ดัชนีหลายตัวถูกสร้างขึ้นตามภาษาที่กำหนดค่าใน GRAV ตัวอย่างเช่นหากคุณตั้งค่าภาษาที่รองรับเป็น ['en', 'fr', 'de'] จากนั้นเมื่อคุณดำเนินการดัชนีคุณจะได้รับสามไฟล์: en.index , fr.index และ de.index เมื่อสอบถาม ภาษาที่ใช้งาน ที่เหมาะสมจะกำหนดว่าดัชนีใดที่ถูกสอบถาม ตัวอย่างเช่นการดำเนินการค้นหาในหน้าชื่อ /fr/search จะส่งผลให้ฐานข้อมูล fr.index ใช้และผลลัพธ์ภาษาฝรั่งเศสที่จะส่งคืน
การจัดทำดัชนีหมายเหตุจะใช้เวลานานขึ้นขึ้นอยู่กับจำนวนภาษาที่คุณสนับสนุนเนื่องจาก TNTSEARCH มีการจัดทำดัชนีแต่ละหน้าในแต่ละภาษา
หมายเหตุ: ในขณะที่อักขระที่เน้นเสียงได้รับการสนับสนุนในรุ่นนี้ แต่ปัจจุบันยังไม่มีการสนับสนุนในไลบรารี TNTSEARCH พื้นฐานเพื่อให้ตรงกับอักขระที่ไม่เน้นเสียงกับตัวละครที่เน้นเสียงดังนั้นจึงจำเป็นต้องมีการจับคู่ที่แน่นอน
หนึ่งในคุณสมบัติใหม่ที่ยอดเยี่ยมของ GRAV 1.6 คือตัว กำหนดตารางเวลา ในตัวที่ช่วยให้การใช้งานที่จัดเตรียมปลั๊กอินทำงานเป็นระยะ TNTSEARCH เป็นกรณีการใช้งานที่ยอดเยี่ยมสำหรับความสามารถนี้เนื่องจากช่วยให้งานจัดทำดัชนีได้รับการกำหนดให้ทำงานทุกสองสามชั่วโมงโดยไม่จำเป็นต้องเก็บสิ่งต่าง ๆ ไว้ด้วยตนเอง มีตัวเลือกไม่กี่ตัวที่ช่วยให้คุณกำหนดค่าความสามารถนี้
หมายเหตุแรกว่าฟังก์ชันการกำหนดตารางเวลานี้จะปิดการใช้งานตามค่าเริ่มต้นดังนั้นคุณต้องเปิดใช้งานฟังก์ชันการกำหนดตารางเวลาในการตั้งค่าปลั๊กอิน TNTSEARCH หลังจากนั้นคุณสามารถกำหนดค่าความถี่ที่งานการจัดทำดัชนีควรทำงาน ค่าเริ่มต้นคือทุก 3 ชั่วโมง สุดท้ายคุณสามารถกำหนดค่าที่บันทึกการจัดทำดัชนีใด ๆ ที่บันทึกไว้
เมื่อคุณมีดัชนีแล้ว TNTSEARCH จะใช้กิจกรรมผู้ดูแลระบบเพื่อ แสดง รายการดัชนี u pdate และ d elete รายการเมื่อคุณแก้ไขหน้า หากดัชนีของคุณดูเหมือนว่าจะไม่ซิงค์คุณสามารถทำดัชนีทั้งหมดของคุณใหม่ได้
โดยค่าเริ่มต้นปลั๊กอิน TNTSEARCH จะจัดทำดัชนี title และ content ของหน้าของคุณ สิ่งนี้มักจะเพียงพอสำหรับกรณีส่วนใหญ่ แต่มีสถานการณ์ที่คุณอาจต้องการจัดทำดัชนีฟิลด์เพิ่มเติม ปลั๊กอินให้ตัวอย่างของสิ่งนี้โดยการฟังเหตุการณ์ onTNTSearchIndex :
public static function getSubscribedEvents ()
{
return [
' onTNTSearchIndex ' => [ ' onTNTSearchIndex ' , 0 ]
];
}
public function onTNTSearchIndex ( Event $ e )
{
$ fields = $ e [ ' fields ' ];
$ page = $ e [ ' page ' ];
if ( isset ( $ page -> header ()-> author )) {
$ fields -> author = $ page -> header ()-> author ;
}
}สิ่งนี้จะช่วยให้คุณเพิ่มผู้เขียนลงในฟิลด์ที่จัดทำดัชนีหากตั้งค่าไว้ในหน้า frontmatter คุณสามารถเพิ่มฟิลด์ที่กำหนดเองของคุณเองด้วยปลั๊กอินที่ง่ายมากที่ฟังกิจกรรมนี้
ปลั๊กอิน TNTSEARCH โดยทั่วไปจะใช้เนื้อหาที่แสดงผลเพื่อจัดทำดัชนีด้วย อย่างไรก็ตามมีสถานการณ์ที่หน้าของคุณเป็นหน้าแบบแยกส่วนหรือสร้างขึ้นจากหน้าอื่น ๆ ที่ไม่มีเนื้อหาจริงในหน้าหรือเนื้อหาไม่ได้เป็นตัวแทนของหน้าโดยรวม ในการต่อสู้กับสถานการณ์นี้คุณสามารถจัดเตรียมเทมเพลตที่กำหนดเองในชุดรูปแบบของคุณที่ TNTSEARCH สามารถใช้เพื่อแสดงเนื้อหาก่อนการจัดทำดัชนี
ตัวอย่างเช่นสมมติว่าเรามีหน้าแรกที่สร้างขึ้นจากหน้าย่อยแบบแยกส่วนสองสามรายการที่มีเนื้อหาเล็ก ๆ น้อย ๆ ด้านล่างเรียกว่า home.md ดังนั้นใช้ไฟล์ home.html.twig ใน templates/ โฟลเดอร์ของธีมของคุณ คุณสามารถสร้างเทมเพลตรุ่นนี้และบันทึกเป็น templates/tntsearch/home.html.twig สำหรับตัวอย่างนี้เทมเพลตนี้มีลักษณะเช่นนี้:
{% for module in page. collection () %}
< p >
{{ module . content | raw }}
</ p >
{% endfor %}
{{ page . content | raw }}อย่างที่คุณเห็นสิ่งนี้เพียงแค่ทำให้มั่นใจได้ว่าหน้าโมดูลตามที่กำหนดไว้ในคอลเลกชันของหน้าจะปรากฏขึ้นจากนั้นเนื้อหาหน้าเว็บจริงจะปรากฏขึ้น
ในการสั่งให้ TNTSEARCH ทำดัชนีด้วยเทมเพลตนี้แทนที่จะใช้เนื้อหาหน้าด้วยตัวเองคุณเพียงแค่ต้องเพิ่มรายการใน home.md Frontmatter:
tntsearch :
template : ' tntsearch/home ' ปลั๊กอิน TNTSEARCH สำหรับ GRAV มาพร้อมกับหน้าการสืบค้นในตัวที่สามารถเข้าถึงได้ผ่านเส้นทาง /search ตามค่าเริ่มต้น หน้าการค้นหานี้เป็นฟิลด์อินพุตอย่างง่ายที่จะทำการสืบค้น AJAX AS-TYPE เนื่องจาก TNTSEARCH นั้นเร็วมากคุณจะได้รับการตอบสนองการค้นหาแบบเรียลไทม์ในลักษณะเดียวกันกับการค้นหาของ Google นอกจากนี้ผลลัพธ์จะถูกส่งกลับมาแล้วสำหรับคำศัพท์ที่ตรงกัน
นอกจากนี้คุณยังสามารถทดสอบการค้นหาด้วย CLI:
$ bin/plugin tntsearch query ipsum
{
"number_of_hits" : 3 ,
"execution_time" : " 2.101 ms " ,
"hits" : [
{
"link" : " / blog / classic-modern-architecture " ,
"title" : " Classic Modern Architecture " ,
"content" : " ...sed a odio. Curabitur ut lectus tortor. Sed <em>ipsum< / em> eros, egestas ut eleifend non, elementum vitae eros. Mauris felis diam, pellentesque vel lacinia ac, dictum a nunc. n Lorem <em>ipsum< / em> dolor sit amet, consectetur adipiscing elit. Donec ultricies tristique nulla et mattis. Phasellus id massa eget... "
},
{
"link" : " / blog / focus-and-blur " ,
"title" : " Focus and Blur " ,
"content" : " ...sed a odio. Curabitur ut lectus tortor. Sed <em>ipsum< / em> eros, egestas ut eleifend non, elementum vitae eros. Mauris felis diam, pellentesque vel lacinia ac, dictum a nunc. n Lorem <em>ipsum< / em> dolor sit amet, consectetur adipiscing elit. Donec ultricies tristique nulla et mattis. Phasellus id massa eget... "
},
{
"link" : " / blog / london-industry " ,
"title" : " London Industry at Night " ,
"content" : " ...sed a odio. Curabitur ut lectus tortor. Sed <em>ipsum< / em> eros, egestas ut eleifend non, elementum vitae eros. Mauris felis diam, pellentesque vel lacinia ac, dictum a nunc. n Lorem <em>ipsum< / em> dolor sit amet, consectetur adipiscing elit. Donec ultricies tristique nulla et mattis. Phasellus id massa eget... "
}
]
} หากพบหน้า Grav ทางกายภาพสำหรับเส้นทาง /search TNTSEARCH จะใช้สิ่งนั้นมากกว่าหน้าเว็บที่จัดหาโดยปลั๊กอิน สิ่งนี้ช่วยให้คุณสามารถเพิ่มเนื้อหาลงในหน้าค้นหาของคุณได้อย่างง่ายดายตามที่คุณต้องการ หากคุณต้องการปรับแต่งเอาต์พุต HTML จริงเพียงคัดลอก templates/search.html.twig จากปลั๊กอินไปยังชุดรูปแบบของคุณและปรับแต่ง
ฟิลด์อินพุตจริงยังสามารถแก้ไขได้ตามต้องการโดยการคัดลอกและแก้ไข templates/partials/tntsearch.html.twig ไฟล์ไปยังชุดรูปแบบของคุณและแก้ไข
โดยค่าเริ่มต้นปลั๊กอิน TNTSEARCH สำหรับ GRAV การตอบสนอง JSON จะถูกส่งไปพร้อมกับโครงสร้างต่อไปนี้:
{
"number_of_hits" : 3 ,
"execution_time" : " 1.000 ms " ,
"hits" : [
{
"link" : " /page-a " ,
"title" : " Title A " ,
"content" : " highlighted-summary "
},
{
"link" : " /page-b " ,
"title" : " Title B " ,
"content" : " highlighted-summary "
},
{
"link" : " /page-c " ,
"title" : " Title C " ,
"content" : " highlighted-summary "
}
]
}มีกรณีที่ผลลัพธ์นี้ไม่เป็นที่ต้องการหรือจำเป็นต้องเปลี่ยนแปลง TNTSEARCH ให้บริการปลั๊กอินจริง ๆ เพื่อให้คุณสามารถจัดการรูปแบบนี้ได้ ตัวอย่างนี้สามารถดูได้ด้านล่าง:
public static function getSubscribedEvents () {
return [
' onTNTSearchQuery ' => [ ' onTNTSearchQuery ' , 1000 ],
];
}
public function onTNTSearchQuery ( Event $ e )
{
$ query = $ this -> grav [ ' uri ' ]-> param ( ' q ' );
if ( $ query ) {
$ page = $ e [ ' page ' ];
$ query = $ e [ ' query ' ];
$ options = $ e [ ' options ' ];
$ fields = $ e [ ' fields ' ];
$ fields -> results [] = $ page -> route ();
$ e -> stopPropagation ();
}
} สิ่งสำคัญที่ควรทราบคือค่าสั่งซื้อ 1000 เพื่อให้แน่ใจว่าเหตุการณ์นี้ทำงานก่อนเหตุการณ์เริ่มต้นในไฟล์ปลั๊กอิน tntsearch.php วิธีการเหตุการณ์จริงเพียงแค่ตั้งค่าอาร์เรย์ผลลัพธ์บนฟิลด์กับเส้นทางส่งผลให้:
{
"number_of_hits" : 3 ,
"execution_time" : " 1.000 ms " ,
"results" : [ '/page-a', '/page-b', '/page-c' ]
} ปลั๊กอิน TNTSEARCH ยังสามารถใช้เพื่อแสดงผลการค้นหาเป็นแบบเลื่อนลงแทนที่จะเป็นในหน้ามาตรฐาน ในการทำเช่นนี้คุณต้อง embed การค้นหาบางส่วนและแทนที่เพื่อให้เหมาะกับความต้องการของคุณ คุณสามารถเพิ่มสิ่งนี้ลงในธีมของคุณได้ทุกที่ที่คุณต้องการมีช่องค้นหาแบบเลื่อนลงของ AJAX:
{% embed ' partials/tntsearch.html.twig ' with { limit : 10 , snippet : 150 , min : 3 , search_type : ' auto ' , dropdown : true } %}{% endembed %} ที่นี่เราฝังส่วนเริ่มต้นบางส่วน แต่แทนที่ options โดยส่งผ่านพวกเขาในคำสั่ง with เป็นสิ่งสำคัญที่จะต้องสังเกตว่าการ dropdown: true จะต้องตั้งค่าเพื่อตีความว่าเป็นแบบเลื่อนลง
ปลั๊กอินนี้จะเป็นไปไม่ได้หากไม่มีไลบรารี TNTSEARCH ที่น่าทึ่งสำหรับ PHP ตรวจสอบให้แน่ใจว่าคุณ ได้แสดง โครงการนั้นใน GitHub