"Əlavələri yükləyin" düyməsini basırıq.
Bu fraqment göndərilən axtarış meyarlarına əsaslanaraq axtarış nəticələrini göstərir.
İstifadə
Sadəcə parçanı axtarış nəticələrini göstərmək istədiyiniz Resursda yerləşdirin.
[[! SimpleSearch]]
Mövcud Xüsusiyyətlər
Adı | Təsvir | Defolt |
---|---|---|
tpl | Hər bir axtarış nəticəsinin məzmununu göstərmək üçün istifadə olunacaq yığın. | SearchResult |
konteynerTpl | Bütün axtarış nəticələrini, səhifələməni və mesajı bağlamaq üçün istifadə olunacaq yığın. | Axtarış Nəticələri |
allWords istifadə edin | Doğru olarsa, yalnız bütün göstərilən axtarış sözləri ilə nəticələr tapacaqsınız. | 0 |
maxWords | Axtarışa daxil ediləcək maksimum söz sayı. Yalnız useAllWords söndürüldükdə tətbiq olunur. | 7 |
minCars | Axtarışı başlatmaq üçün minimum simvol sayı. | 3 |
searchStyle | Ya "qismən" LIKE axtarışıyla, ya da əlaqəyə əsaslanan "uyğunluq" axtarışı ilə. | qismən |
və Şərtlər | Sözlər arasına məntiqi VƏ ƏLAVƏ etməmək. | 1 |
matchWildcard | Joker işarəsi axtarışını aktiv edin. Axtarış terminində dəqiq axtarış aparmaq üçün saxta olaraq təyin edin. | 1 |
docFields | Axtarılacaq xüsusi Resurs sahələrinin vergüllə ayrılmış siyahısı. | pagetitle, longtitle, alias, description, introtext, content |
sahə gücü | Nəticələri qiymətləndirin və sıralayın (daha çox məlumat/istifadə üçün https://github.com/splittingred/SimpleSearch/pull/29 -a baxın) | |
səhifə başına | Hər səhifədə göstəriləcək axtarış nəticələrinin sayı. | 10 |
Göstər | Hər bir axtarış nəticəsinin məzmununun çıxarışını göstərib göstərməmək. | 1 |
çıxarış mənbəyi | (1.9 versiyasında yeni) İstifadəçiyə çıxarışın haradan gəldiyini təyin etməyə imkan verir. Bu parametrin dəyəri bir qaynaq sahəsinin adıdırsa (və əgər TV -lər təyin olunarsa TV -lər də daxil olmaqla), onda bu resurs sahəsi çıxarış üçün istifadə olunur. Əks təqdirdə, parametr işə salınacaq bir Parçanın adı olaraq qəbul edilir. Parçalanma, resurslar massivinə parametr olaraq ötürülür. Bu adda bir Parça yoxdursa, çıxarış boş olacaq. | məzmun |
çıxarış Uzunluğu | Hər bir axtarış nəticəsinin məzmun çıxarılması üçün simvolların sayı. | 200 |
çıxarış Elipsis | Nəticələri çıxarmaq üçün istifadə olunan simli. Varsayılan olaraq bir elips. | ... |
TV -lər daxildir | TemplateVar dəyərlərinin hər bir qaynaq şablonunda mövcud olan xüsusiyyətlərə daxil edilməli olduğunu göstərir. Varsayılanlar 0 -a bərabərdir. Çoxlu televizorunuz varsa, bunu aktivləşdirsəniz, axtarışınızı yavaşlata bilərsiniz. | 0 |
TVList daxildir | Daxil olan TV-lər 1 olarsa açıq şəkildə daxil ediləcək TemplateVar adlarının isteğe bağlı virgüllə ayrılmış siyahısı. | |
proses televizorları | TemplateVar dəyərlərinin ümumiləşdirilən mənbədə olduğu kimi göstərilməli olduğunu göstərir. Varsayılanlar 0 -a bərabərdir. Bəzi qeydlər: Televizorlara TV adı ilə daxil olmaq olar [[+ myTV]] Varsayılan olaraq SimpleSearch prefiksdən istifadə etmir, məsələn. [[+ tv.myTV]] göstərməyəcək. Televizorlar Solr axtarışı üçün indeksləmə zamanı işlənir, buna görə burada bunu etməyə ehtiyac yoxdur. |
0 |
Nəticələri vurğulamaq | Nəticələrdə axtarış terminini vurğulamaq və ya etməmək. | 1 |
Vurğulayın Sınıf | Nəticələrdə vurğulanan şərtlərə əlavə etmək üçün CSS sinif adı. | sadə axtarış-vurğulamaq |
vurğulamaq et | Axtarış nəticələrində vurgulanan termini bağlamaq üçün html etiketi. | qarış |
səhifəTpl | Səhifələşdirmə bağlantısı üçün istifadə ediləcək yığın. | PageLink |
cariPageTpl | Mövcud səhifələmə bağlantısı üçün istifadə ediləcək yığın. | CurrentPageLink |
disk ayırıcı | Səhifələşdirmə bağlantıları arasında istifadə etmək üçün ayırıcı. | |
idlər | Axtarışı məhdudlaşdırmaq üçün vergüllə ayrılmış şəxsiyyət siyahısı. | |
idType | İds parametri üçün məhdudiyyət növü. Valideynlər ids parametrindəki ID -lərin bütün uşaqlarını axtarışa əlavə edəcək. Sənədlər varsa, axtarışda yalnız göstərilən identifikatorlardan istifadə edəcək. | valideynlər |
istisna etmək | Axtarışdan çıxarmaq üçün mənbə identifikatorlarının vergüllə ayrılmış siyahısı, məsələn. "10,15,19". Bu, "10", "15" və ya "19" kimliyi olan mənbələri istisna edəcək. | |
dərinlik | İdtype valideynlərə təyin olunarsa, göstərilən identifikatorlarla axtarılan Resurs ağacının dərinliyi. | 10 |
gizlət menyu | Gizli menyuları olan mənbələri geri qaytarmaq və ya etməmək. 0 yalnız görünən mənbələri, 1 yalnız gizli mənbələri, 2 hər ikisini göstərir. | 2 |
kontekstlər | Axtarmaq üçün kontekstlər. Heç biri açıq şəkildə göstərilmədiyi təqdirdə cari kontekstə uyğundur. | |
searchIndex | Axtarışın istifadə edəcəyi REQUEST parametrinin adı. | axtarış |
ofsetIndex | Səhifələşdirmə ofseti üçün istifadə ediləcək REQUEST parametrinin adı. | simplesearch_offset |
placeholderPrefix | Bu snippet tərəfindən təyin edilən qlobal yer tutucular üçün prefiks. | sadə axtarış. |
toPlaceholder | Çıxışı birbaşa qayıtmağa və ya bu mülk adı ilə bir yer tutucuya qoymağa qərar verin. | |
urlScheme | İstədiyiniz URL sxemi: http, https, tam, abs, nisbi və s. $ Modx-> makeUrl () sənədlərinə baxın. Səhifələşdirmə bağlantıları yaradıldıqda istifadə olunur. | |
xüsusi paketlər | Paketini yükləyərək xüsusi cədvəlləri axtarmağı qurun. Daha ətraflı məlumat üçün aşağıya baxın. | |
postHooks | Son nəticələrə çox yönlü dəstlər əlavə edə biləcək işlədiləcək qarmaqların vergüllə ayrılmış siyahısı. | |
activeFacet | Mövcud aktiv tərəf. Bir postHook vasitəsi ilə əldə edilən qeyri-standart bir cəhətdən bir nəticə göstərmək istəmirsinizsə, bunu tək buraxın. | defolt |
facetLimit | Əsas nəticələr səhifəsində göstəriləcək qeyri-aktiv yönlü nəticələrin sayı. | 5 |
sırala | Nəticələri sıralamaq üçün Mənbə sahələrinin vergüllə ayrılmış siyahısı. Uyğunluğa və bala görə sıralamaq üçün boş buraxın. | |
sortDir | Nəticələri sıralamaq üçün vergüllə ayrılmış istiqamətlərin siyahısı. SortBy parametrindəki maddələrin sayına uyğun olmalıdır. | DESC |
noResultsTpl | Axtarış nəticəsi tapılmadıqda istifadə ediləcək yığın. |
Sadə Axtarış Bölmələri
SimpleSearch -də işlənən 4 hissə var. Müvafiq SimpleSearch parametrləri bunlardır:
- tpl - Göstərilən hər bir nəticə üçün istifadə olunan yığın.
- containerTpl - Bütün axtarış nəticələrini, səhifələməni və mesajı bağlamaq üçün istifadə olunacaq yığın.
- pageTpl - Səhifələşdirmə bağlantısı üçün istifadə olunan yığın.
- currentPageTpl - Mövcud səhifələmə bağlantısı üçün istifadə olunan yığın.
Xüsusi masalar axtarılır
Xüsusi cədvəllərin axtarılması & customPackages xüsusiyyətindən istifadə edərək SimpleSearch -də mövcuddur; lakin bunun üçün xüsusi bir paketiniz olmalıdır. Format belədir:
ClassName: fieldName (s): packageName: packagePath: joinCriteria || class2Name: fieldName (s): package2Name: package2Path: join2Criteria
Başqa sözlə, hər bir xüsusi paket || ilə ayrılır. Sonra, hər bir hissə iki nöqtə ilə ayrılır (:). Quip şərhlərini axtarmaq üçün bir nümunə:
& customPackages = `quipComment: body: quip: (core_path) komponentləri / quip / model /: quipComment.resource = modResource.id`
Hər hissəni parçalayaq:
- sinif adı- Axtarmaq istədiyiniz cədvəlin sinif adı. Budur, QuipComment.
- fieldName (s)- Axtarılacaq sütun adlarının vergüllə ayrılmış siyahısı. "Bədən" etdik, siz də "bədən, e -poçt" və ya hər şeyi edə bilərdiniz.
- paket adı- Əlavə ediləcək sxem paketinin adı. Buna quip deyilir.
- paket yolu- Paketin yerləşdiyi modelə / qovluğa gedən yol.
- Kriteriyalara qoşulun- Axtarmaq istədiyiniz cədvələ və modResource cədvəlinə qoşulmaq üçün SQL. Cədvəlinizin bağlı olduğu Mənbə ilə əlaqəsi olmalıdır (əks halda SimpleSearch bunun üçün bir URL yükləməyi bilmir!)
Siz onu əlavə etdikdən sonra həmin sahələri də məlumat üçün axtaracaq. Əgər onu o cədvəldə taparsa, nəticəni joinCriteria -da göstərdiyiniz Mənbəyə keçid olaraq göstərəcək. Bizim nümunəmizdə bu Quip şərhinin yerləşdiyi qaynaq.
Bu gün necə olacağına dair bir dərsdir Modx inqilabı bir komponentdən istifadə edərək sayt axtarışını həyata keçirin SimpleSearch.
Əsas snippet parametrləri:
adı | Təsvir | Defolt |
---|---|---|
tpl | Hər bir axtarış nəticəsinin məzmununu göstərmək üçün istifadə olunan hissə. | SearchResult |
konteynerTpl | Axtarış nəticələrini, səhifələməni və yazıları bağlamaq üçün istifadə olunan bir blok. | SearchResult |
allWords istifadə edin | Doğru olarsa, bütün göstərilən axtarış sözlərinin yalnız nəticələri tapılacaq. | 0 |
maxWords | Maksimum məbləğ axtarışa daxil ediləcək sözlər.Yalnız useAllWords deaktiv olduqda tətbiq olunur. | 7 |
minCars | Axtarışa başlamaq üçün minimum simvol sayı. | 3 |
searchStyle | Əlaqəyə əsaslanan "qismən" LIKE axtarışından və ya "uyğunluq" uyğunluğundan istifadə edərək axtarış aparmaq. | qismən |
və Şərtlər | Sözlər arasına məntiqi VƏ əlavə etməliyəmmi? | 1 |
matchWildcard | Joker işarəsi axtarışını aktiv edin.Axtarış sözünü dəqiq bir şəkildə axtarmaq üçün saxta olaraq təyin edin. | 1 |
docFields | Axtarmaq üçün fərdi sənəd sahələrinin siyahısı. | pagetitle, uzun başlıq, təsviri, daxili mətn, ləqəb, , məzmun |
sahə gücü | Nəticələrin qiymətləndirilməsi və çeşidlənməsi | |
səhifə başına | Bir səhifə üçün axtarış nəticələrinin sayı. | 10 |
Göstər | Hər bir axtarış nəticəsinin məzmununun kəsilməsinin göstərilib -göstərilməyəcəyi. | 1 |
çıxarış mənbəyi | İstifadəçiyə hesabın haradan gəldiyini təyin etməyə imkan verir.Bu parametrin dəyəri qaynaq sahəsinin adıdırsa (TV daxil olmaqla & includeTVs qurulursa), onda bu qaynaq sahəsi çıxarış üçün istifadə olunur.Əks təqdirdə, icra olunan fraqmentin adı olaraq parametr alınır.Fraqment, resurslar massivi tərəfindən parametr olaraq ötürülür.Bu adın bir parçası yoxdursa, çıxarış boş olacaq. | məzmun |
çıxarış Uzunluğu | Hər bir nəticə üçün məzmundan çıxarılacaq simvolların sayı. | 200 |
çıxarış Elipsis | Çıxarış nəticələrini bağlamaq üçün istifadə olunan sim.Varsayılan elipsdir. | … |
TV -lər daxildir | TemplateVar dəyərlərinin hər bir qaynaq şablonu üçün mövcud olan xüsusiyyətlərə daxil olub -olmadığını göstərir.Varsayılan olaraq 0 -dır. Çoxlu televizorunuz varsa, bu seçimi aktivləşdirmək sizi ləngidə bilər. | 0 |
proses TV | TemplateVar dəyərlərinin ümumiləşdirilmiş mənbədə olduğu kimi göstəriləcəyini göstərir.Varsayılan 0. Bəzi qeydlər: toTV -yə TV adınızla daxil ola bilərsiniz [[+ myTV]] Varsayılan olaraq, SimpleSearch prefiks istifadə etmir, məsələn [[+ tv.myTV]] göstərilməyəcək. Televizorlar Solr axtarışı üçün indeksləşdirmə zamanı işlənir, buna görə burada bunu etməyə ehtiyac yoxdur. | 0 |
Nəticələri vurğulamaq | Vurğulayın və ya qeyd etməyin axtarış sorğusu nəticələrdə. | 1 |
Vurğulayın Sınıf | Nəticələrdə vurğulanan şərtlərə əlavə ediləcək CSS sinifinin adı. | sisea-vurğulamaq |
vurğulamaq et | Html etiketi vurgulanan termini axtarış nəticələrinə bağlamaq. | qarış |
səhifəTpl | Səhifələrə keçid üçün istifadə olunan hissə. | PageLink |
cariPageTpl | Səhifədəki mövcud bağlantı üçün istifadə olunan blok. | CurrentPageLink |
disk ayırıcı | Səhifə bağlantıları arasında istifadə üçün ayırıcı (ayırıcı). | | |
idlər | Axtarışı məhdudlaşdırmaq üçün vergüllə ayrılmış sənəd kimliklərinin siyahısı | |
idType | İds parametri üçün məhdudiyyət növü. Valideynlər varsa, identifikatorların bütün elementləri axtarış üçün ids parametrinə əlavə olunacaq. Sənədlər varsa, axtarışda yalnız göstərilən identifikatorlardan istifadə olunacaq. | valideynlər |
istisna etmək | Axtarışdan çıxarmaq üçün vergüllə ayrılmış resurs identifikatorlarının siyahısı, məsələn. "10,15,19". Bu, "10", "15" və ya "19" identifikatorları olan mənbələri istisna edir. | |
dərinlik | İdtype ana olaraq təyin olunarsa, göstərilən şəxsiyyət nömrələri ilə axtarılan qaynaq ağacının dərinliyi. | 10 |
gizlət menyu | Gizlənmiş mənbələri qaytarmalıyammı? 0 yalnız görünən mənbələri, 1 yalnız göstərir gizli mənbələr, 2 hər ikisini göstərir. | 2 |
kontekstlər | Kontekstləri axtarın. Varsayılan, heç biri açıq şəkildə göstərilmədiyi təqdirdə cari kontekstdir. | |
searchIndex | Axtarışda istifadə ediləcək REQUEST parametrinin adı. | axtarış |
ofsetIndex | Səhifə ofseti üçün istifadə olunan REQUEST parametrinin adı. | sisea_offset |
placeholderPrefix | Parçada göstərildiyi kimi qlobal yer tutucular üçün prefiks. | sisea. |
toPlaceholder | Çıxışı birbaşa geri qaytarmaq üçün təyin etmək və ya bu mülkün adı olan bir yer tutucuya təyin etmək. | |
urlScheme | Lazım olan URL sxemi: http, https, tam, abs, nisbi və s. $ Modx-> makeUrl () sənədlərinə baxın. Səhifələşdirmə bağlantıları yaradıldıqda istifadə olunur. | |
xüsusi paketlər | Paketini endirərək xüsusi cədvəllər axtarmağı qurun. Ətraflı məlumat üçün aşağıya baxın. | |
postHooks | Son nəticələrə yönlü dəstlər əlavə edə biləcək başlatma çəngəllərinin vergüllə siyahıya alınmış siyahısı. | |
activeFacet | Mövcud aktiv üz. Nəticənin postHook vasitəsi ilə əldə edilən qeyri-standart aspektdən görünməsini istəmirsinizsə, bunu tək buraxın. | defolt |
facetLimit | Göstəriləcək qeyri-aktiv yönlü nəticələrin sayı ana səhifə nəticələr. | 5 |
sırala | Nəticələri sıralamaq üçün vergüllə ayrılmış resurs sahələrinin siyahısı. Uyğunluğa və reytinqə görə sıralamaq üçün boş buraxın. | |
sortDir | Nəticələri sıralamaq üçün vergüllə ayrılmış təlimatların siyahısı. SortBy parametrindəki maddələrin sayına uyğun olmalıdır. | DESC |
noResultsTpl | Axtarış nəticəsi tapılmadığı təqdirdə istifadə olunacaq. |
MODX saytında axtarış tətbiq olunur
1. SimpleSearch
2. Qərar vermək müxtəlif problemlər kodlaşdırma ilə və s.
Əsas / komponentlər / simplesearch / model / simplesearch / simplesearch.class.php səhifəsinə keçin, aşağıdakı sətirləri əvəz edin:
sətir 297:
$ text = preg_replace ("/(\" \\\\+.*? \\\\\\\\\\\\\\\\\\\\\== \\\\\\\\\\\\ ", \\" ", $ mətni);
ilə əvəz edin
$ text = preg_replace ("/(\ {\ {\+.*? \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\
sətir 311:
$ text = trim (preg_replace (" / \ s + /", "", $ this-> sanitize ($ text))));
ilə əvəz edin
$ text = trim (preg_replace (" / \ s + / u", "", $ this-> sanitize ($ text)));
sətir 413:
$ string = preg_replace ("/". $ quoteValue. "/ i", "<".$tag." class="".$cls."">$0".$tag.">", $ string);
ilə əvəz edin
$ string = preg_replace ("/". $ quoteValue. "/ iu", "<".$tag." class="".$cls."">$0".$tag.">", $ string);
179 sətirini şərh edək:
Əgər (! Boş ($ str)) $ this-> searchString = strip_tags ($ this-> modx-> sanitizeString ($ str));
bunlar. belə görünməlidir
/ * if (! boş ($ str)) $ this-> searchString = strip_tags ($ this-> modx-> sanitizeString ($ str)); * /
3. Bütün standart parçaların surətlərini çıxarınəsas / komponentlər / sadə axtarış / elementlər / hissələr / qovluqda yerləşir
Eyni adlara və -yeni prefiksə və eyni məzmuna malik yeni hissələr yaradırıq (yalnız bunlar artıq fayllara deyil, adi olanlara aiddir), bunun üçün bütün bunları daha da başa düşəcəksiniz.
Məsələn, birinci hissəni götürək cari səhifənin bağlantısı.chunk.tpl və yeni bir hissə yaradın cari səhifə əlaqəsi-yeni(elementlər - yeni bir yığın yaradın) və kodu ona köçürün.
[[+ mətn]]
Səhifələşdirmə düyməsini idarə etməkdən məsuldur aktiv səhifə.
Eyni şəkildə, qalan hissələri yaradırıq:
- səhifə bağlantısı- yeni- ayrı bir səhifələmə düyməsini göstərməkdən məsuldur.
[[+ mətn]]
- [[+ link]]- həddindən artıq sənəd bağlantısı
- [[+ mətn]]- Sənəd nömrəsi
- axtarış forması- yeni- axtarış forması
— axtarış nəticələri köçürə bilməzsiniz - heç bir dizayn yoxdur;
— axtarış nəticəsi-yeni- Nəticənin hər bir maddəsinin çıxışı.
[[+ idx]]. [[+ səhifə başlığı]]
[[+ çıxarış]]
- [[+ idx]]- siyahıdakı axtarış nəticələrinin sayı
- [[+ link: is = '': sonra = `[[~ [[+ id]]]]`: başqa = `[[+ link]]`]]
- [[+ uzun başlıq]]- uzadılmış başlıq
- [[+ səhifə başlığı]]- başlıq
- [[+ çıxarış]]- bu sənədin tapıldığı mətn
— axtarış nəticəsi- əslində köçürə bilməzsiniz.
— axtarış nəticələri-yeni- bütün nəticələri bağlayın
[[+ resultInfo]]
- [[+ resultInfo]]- tapılan sənədlərin sayı və hansı ifadə ilə bağlı məlumatlar.
- [[+ sisea.result_pages? & namespace = `sisea` & topic =` default`]]
Cümlə çıxışı "Axtarış Nəticələri Səhifələri:"
- [[+ səhifələmə]]- Səhifələşdirmə
- [[+ nəticə]]- axtarış nəticələri
Bütün bunları etdikdən sonra 5 yeni hissəyə sahib olmalısınız.
4. Yarat yeni sənəd axtarış nəticələrinin göstəriləcəyi yer
Başlıq: Axtarış nəticələri, "Menyuda göstərmə" qutusunu işarələyin. "Ayarlar" bölməsində "Axtarış üçün əlçatandır", "HTML redaktorundan istifadə et" onay qutularını çıxarın. Qənaət edirik. Səhifəni yeniləyin və məzmuna əlavə edin
[[! SimpleSearch? & tpl = `searchresult-new` & containerTpl =` searchresults-new` & pageTpl = `pagelink-new` & currentPageTpl =` currentpagelink-new`]]
3 -cü addımda yaradılmış dizayn hissələri ( görünüş).
Axtarış nəticələrində şəkillər çəkmək istəyirsinizsə, bu çıxışın sonunda əlavə edin
& includeTVs = `1` & processTVs =` 1`
Axtarış nəticəsi hissəsində görüntüyə belə ad vermək olar: [[+ img]].
5. Axtarış forması göstərilir
Axtarış formasını göstərməyiniz lazım olan yerdə yazın
[[! SimpleSearchForm? & açılış = `11` & tpl =` axtarış forması-yeni`]]
Burada açılış, tpl -də axtarış nəticələrinin olduğu səhifənin ididir - 3 -cü addımda yaradılmış forma dizayn hissələri.
Xarici dizaynı öz istəyinizlə redaktə edə bilmək üçün 4 və 5 -ci addımları atdıq: formanın özü, axtarış nəticələri və s. mənbə koduna girmədən. Standart dizayn olduqca kədərlidir, məsələn, standart axtarış forması belə görünür.
6. Dizaynını dəyişirik.
Bütün parçaları necə düzəltməyi izah etməyin mənasını görmürəm, məsələn bir parça üçün yeni bir dizayn verəcəyəm axtarış forması-yeni
Bu, adi standart bootstrap 3 forma işarəsidir, saytda belə görünür:
Rəsmi sənədlər burada: docs.modx.com/extras/revo/simplesearch
Hər hansı bir sualınız varsa, şərhlərdə yazın.
SimpleSearch- bu standart bir paketdir, saytda axtarış edin modx revo ağlama. Əlavə edəcəyik ajax canlı axtarış üçün müraciət. Bir nümunə eyni saytda tapıla bilər, olduqca sadə işləyir və nəzərə alaraq səhifələşdirmə ilə. Snipet SimpleSearchForm (axtarış formu) istəkləri ajax tələbi ohm ayrı səhifə SimpleSearch snippetinin çıxardığı nəticələrlə.
1 Məşhur sayt axtarış paketini yükləyin SimpleSearch modx revo anbarından yükləyin və quraşdırın.
Ajaxın məlumatları götürməsi və axtarış formasında tələb olunduqda göndərməsi üçün boş bir şablonu olan bir qaynaq yaradırıq.
Məsələn, ajax tərəfindən əldə ediləcək yalançı nəticələrə "axtarış nəticələri" deyək.
Resurs məzmunu:
2 İndi axtarış formasını sizin üçün əlverişli bir yerə yerləşdirəcəyik, bunun üçün "SimpleSearchForm" parçası cavabdehdir.
Bir qayda olaraq, axtarış forması modx şablonlarına daxil edilir.
Div elementi ajax sorğusunun nəticələrini çıxarır.
[[! SimpleSearchForm]]
3 Formadan 1 -ci addımda yaratdığımız səhifəyə sorğu göndərmək üçün ajax -ı bağlayaq.
(!) Jquery daxil etməyi unutmayın
(!) Ajax -ın mənbəyə hansı ünvanda daxil olduğunu yoxlayın. Load () metodu buna 2 yerdə cavabdehdir.
// SimpleSearch ajax $ (Document) .ready (function () (// Button $ (". Sisea-search-form"). Göndərin (function () (// düyməsinə ehtiyac olarsa şərh yazmayın // $ ("# site) -axtarış nəticələri "). yükləmə (" / search-results / ", $ (". sisea-search-form "). serialize ()). slideDown (" fast "); false false;)); // Live $ (". sisea-search-form input"). keyup (function () (if (this.value.length> 2)) $ (sənəd) pəncərəsinə vurun (funksiya (hadisə) (// gizlət (əgər ($ (hadisə.tədəf)). ən yaxın (". sayt-axtarış-nəticələri"). uzunluq) qayıt; $ (". sayt-axtarış- nəticələr ") .slideUp (" sürətli "); //event.stopPropagation ();)); $ ("# axtarış "). klikləyin (function () (// $ (". site-search-results ") . slideDown ("sürətli"); yalnış qayıt;)); // ajax axtarış nəticələrini səhifədən yükləyir və $ ("# site-search-results") konteynerini göstərir. load (" / search-results /", $ (". sisea-search-form"). serialize ()). slideDown ("fast");) else (// If typ 2 simvoldan erkən, konteyneri gizlə (CSS göstər: heç biri;) $ ("# site-search-results"). slideUp ("fast"); ))); ));
4 Pəncərəni və lazım olan ekran üslublarını gizlətməyin və açmağın ajax təsirini göstərmək üçün css daxil edirik. Qalan üslubları modx inqilabında SimpleSearch paketi təlimatında göstərildiyi kimi özünüz tamamlayın.
/ * SimpleSearch ajax * / .sayt-axtarış nəticələri (görüntü: yox; mövqe: mütləq; mətn-hizalama: sol; doldurma: 15 piksel; arxa plan: # F7F7F7; sərhəd radiusu: 5 piksel; -webkit-sərhəd-radius: 5 piksel ; -moz-sərhəd-yarıçapı: 5px; qutu-kölgə: 2px 3px 9px -2px rgba (50, 50, 50, 0.55); -webkit-box-shadow: 2px 3px 9px -2px rgba (50, 50, 50, 0.55); -moz -box -shadow: 2px 3px 9px -2px rgba (50, 50, 50, 0.55);)
SimpleSearchForm parçasındakı axtarış düyməsi tamamilə silinə bilər
ajax artıq Enter düyməsini basaraq müdaxilə edir.
Salam əziz dostlar və həmkarlarım! Sizi tanış etmək istəyirəm əla paket sistem altında saytda axtarış təşkil etmək Modx Revolution - SimpleSearch... Bu paketi bir saytda necə quraşdıracağınızı və saytda axtarış təşkil edəcəyinizi sizə addım -addım izah edəcəyəm. Beləliklə, başlayaq:
1. Əvvəlcə "Sistem" - "Paket İdarəçiliyi" nə gedin.
2. "Əlavələri yüklə" düyməsini basırıq.
3. Axtarış çubuğuna daxil oluruq - SimpleSearch, "Enter" düyməsini basın və "Yüklə" düyməsini basın
4. Paket yüklənəcək
5. "Paket İdarəçiliyi" ni basın.
6. Və yüklədiyimiz SimpleSearch -in yanındakı "quraşdır" düyməsini basın
"Davam et" və sonra "Tamam" düyməsini basın
7. Ağacın kökündə yeni bir qaynaq yaradın
Başlıq: Axtarış nəticələrində "Menyuda göstərmə" işarəsini qoyun. "Ayarlar" sekmesini vurun və "Axtarıla bilən", "HTML Redaktorundan istifadə et" işarələrini yoxlayın. Resursa qənaət etmək unudulmazdır.
8. Sonra yeni yaradılmış mənbəyə gedin və "Resurs məzmunu" sahəsinə daxil olun
[[! SimpleSearch]]9. Bu mənbənin idini yadda saxla, bu axtarış nəticələrini göstərmək üçün bir səhifədir
Axtarış formasının özünün yerləşdiyi şablona aşağıdakı kodu daxil edin:
[[! SimpleSearchForm? & açılış = `1` & tpl =` axtarış`]]
açılış, axtarış nəticələrinin göstərildiyi səhifənin identifikatorudur və axtarış bölməsi indi yaradacağımız axtarış formasının özündən məsuldur.
10. Sonra aşağıdakı kodu kopyalayın
bu, core / components / simplesearch / elements / chunks / searchform.chunk.tpl faylının məzmunudur:
axtarış adlı yeni bir hissəyə daxil edin və ehtiyac duyduğumuz axtarış qutusunu göstərmək üçün şablon yaradın.
11. Sonra, problemləri kodlaşdırma ilə həll edirik
İçindəki əsas / komponentlər / simplesearch / model / simplesearch / simplesearch.class.php faylını tapın, xətti dəyişdirin
$ text = trim (preg_replace (" / \ s + /", "", $ this-> sanitize ($ text))));
$ text = trim (preg_replace (" / \ s + / u", "", $ this-> sanitize ($ text))));
12. Sonra xətti əvəz edirik
$ string = preg_replace ("/". $ quoteValue. "/ i", "<".$tag." class=".$cls.">$0".$tag.">", $ string);$ string = preg_replace ("/". $ quoteValue. "/ iu", "<".$tag." class=".$cls.">$0".$tag.">", $ string);
13. Həm də xətti dəyişdirin
$ text = preg_replace ("/(\" \\\\+.*? \\\\\\\\\\\\\\\\\\\\\\\==. \\\\\\\\\\\\ ", \\" ", $ mətni);$ text = preg_replace ("/(\ {\ {\+.*? \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\
14. Və son şey, xətti şərh etməlisiniz
əgər (! boş ($ str)) $ this-> searchString = strip_tags ($ this-> modx-> sanitizeString ($ str));Əsas SimpleSearch hissələri
Modx Revolution tərəfindən dəstəklənən saytda axtarış hazırdır. İşə yarayır, özünüz görə bilərsiniz, amma bu parça ilə işləyərkən lazımlı olacaq daha bir neçə məqam var. Məhz, axtarış nəticələrinin, onun sarmağının, səhifələşmənin və s. Birincisi, .tpl formatında olan bütün hissələrin bu yol boyunca yerləşdiyini anlamalısınız: core / components / simplesearch / elements / chunks /. Onlarla işləməyi asanlaşdırmaq üçün əsas hissələri Modx idarəetmə panelində göstərəcəyik. Budur onların parametrləri
- konteynerTpl
- səhifəTpl
- cariPageTpl
Yaxşı, biz istədiyimiz şeyləri özlərinə deyəcəyik.
TPL parametri - yığın SimpleSearchResult
Parametr tpl axtarış nəticələrində hər bir fərdi maddənin göstərilməsindən məsuldur. Bir yığın yaradaq və adını verək SimpleSearchResult... Faylın içindəki kodu kopyalayaq core / komponentlər / simplesearch / elements / chunks / searchresult.chunk.tpl: