Simplesearch modx revo imkoniyatlari. SimpleSearchning asosiy qismlari

Ushbu parcha yuborilgan qidiruv mezonlari asosida qidiruv natijalarini ko'rsatadi.

Foydalanish

Qidiruv natijalarini ko'rsatmoqchi bo'lgan Resursga parchani shunchaki joylashtiring.

[[!SimpleSearch]]

Mavjud xususiyatlar

Ism Tavsif Standart
tpl Har bir qidiruv natijasining mazmunini ko'rsatish uchun foydalaniladigan bo'lak. Qidiruv natijasi
konteynerTpl Barcha qidiruv natijalari, sahifalash va xabarlarni o'rash uchun ishlatiladigan bo'lak. Qidiruv natijalari
AllWords-dan foydalaning Agar rost bo'lsa, faqat barcha belgilangan qidiruv so'zlari bilan natijalar topiladi. 0
maxWords Qidiruvga qo'shiladigan so'zlarning maksimal soni. UseAllWords o'chirilgan bo'lsagina amal qiladi. 7
minChars Qidiruvni boshlash uchun minimal belgilar soni. 3
qidiruv uslubi Qidiruv uchun "qisman" LIKE qidiruvi yoki tegishlilikka asoslangan "moslik" qidiruvi. qisman
va Shartlar So'zlar orasiga mantiqiy VA qo'shish yoki qo'shmaslik. 1
matchWildcard Joker belgilarni qidirishni yoqing. Qidiruv soʻzi boʻyicha aniq qidiruvni amalga oshirish uchun “false” qiymatini oʻrnating. 1
docFields Qidirish uchun maxsus manba maydonlarining vergul bilan ajratilgan roʻyxati. sahifa sarlavhasi, uzun sarlavha, taxallus, tavsif, kirish matn, mazmun
maydon quvvati Natijalarni baholang va tartiblang (qo'shimcha ma'lumot/usage uchun https://github.com/splittingred/SimpleSearch/pull/29 ga qarang)
bosh sahifa Har bir sahifada ko'rsatiladigan qidiruv natijalari soni. 10
ko'rsatish Extract Har bir qidiruv natijasi mazmuni ko'chirmasini ko'rsatish yoki ko'rsatmaslik. 1
ekstraksiya manbasi (1.9-versiyada yangi) Foydalanuvchiga ekstrakti qayerdan olinganligini aniqlash imkonini beradi. Agar bu parametrning qiymati manba maydoni nomi boʻlsa (jumladan, &includeTVs oʻrnatilgan boʻlsa, televizorlar ham) u holda koʻchirma uchun oʻsha manba maydoni ishlatiladi. Aks holda parametr ishga tushirish uchun parcha nomi sifatida olinadi. Snippet resurs massividan parametr sifatida uzatiladi. Agar bu nomdagi parcha bo'lmasa, ko'chirma bo'sh bo'ladi. mazmuni
ekstrakti uzunligi Har bir qidiruv natijasi mazmunini chiqarish uchun belgilar soni. 200
ekstrakti Ellipsis Ekstrakt natijalarini oʻrash uchun ishlatiladigan qator. Birlamchi ellips uchun. ...
televizorlarni o'z ichiga oladi TemplateVar qiymatlari har bir resurs shablonida mavjud bo'lgan xususiyatlarga kiritilishi kerakligini ko'rsatadi. Birlamchi qiymatlar 0. Agar televizoringiz koʻp boʻlsa, buni yoqish qidiruvni sekinlashtirishi mumkin. 0
o'z ichiga TVList TemplateVar nomlarining vergul bilan ajratilgan ixtiyoriy roʻyxati, agar includeTVlar 1 boʻlsa, aniq kiritiladi.
televizorlarni qayta ishlash TemplateVar qiymatlari umumlashtirilayotgan resursdagi kabi ko'rsatilishi kerakligini ko'rsatadi. Birlamchi 0. Ba'zi eslatmalar:
Televizorlarga televizor nomi orqali kirish mumkin [[+myTV]] Odatiy holatda SimpleSearch prefiksdan foydalanmaydi, masalan. [[+tv.myTV]] koʻrsatmaydi. Televizorlar Solr qidiruvi uchun indekslash vaqtida qayta ishlanadi, shuning uchun bu erda buni qilishning hojati yo'q.
0
Natijalarni ta'kidlash Natijalarda qidiruv so'zini ajratib ko'rsatish kerakmi yoki yo'qmi. 1
ta'kidlashClass Natijalarda belgilangan shartlarga qo'shiladigan CSS sinf nomi. simplesearch-ta'kidlash
ta'kidlash teg Belgilangan atamani qidiruv natijalariga oʻrash uchun html tegi. oraliq
pageTpl Sahifalar havolasi uchun foydalaniladigan bo'lak. PageLink
joriyPageTpl Joriy sahifalash havolasi uchun foydalaniladigan bo'lak. CurrentPageLink
pagingSeparator Sahifalar havolalari o'rtasida foydalanish uchun ajratuvchi.
identifikatorlari Qidiruvni cheklash uchun vergul bilan ajratilgan identifikatorlar roʻyxati.
idType IDs parametri uchun cheklov turi. Agar ota-onalar ids parametridagi identifikatorlarning barcha bolalarini qidirishga qo'shadilar. Agar hujjatlar bo'lsa, qidiruvda faqat ko'rsatilgan identifikatorlardan foydalaniladi. ota-onalar
istisno qilish Qidiruvdan chiqarib tashlash uchun resurs identifikatorlarining vergul bilan ajratilgan roʻyxati, masalan. "10,15,19". Bu "10", "15" yoki "19" identifikatorli resurslarni istisno qiladi.
chuqurlik Agar idtype ota-onalarga o'rnatilgan bo'lsa, ko'rsatilgan identifikatorlar bilan qidiriladigan Resurs daraxtining chuqurligi. 10
yashirMenyu Yashirish menyusi yoqilgan manbalarni qaytarish yoki bermaslik. 0 faqat ko'rinadigan manbalarni ko'rsatadi, 1 faqat yashirin manbalarni ko'rsatadi, 2 ikkalasini ham ko'rsatadi. 2
kontekstlar Qidirish uchun kontekstlar. Agar hech biri aniq ko'rsatilmagan bo'lsa, joriy kontekst uchun birlamchi.
qidiruv indeksi Qidiruvda foydalaniladigan REQUEST parametrining nomi. qidirmoq
ofset indeksi Sahifalar ofseti uchun foydalaniladigan REQUEST parametrining nomi. simplesearch_offset
joy tutuvchiPrefiks Global toʻldiruvchilar uchun prefiks ushbu parcha tomonidan oʻrnatilgan. oddiy qidiruv.
toPlaceholder Chiqishni to'g'ridan-to'g'ri qaytarish uchun sozlash yoki ushbu xususiyat nomi bilan to'ldiruvchiga o'rnatish.
urlSxema Siz xohlagan URL sxemasi: http, https, to'liq, abs, nisbiy va boshqalar. $modx->makeUrl() hujjatlariga qarang. Bu sahifalash havolalari yaratilganda ishlatiladi.
moslashtirilgan paketlar Paketni yuklash orqali maxsus jadvallarni qidirishni sozlang. Batafsil ma'lumot uchun quyida ko'ring.
postHooks Yakuniy natijalarga qirrali toʻplamlarni qoʻshishi mumkin boʻlgan ishga tushirish uchun ilgaklarning vergul bilan ajratilgan roʻyxati.
activeFacet Joriy faol faset. Agar postHook orqali olingan nostandart jihatdan natija ko'rsatilishini xohlamasangiz, buni yolg'iz qoldiring. sukut bo'yicha
faset chegarasi Asosiy natijalar sahifasida ko'rsatiladigan faol bo'lmagan natijalar soni. 5
saralash turi Natijalarni saralash uchun resurs maydonlarining vergul bilan ajratilgan roʻyxati. Muvofiqlik va ball bo'yicha saralash uchun bo'sh qoldiring.
sortDir Natijalarni saralash uchun vergul bilan ajratilgan yoʻnalishlar roʻyxati. SortBy parametridagi elementlar soniga mos kelishi kerak. DESC
noResultsTpl Qidiruv natijalari topilmaganda foydalaniladigan bo'lak.

SimpleSearch qismlari

SimpleSearch-da qayta ishlanadigan 4 ta bo'lak mavjud. Ularga mos keladigan SimpleSearch parametrlari:

  • tpl - Ko'rsatilgan har bir natija uchun foydalaniladigan bo'lak.
  • containerTpl - Barcha qidiruv natijalari, sahifalash va xabarlarni o'rash uchun ishlatiladigan bo'lak.
  • pageTpl - sahifalash havolasi uchun ishlatiladigan bo'lak.
  • currentPageTpl - Joriy sahifalash havolasi uchun foydalaniladigan bo'lak.

Maxsus jadvallarni qidirish

Maxsus jadvallarni qidirish SimpleSearch-da &customPackages xususiyatidan foydalanish mumkin; ammo, sizda buning uchun yaratilgan maxsus paket bo'lishi kerak. Format quyidagicha:

ClassName:fieldName(s):packageName:packagePath:joinCriteria||class2Name:fieldName(s):package2Name:package2Path:join2Criteria

Boshqacha qilib aytganda, har bir maxsus paket || bilan ajratiladi. Keyin, uning har bir qismi ikki nuqta (:) bilan ajratiladi. Quip sharhlarini qidirishga misol:

&customPackages=`quipComment:body:quip:(core_path)components/quip/model/:quipComment.resource = modResource.id`

Keling, har bir qismni ajratamiz:

  • sinf nomi- Siz qidirmoqchi bo'lgan jadvalning sinf nomi. Mana, bu QuipComment.
  • maydon nom(lar)i- Qidiriladigan ustun nomlarining vergul bilan ajratilgan roʻyxati. Biz "tana" qildik, siz ham "tana, elektron pochta" yoki boshqa narsalarni qilishingiz mumkin edi.
  • paket nomi- Qo'shiladigan sxema paketining nomi. Bu Quip deb ataladi.
  • packagePath- Paket joylashgan model/katalogga yo'l.
  • qo'shilish mezonlari- Siz qidirmoqchi bo'lgan jadvalga qo'shilish uchun SQL va modResource jadvali. Jadvalingiz yoqilgan Resursga ulangan boʻlishi kerak (aks holda SimpleSearch uning URL manzilini qanday yuklashni bilmaydi!)

Siz uni qo'shganingizdan so'ng, u ma'lumotlar uchun o'sha maydonlarni ham qidiradi. Agar uni o'sha jadvalda topsa, natijani siz qo'shilish mezonlarida ko'rsatgan Resursga havola sifatida ko'rsatadi. Bizning misolimizda bu shunday bo'ladi. Quip sharhi joylashgan manba.

Bugungi darsimiz qanday qilish haqida Modx inqilobi komponent yordamida sayt qidiruvini amalga oshirish oddiy qidiruv.

Asosiy parcha parametrlari:

nomi Tavsif Standart
tpl Har bir qidiruv natijasi mazmunini ko'rsatish uchun foydalaniladigan qism. Qidiruv natijasi
konteynerTpl Qidiruv natijalari, sahifalash va xabarlarni o'rash uchun ishlatiladigan blok. Qidiruv natijasi
AllWords-dan foydalaning Agar rost bo'lsa, faqat barcha belgilangan qidiruv so'zlari bilan natijalar topiladi. 0
maxWords Maksimal miqdor qidiruvga kiritish uchun so'zlar.UseAllWords o'chirilgan bo'lsagina amal qiladi. 7
minChars Qidiruvni boshlash uchun minimal belgilar soni. 3
qidiruv uslubi Qidiruv uchun "qisman" LIKE qidiruvi yoki tegishlilikka asoslangan "tegishli" moslik qidiruvi. qisman
va Shartlar So'zlar orasiga mantiqiy VA qo'shiladimi. 1
matchWildcard Joker belgilarni qidirishni yoqing.Qidiruv soʻzi boʻyicha aniq qidiruvni amalga oshirish uchun “false” qiymatini oʻrnating. 1
docFields Izlash uchun alohida hujjat maydonlari ro'yxati. sahifa sarlavhasi,
uzun sarlavha,
tavsif,
kirish matni,
taxallus,
.tarkib
maydon quvvati Natijalarni baholash va saralash
bosh sahifa Bir sahifa uchun qidiruv natijalari soni. 10
ko'rsatish Extract Har bir qidiruv natijasi mazmunining kesilgan qismini ko'rsatish kerakmi. 1
ekstraksiya manbasi Foydalanuvchiga ekstraktsiya qayerdan kelayotganini aniqlash imkonini beradi.Agar ushbu parametrning qiymati resurs maydonining nomi bo'lsa (jumladan, TV, agar & includeTVs o'rnatilgan bo'lsa), u holda ushbu manba maydoni hisob-kitob qilish uchun ishlatiladi.Aks holda, bajariladigan fragment nomi sifatida parametr olinadi.Fragment resurslar massivi sifatida parametr sifatida uzatiladi.Agar bu nomda fragment bo'lmasa, unda ko'chirma bo'sh bo'ladi. mazmuni
ekstrakti uzunligi Har bir natija uchun tarkibdan ajratib olinadigan belgilar soni. 200
ekstrakti Ellipsis Ekstraktsiya natijalarini o'rash uchun ishlatiladigan satr.Standart ellips hisoblanadi.
televizorlarni o'z ichiga oladi TemplateVar qiymatlari har bir resurs shablonida mavjud bo'lgan xususiyatlarga kiritilishi kerakligini ko'rsatadi.Odatiy qiymat 0. Agar sizda koʻp televizor boʻlsa, bu sozlamani yoqish ishni sekinlashtirishi mumkin. 0
jarayon televizorlari TemplateVar qiymatlari umumlashtirilgan manbada bo'lgani kabi ko'rsatilishi kerakligini ko'rsatadi.Standart 0. Ba'zi eslatmalar: toTelevizorga televizoringiz nomi orqali kirish mumkin [[+ myTV]] Odatiy boʻlib, SimpleSearch prefiksdan foydalanmaydi, masalan, [[+ tv.myTV]] KOʻRSATILMAYDI.
Televizorlar Solr qidiruvini indekslash paytida qayta ishlanadi, shuning uchun bu erda buni qilishning hojati yo'q.
0
Natijalarni ta'kidlash Belgilang yoki tanlamang qidiruv so'rovi natijalarda. 1
ta'kidlashClass Natijalarda ta'kidlangan shartlarga qo'shiladigan CSS sinfining nomi. sisea-ta'kidlash
ta'kidlash teg html teg tanlangan soʻzni qidiruv natijalariga oʻrash uchun. oraliq
pageTpl Sahifalarga havola qilish uchun foydalaniladigan qism. PageLink
joriyPageTpl Sahifadagi joriy havola uchun ishlatiladigan blok. CurrentPageLink
pagingSeparator Sahifa havolalari o'rtasida foydalanish uchun ajratuvchi (ajratuvchi). |
identifikatorlari Qidiruvni cheklash uchun vergul bilan ajratilgan hujjat identifikatorlari ro'yxati
idType IDs parametri uchun cheklash turi. Agar ota-onalar bo'lsa, unda barcha id elementlari qidiruv uchun ids parametriga qo'shiladi. Agar hujjatlar bo'lsa, qidiruvda faqat ko'rsatilgan identifikatorlardan foydalaniladi. ota-onalar
istisno qilish Masalan, qidiruvdan chiqarib tashlash uchun vergul bilan ajratilgan manba identifikatorlari ro'yxati. "10,15,19". Bunga "10", "15" yoki "19" identifikatorli manbalar kirmaydi.
chuqurlik Agar idtype ota-ona o'rnatilgan bo'lsa, ko'rsatilgan identifikatorlar bilan qidirish uchun manba daraxtining chuqurligi. 10
yashirMenyu Yashirin menyuga ega bo'lgan manbalarni qaytarish kerakmi. 0 faqat ko'rinadigan resurslarni ko'rsatadi, 1 faqat yashirin manbalarni ko'rsatadi, 2 ikkalasini ham ko'rsatadi. 2
kontekstlar kontekstlarni qidirish. Agar hech biri aniq ko'rsatilmagan bo'lsa, standart joriy kontekstdir.
qidiruv indeksi Qidiruvda foydalaniladigan REQUEST parametrining nomi. qidirmoq
ofset indeksi Sahifani ofset qilish uchun foydalaniladigan REQUEST parametrining nomi. sisea_offset
joy tutuvchiPrefiks Snippet tomonidan belgilangan global to'ldiruvchilar uchun prefiks. sisea.
toPlaceholder Chiqishni to'g'ridan-to'g'ri qaytarish yoki ushbu xususiyat nomi bilan to'ldiruvchiga o'rnatish.
urlSxema Kerakli URL sxemasi: http, https, to'liq, abs, nisbiy va boshqalar. $modx->makeUrl() hujjatlariga qarang. Bu sahifalash havolalari yaratilganda ishlatiladi.
moslashtirilgan paketlar Paketni yuklab olish orqali maxsus jadvallarni qidirish uchun o'rnating. Tafsilotlar uchun pastga qarang.
postHooks Yakuniy natijalarga qirrali to'plamlarni qo'shishi mumkin bo'lgan ishga tushirish uchun ilgaklarning vergul bilan ko'rsatilgan ro'yxati.
activeFacet Joriy faol yuz. Natijani postHook orqali olingan nostandart tomondan ko'rsatilishini istamasangiz, uni yolg'iz qoldiring. sukut bo'yicha
faset chegarasi Har bir ko'rsatish uchun faol bo'lmagan natijalar soni bosh sahifa natijalar. 5
saralash turi Natijalarni saralash uchun vergul bilan ajratilgan manba maydonlari ro'yxati. Muvofiqlik va reyting bo'yicha saralash uchun maydonni bo'sh qoldiring.
sortDir Vergul bilan ajratilgan natijalarni saralash bo'yicha ko'rsatmalar ro'yxati. SortBy parametridagi elementlar soniga mos kelishi kerak. DESC
noResultsTpl Qidiruv natijalari topilmasa, foydalaniladigan bo'lak.

MODX saytida qidiruvni amalga oshirish

1. SimpleSearch

2. Biz turli muammolarni kodlash va boshqalar bilan hal qilamiz.

core/components/simplesearch/model/simplesearch/simplesearch.class.php ga o'ting va undagi quyidagi qatorlarni almashtiring:

297-qator:

$matn = preg_replace("/(\[\[\+.*?\]\])/i", "", $matn);

bilan almashtiring

$matn = preg_replace("/(\[\[\+.*?\]\])/iu", "", $matn);

311-qator:

$text = trim(preg_replace("/\s+/", " ", $this->sanitize($text)));

bilan almashtiring

$text = trim(preg_replace("/\s+/u", " ", $this->sanitize($text)));

413-qator:

$string = preg_replace("/" . $quoteValue . "/i", "<".$tag." class="".$cls."">$0", $string);

bilan almashtiring

$string = preg_replace("/" . $quoteValue . "/iu", "<".$tag." class="".$cls."">$0", $string);

179-qatorni sharhlang:

Agar (!empty($str)) $this->searchString = strip_tags($this->modx->sanitizeString($str));

bular. shunday chiqishi kerak

/*if (!empty($str)) $this->searchString = strip_tags($this->modx->sanitizeString($str)); */

3. Barcha standart bo'laklarning nusxalarini yarating core/components/simplesearch/elements/chunks/ katalogida joylashgan

Biz bir xil nomlar va -new prefiksi va bir xil tarkibga ega bo'lgan yangi qismlar yaratamiz (faqat ular endi faylga asoslangan emas, balki oddiy), buning barchasini batafsilroq tushunasiz.

Masalan, birinchi bo'lakni oling currentpagelink.chunk.tpl va yangi bo'lak yarating joriy sahifa havolasi-yangi(elementlar - yangi bo'lak yaratish) yaxshi, biz kodni unga o'tkazamiz.

[[+matn]]

Faol sahifa uchun sahifalashdagi tugmani boshqarish uchun javobgar.

Xuddi shu tarzda biz qolgan bo'laklarni yaratamiz:

— sahifa havolasi-yangi- alohida sahifalash tugmachasini ko'rsatish uchun javobgar.

[[+matn]]

  • [[+havola]]- hujjatga havola
  • [[+matn]]- Hujjat raqami

qidiruv shakli - yangi- qidiruv shakli

Qidiruv natijalari siz o'tkaza olmaysiz - hech qanday dizayn yo'q;

qidiruv natijasi - yangi— natijaning har bir elementining chiqishi.

[[+idx]]. [[+pagetitle]]

[[+extra]]

  • [[+idx]]- ro'yxatdagi qidiruv natijasining raqami
  • [[+link:is=``:then=`[[~[[+id]]]]`:else=`[[+link]]`]]
  • [[+longtitle]]- kengaytirilgan sarlavha
  • [[+pagetitle]]- sarlavha
  • [[+extra]]- ushbu hujjat topilgan matn

Qidiruv natijalari- aslida, uni o'tkazish ham mumkin emas.

qidiruv natijalari - yangi- barcha natijalarni o'rash

[[+resultInfo]]

[[+paging]]
[[+natijalar]]
[[%sisea.result_pages? &namespace=`sisea` &topic=`default`]][[+paging]]

  • [[+resultInfo]]- topilgan hujjatlar soni va qaysi ibora uchun ma'lumot.
  • [[+sisea.result_pages? &namespace=`sisea` &topic=`default`]]

    Fraza chiqishi "Qidiruv natijalari sahifalari:"

  • [[+paging]]- sahifalash
  • [[+natijalar]]- qidiruv natijalari

Har bir narsa bajarilgandan so'ng, sizda 5 ta yangi bo'lak bo'lishi kerak.

4. Qidiruv natijalari ko'rsatiladigan yangi hujjat yarating

Sarlavha: Qidiruv natijalari, "Menyuda ko'rsatilmasin" katagiga belgi qo'ying. "Sozlamalar" da "Qidirish mumkin", "HTML muharriridan foydalanish" katakchalarini olib tashlang. Tejaymiz. Sahifani yangilang va tarkib qo'shing

[[!SimpleSearch? &tpl=`searchresult-new` &containerTpl=`searchresults-new` &pageTpl=`pagelink-new` ¤tPageTpl=`currentpagelink-new`]]

3-bosqichda yaratgan bezak bo'laklari (tashqi ko'rinish).

Agar siz tasvirlar qidiruv natijalarida bo'lishini istasangiz, ushbu chiqishning oxiriga qo'shing

&includeTVs=`1` &processTVs=`1`

Qidiruv natijalari bo'limida tasvirni shunday chaqirish mumkin: [[+img]].

5. Qidiruv shakli ko'rsatilmoqda

Qidiruv shaklini ko'rsatmoqchi bo'lgan joyga yozing

[[!SimpleSearchForm? &landing=`11` &tpl=`searchform-new`]]

Bu yerda ochilish qidiruv natijalari bilan sahifaning identifikatori, tpl da 3-bosqichda yaratilgan shakl dizayn qismlari.

Biz tashqi dizaynni o'z ixtiyorimizga ko'ra tahrirlash imkoniyatiga ega bo'lish uchun 4 va 5-bosqichlarni bajardik: shaklning o'zi, qidiruv natijalari va boshqalar. manba kodiga kirmasdan. Va standart dizayn juda achinarli, masalan, standart qidiruv shakli shunday ko'rinadi.

6. Biz dizaynni o'zgartiramiz.

Men barcha bo'laklarni qanday tartibga solishni tasvirlashdan ma'no ko'rmayapman, masalan, men bo'lak uchun yangi dizayn beraman yangi qidiruv shakli

Bu bootstrap 3 dan odatiy standart shakl belgisi, saytda u quyidagicha ko'rinadi:

Rasmiy hujjatlar bu yerda: docs.modx.com/extras/revo/simplesearch

Agar sizda savollar bo'lsa, ularni sharhlarda yozing.

Assalomu alaykum aziz do'stlar va hamkasblar! Men sizni tizim ostida saytdagi qidiruvni tashkil qilish uchun ajoyib paket bilan tanishtirmoqchiman Modx Revolution - SimpleSearch. Ushbu paketni saytga qanday o'rnatish va saytda qidiruvni tashkil qilishni bosqichma-bosqich tushuntirib beraman. Shunday qilib, keling, boshlaylik:

1. Birinchidan, "Tizim" - "Paketlarni boshqarish" ga o'ting.

2. "Qo'shimchalarni yuklab olish" tugmasini bosing.

3. Biz qidiruv satrida harakat qilamiz - SimpleSearch, "Enter" tugmasini bosing va "Yuklab olish" tugmasini bosing.

4. Paket yuklab olinadi

5. "Paketlarni boshqarish" tugmasini bosing.

6. Va biz yuklab olgan SimpleSearch yonidagi "o'rnatish" tugmasini bosing

"Davom etish" tugmasini bosing va keyin "OK" tugmasini bosing.

7. Daraxtning ildizida yangi resurs yarating

Sarlavha: Qidiruv natijalari, "Menyuda ko'rsatilmasin" belgisini qo'ying. "Sozlamalar" yorlig'ini bosing va "Qidirish mumkin", "HTML muharriridan foydalanish" belgisini olib tashlang. Resursni saqlashni unutmang.

8. Keyin yangi yaratilgan resursga o'ting va "Resurs tarkibi" maydoniga kiring

[[!SimpleSearch]]

9. Ushbu resursning identifikatorini eslab qoling, bu qidiruv natijalarining chiqish sahifasi

Qidiruv formasining o'zi joylashgan shablonga quyidagi kodni kiriting:

[[!SimpleSearchForm? &landing=`1` &tpl=`qidiruv`]]

bu erda qo'nish qidiruv natijalarining chiqish sahifasining identifikatoridir va qidiruv qismi qidiruv shaklining o'zi uchun javobgardir, biz hozir uni yaratamiz.

10. Keyin quyidagi kodni nusxa oling

bu core/components/simplesearch/elements/chunks/searchform.chunk.tpl faylining mazmuni:

qidiruv deb nomlangan yangi bo'lakka kiriting va bizga kerak bo'lgan qidiruv oynasini ko'rsatish uchun shablonni yarating.

11. Keyinchalik, kodlash bilan bog'liq muammolarni hal qilamiz

Undagi core/components/simplesearch/model/simplesearch/simplesearch.class.php faylini toping, qatorni almashtiring.

$text = trim(preg_replace("/\s+/", " ", $this->sanitize($text)));

$text = trim(preg_replace("/\s+/u", " ", $this->sanitize($text)));

12. Keyin chiziqni almashtiramiz

$string = preg_replace("/" . $quoteValue . "/i", "<".$tag." class=".$cls.">$0", $string);

$string = preg_replace("/" . $quoteValue . "/iu", "<".$tag." class=".$cls.">$0", $string);

13. Va shuningdek, chiziqni almashtiring

$matn = preg_replace("/(\[\[\+.*?\]\])/i", "", $matn);

$matn = preg_replace("/(\[\[\+.*?\]\])/iu", "", $matn);

14. Va nihoyat, siz chiziqni sharhlashingiz kerak

if (!empty($str)) $this->searchString = strip_tags($this->modx->sanitizeString($str));

SimpleSearchning asosiy qismlari

Modx Revolution ishlayotgan saytda qidiruv tayyor. Bu ishlaydi, siz o'zingiz ko'rishingiz mumkin, lekin bu parcha bilan ishlashda foydali bo'ladigan yana bir nechta narsalar mavjud. Ya'ni, qidiruv natijalari bo'laklarini tahrirlash, uning o'ramlari, sahifalash va boshqalar. Boshlash uchun siz .tpl formatidagi barcha qismlar ushbu yo'lda joylashganligini tushunishingiz kerak: core/components/simplesearch/elements/chunks/. Xo'sh, ular bilan ishlashni osonlashtirish uchun biz asosiy qismlarni ko'rsatamiz Modx boshqaruv paneli. Mana ularning variantlari

  • konteynerTpl
  • pageTpl
  • joriyPageTpl

Xo'sh, biz allaqachon bo'laklarni xohlaganimizcha nomlaymiz.

tpl parametri - parcha SimpleSearchResult

Parametr tpl qidiruv natijasining har bir alohida elementini ko'rsatish uchun javobgardir. Keling, bir parcha yaratamiz va uni chaqiramiz SimpleSearchResult. Fayldagi kodni unga nusxa ko'chiring core/components/simplesearch/elements/chunks/searchresult.chunk.tpl:

[[+idx]].

2. "Qo'shimchalarni yuklab olish" tugmasini bosing.

3. Biz qidiruv satrida harakat qilamiz - SimpleSearch, "Enter" tugmasini bosing va "Yuklab olish" tugmasini bosing.

4. Paket yuklab olinadi

5. "Paketlarni boshqarish" tugmasini bosing.

6. Va biz yuklab olgan SimpleSearch yonidagi "o'rnatish" tugmasini bosing

"Davom etish" tugmasini bosing va keyin "OK" tugmasini bosing.

7. Daraxtning ildizida yangi resurs yarating

Sarlavha: Qidiruv natijalari, "Menyuda ko'rsatilmasin" belgisini qo'ying. "Sozlamalar" yorlig'ini bosing va "Qidirish mumkin", "HTML muharriridan foydalanish" belgisini olib tashlang. Resursni saqlashni unutmang.

8. Keyin yangi yaratilgan resursga o'ting va "Resurs tarkibi" maydoniga kiring

[[!SimpleSearch]]

9. Ushbu resursning identifikatorini eslab qoling, bu qidiruv natijalarining chiqish sahifasi

Qidiruv formasining o'zi joylashgan shablonga quyidagi kodni kiriting:

[[!SimpleSearchForm? &landing=`1` &tpl=`qidiruv`]]

bu erda qo'nish qidiruv natijalarining chiqish sahifasining identifikatoridir va qidiruv qismi qidiruv shaklining o'zi uchun javobgardir, biz hozir uni yaratamiz.

10. Keyin quyidagi kodni nusxa oling

bu core/components/simplesearch/elements/chunks/searchform.chunk.tpl faylining mazmuni:

qidiruv deb nomlangan yangi bo'lakka kiriting va bizga kerak bo'lgan qidiruv oynasini ko'rsatish uchun shablonni yarating.

11. Keyinchalik, kodlash bilan bog'liq muammolarni hal qilamiz

Undagi core/components/simplesearch/model/simplesearch/simplesearch.class.php faylini toping, qatorni almashtiring.

$text = trim(preg_replace("/\s+/", " ", $this->sanitize($text)));

$text = trim(preg_replace("/\s+/u", " ", $this->sanitize($text)));

12. Keyin chiziqni almashtiramiz

$string = preg_replace("/" . $quoteValue . "/i", "<".$tag." class=".$cls.">$0", $string);

$string = preg_replace("/" . $quoteValue . "/iu", "<".$tag." class=".$cls.">$0", $string);

13. Va shuningdek, chiziqni almashtiring

$matn = preg_replace("/(\[\[\+.*?\]\])/i", "", $matn);

$matn = preg_replace("/(\[\[\+.*?\]\])/iu", "", $matn);

14. Va nihoyat, siz chiziqni sharhlashingiz kerak

if (!empty($str)) $this->searchString = strip_tags($this->modx->sanitizeString($str));

SimpleSearchning asosiy qismlari

Modx Revolution ishlayotgan saytda qidiruv tayyor. Bu ishlaydi, siz o'zingiz ko'rishingiz mumkin, lekin bu parcha bilan ishlashda foydali bo'ladigan yana bir nechta narsalar mavjud. Ya'ni, qidiruv natijalari bo'laklarini tahrirlash, uning o'ramlari, sahifalash va boshqalar. Boshlash uchun siz .tpl formatidagi barcha qismlar ushbu yo'lda joylashganligini tushunishingiz kerak: core/components/simplesearch/elements/chunks/. Xo'sh, ular bilan ishlashni osonlashtirish uchun biz asosiy qismlarni Modx boshqaruv panelida ko'rsatamiz. Mana ularning variantlari

  • konteynerTpl
  • pageTpl
  • joriyPageTpl

Xo'sh, biz allaqachon bo'laklarni xohlaganimizcha nomlaymiz.

tpl parametri - parcha SimpleSearchResult

Parametr tpl qidiruv natijasining har bir alohida elementini ko'rsatish uchun javobgardir. Keling, bir parcha yaratamiz va uni chaqiramiz SimpleSearchResult. Fayldagi kodni unga nusxa ko'chiring core/components/simplesearch/elements/chunks/searchresult.chunk.tpl:

gastroguru 2017