"Ə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", $ string);

ilə əvəz edin

$ string = preg_replace ("/". $ quoteValue. "/ iu", "<".$tag." class="".$cls."">$0", $ 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]]

[[+ səhifələmə]]
[[+ nəticə]]
[[% sisea.result_pages? & namespace = `sisea` & topic =` default`]][[+ səhifələmə]]

  • [[+ 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:

axtarış nəticələri [[! SimpleSearch]]

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", $ string);

$ string = preg_replace ("/". $ quoteValue. "/ iu", "<".$tag." class=".$cls.">$0", $ 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:

[[+ idx]].

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", $ string);

$ string = preg_replace ("/". $ quoteValue. "/ iu", "<".$tag." class=".$cls.">$0", $ 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: