با سلام خدمت دوستان و همکاران گرامی من می خواهم شما را با یک بسته عالی برای سازماندهی جستجو در سایت تحت سیستم آشنا کنم Modx Revolution - SimpleSearch... نحوه نصب این بسته در سایت و سازماندهی جستجو در سایت را مرحله به مرحله برای شما توضیح خواهم داد. پس بیایید شروع کنیم:
1. ابتدا به "System" - "Package Management" بروید
2. دکمه "دانلود افزونه ها" را فشار می دهیم
3. ما وارد نوار جستجو می شویم - SimpleSearch، "Enter" را فشار دهید و روی دکمه "دانلود" کلیک کنید.
4. بسته دانلود خواهد شد
5. روی «مدیریت بسته» کلیک کنید
6. و روی دکمه «نصب» در کنار SimpleSearch دانلود شده توسط ما کلیک کنید
روی "ادامه" و سپس "OK" کلیک کنید
7. یک منبع جدید در ریشه درخت ایجاد کنید
عنوان: نتایج جستجو، علامت «در منو نشان داده نشود» را بزنید. روی تب "تنظیمات" کلیک کنید و تیک "قابل جستجو"، "استفاده از ویرایشگر HTML" را بردارید. صرفه جویی در منابع فراموش نشدنی است.
8. در مرحله بعد، به منبع جدید ایجاد شده بروید و وارد شوید
[[! جستجوی ساده]]9. شناسه این منبع را به خاطر بسپارید، این صفحه نمایش نتایج جستجو است
در قالبی که خود فرم جستجو در آن قرار دارد، کد زیر را وارد کنید:
[[! SimpleSearchForm؟ & فرود = `1` & tpl =` جستجو`]]
جایی که فرود، شناسه صفحه نمایش نتایج جستجو است، و بخش جستجو مسئول خود فرم جستجو است که اکنون آن را ایجاد خواهیم کرد.
10. سپس کد زیر را کپی کنید
این محتوای هسته فایل / اجزا / simplesearch / عناصر / chunks / searchform.chunk.tpl است:
در یک تکه جدید به نام جستجو و ایجاد قالب برای نمایش پنجره جستجوی مورد نیاز.
11. در مرحله بعد، مشکلات مربوط به رمزگذاری را حل می کنیم
هسته فایل / اجزا / simplesearch / model / simplesearch / simplesearch.class.php فایل را در آن پیدا کنید، خط را جایگزین کنید.
$ text = trim (preg_replace ("/ \ s + /"، ""، $ this-> sanitize ($ text)));
$ text = trim (preg_replace ("/ \ s + / u"، ""، $ this-> sanitize ($ text)));
12. سپس خط را جایگزین می کنیم
$ string = preg_replace ("/". $ quoteValue. "/ i", "<".$tag." class=".$cls.">$0".$tag.">"، رشته $)؛$ string = preg_replace ("/". $ quoteValue. "/ iu", "<".$tag." class=".$cls.">$0".$tag.">"، رشته $)؛
13. و همچنین خط را جایگزین کنید
$ text = preg_replace ("/(\ {\ {\+.*?\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\استفاده \\\\\\\\\\\") \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ "، \\" "، $ text);$ text = preg_replace ("/(\ {\ {\\+.*?\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
14. و آخرین چیز، شما نیاز به اظهار نظر در خط
if (! خالی ($ str)) $ this-> searchString = strip_tags ($ this-> modx-> sanitizeString ($ str));تکه های ساده SimpleSearch
جستجو در سایت ارائه شده توسط Modx Revolution آماده است. کار می کند، خودتان می توانید ببینید، اما چند نکته دیگر وجود دارد که هنگام کار با این قطعه به کارتان می آید. یعنی ویرایش تکه های نتایج جستجو، بسته بندی آن، صفحه بندی و غیره. ابتدا باید بدانید که همه تکهها در قالب .tpl در امتداد این مسیر قرار دارند: core / components / simplesearch / elements / chunks /. خب برای اینکه کار باهاش راحتتر بشه، قسمت های اصلی رو در پنل مدیریت Modx نمایش میدیم. در اینجا پارامترهای آنها آمده است
- containerTpl
- pageTpl
- currentPageTpl
خوب، ما خود تکه ها را هر چه بخواهیم می نامیم.
پارامتر Tpl - قطعه SimpleSearch Result
پارامتر tplوظیفه نمایش هر مورد جداگانه در نتایج جستجو را بر عهده دارد. بیایید یک قطعه ایجاد کنیم و نام آن را بگذاریم SimpleSearch Result... بیایید کد را از فایل در آن کپی کنیم هسته / کامپوننت ها / جستجوی ساده / عناصر / تکه ها / searchresult.chunk.tpl:
[[+ idx]].
![](https://i0.wp.com/bayguzin.ru/assets/images/2013/03/s1.gif)
2. دکمه "دانلود افزونه ها" را فشار می دهیم
![](https://i2.wp.com/bayguzin.ru/assets/images/2013/03/s2.gif)
3. ما وارد نوار جستجو می شویم - SimpleSearch، "Enter" را فشار دهید و روی دکمه "دانلود" کلیک کنید.
![](https://i1.wp.com/bayguzin.ru/assets/images/2013/03/s234.gif)
4. بسته دانلود خواهد شد
![](https://i0.wp.com/bayguzin.ru/assets/images/2013/03/s4.gif)
5. روی «مدیریت بسته» کلیک کنید
![](https://i1.wp.com/bayguzin.ru/assets/images/2013/03/s5.gif)
6. و روی دکمه «نصب» در کنار SimpleSearch دانلود شده توسط ما کلیک کنید
![](https://i0.wp.com/bayguzin.ru/assets/images/2013/03/s6.gif)
روی "ادامه" و سپس "OK" کلیک کنید
7. یک منبع جدید در ریشه درخت ایجاد کنید
عنوان: نتایج جستجو، علامت «در منو نشان داده نشود» را بزنید. روی تب "تنظیمات" کلیک کنید و تیک "قابل جستجو"، "استفاده از ویرایشگر HTML" را بردارید. صرفه جویی در منابع فراموش نشدنی است.
8. در مرحله بعد، به منبع جدید ایجاد شده بروید و وارد شوید
[[! جستجوی ساده]] 9. شناسه این منبع را به خاطر بسپارید، این صفحه نمایش نتایج جستجو است
در قالبی که خود فرم جستجو در آن قرار دارد، کد زیر را وارد کنید:
[[! SimpleSearchForm؟ & فرود = `1` & tpl =` جستجو`]]
جایی که فرود، شناسه صفحه نمایش نتایج جستجو است، و بخش جستجو مسئول خود فرم جستجو است که اکنون آن را ایجاد خواهیم کرد.
10. سپس کد زیر را کپی کنید
این محتوای هسته فایل / اجزا / simplesearch / عناصر / chunks / searchform.chunk.tpl است:
در یک تکه جدید به نام جستجو و ایجاد قالب برای نمایش پنجره جستجوی مورد نیاز.
11. در مرحله بعد، مشکلات مربوط به رمزگذاری را حل می کنیم
هسته فایل / اجزا / simplesearch / model / simplesearch / simplesearch.class.php فایل را در آن پیدا کنید، خط را جایگزین کنید.
$ text = trim (preg_replace ("/ \ s + /"، ""، $ this-> sanitize ($ text)));
$ text = trim (preg_replace ("/ \ s + / u"، ""، $ this-> sanitize ($ text)));
12. سپس خط را جایگزین می کنیم
$ string = preg_replace ("/". $ quoteValue. "/ i", "<".$tag." class=".$cls.">$0".$tag.">"، رشته $)؛ $ string = preg_replace ("/". $ quoteValue. "/ iu", "<".$tag." class=".$cls.">$0".$tag.">"، رشته $)؛
13. و همچنین خط را جایگزین کنید
$ text = preg_replace ("/(\ {\ {\+.*?\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\استفاده \\\\\\\\\\\") \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ "، \\" "، $ text); $ text = preg_replace ("/(\ {\ {\\+.*?\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
14. و آخرین چیز، شما نیاز به اظهار نظر در خط
if (! خالی ($ str)) $ this-> searchString = strip_tags ($ this-> modx-> sanitizeString ($ str)); تکه های ساده SimpleSearch
جستجو در سایت ارائه شده توسط Modx Revolution آماده است. کار می کند، خودتان می توانید ببینید، اما چند نکته دیگر وجود دارد که هنگام کار با این قطعه به کارتان می آید. یعنی ویرایش تکه های نتایج جستجو، بسته بندی آن، صفحه بندی و غیره. ابتدا باید بدانید که همه تکهها در قالب .tpl در امتداد این مسیر قرار دارند: core / components / simplesearch / elements / chunks /. خب برای اینکه کار باهاش راحتتر بشه، قسمت های اصلی رو در پنل مدیریت Modx نمایش میدیم. در اینجا پارامترهای آنها آمده است
- containerTpl
- pageTpl
- currentPageTpl
خوب، ما خود تکه ها را هر چه بخواهیم می نامیم.
پارامتر Tpl - قطعه SimpleSearch Result
پارامتر tplوظیفه نمایش هر مورد جداگانه در نتایج جستجو را بر عهده دارد. بیایید یک قطعه ایجاد کنیم و نام آن را بگذاریم SimpleSearch Result... بیایید کد را از فایل در آن کپی کنیم هسته / کامپوننت ها / جستجوی ساده / عناصر / تکه ها / searchresult.chunk.tpl:
[[+ idx]].
جزئي
و شرایط
آیا باید بین کلمات AND منطقی اضافه کنم؟
1
matchWildcard جستجوی حروف عام را فعال کنید.برای جستجوی دقیق عبارت جستجو، روی false تنظیم کنید.
1
docFields
فهرست فیلدهای سند جداگانه برای جستجو.
عنوان صفحه،
عنوان طولانی،
شرح،
درون متن،
نام مستعار
، محتوا
توان میدانی
ارزیابی و مرتب سازی نتایج
هر صفحه تعداد نتایج جستجو برای یک صفحه
10
showExtract
آیا برای نمایش برش از محتوای هر نتیجه جستجو.
1
منبع استخراج
به کاربر امکان می دهد تعیین کند که پرداخت از کجا می آید.اگر مقدار این پارامتر نام فیلد منبع باشد (از جمله TV if & includeTVs تنظیم شده است)، از این فیلد منبع برای استخراج استفاده می شود.در غیر این صورت، پارامتر به عنوان نام قطعه در حال اجرا در نظر گرفته می شود.قطعه توسط آرایه منبع به عنوان پارامتر ارسال می شود.اگر این نام قطعه ای نداشته باشد، استخراج خالی خواهد بود.
محتوا
طول استخراج
تعداد کاراکترهایی که باید از محتوا برای هر نتیجه استخراج شود.
200
استخراج بیضی
رشته ای که برای بسته بندی نتایج استخراج استفاده می شود.پیش فرض بیضی است.
…
شامل تلویزیون
نشان می دهد که آیا مقادیر TemplateVar باید در ویژگی های موجود برای هر الگوی منبع گنجانده شود یا خیر.پیشفرض 0 است. اگر تلویزیونهای زیادی دارید، فعال کردن این گزینه ممکن است سرعت شما را کاهش دهد.
0
تلویزیون های پردازش
نشان می دهد که آیا مقادیر TemplateVar باید همانطور که در منبع خلاصه شده ارائه می شوند یا خیر.پیش فرض 0 است. برخی از یادداشت ها: بهتلویزیون با نام تلویزیون شما قابل دسترسی است [[+ myTV]] به طور پیشفرض، SimpleSearch از پیشوند استفاده نمیکند، به عنوان مثال [[+ tv.myTV]] نمایش داده نمیشود.
تلویزیونها در طول فهرستبندی برای جستجوهای Solr پردازش میشوند، بنابراین نیازی به انجام این کار در اینجا نیست.
0
برجسته کردن نتایج
عبارت جستجو را در نتایج مشخص کنید یا برجسته نکنید.
1
highlightClass
نام کلاس CSS برای اضافه کردن به شرایط هایلایت شده در نتایج. sisea-highlight
highlightTag یک تگ html برای قرار دادن عبارت برجسته شده در نتایج جستجو. طول
pageTpl بخشی که برای پیوند دادن به صفحات استفاده می شود. پیوند صفحه
currentPageTpl بلوک مورد استفاده برای پیوند فعلی در صفحه. CurrentPageLink
جداکننده صفحه جداکننده (جداکننده) برای استفاده بین پیوندهای صفحه. |
شناسه فهرست شناسههای سند، برای محدود کردن جستجو، با کاما از هم جدا شدهاند
نوع آی دی نوع محدودیت برای پارامتر id. اگر والدین، تمام عناصر شناسهها برای جستجو به پارامتر id اضافه میشوند. در صورت اسناد، فقط از شناسه های مشخص شده در جستجو استفاده می شود. والدین
حذف کردن فهرستی از شناسههای منبع، که با کاما از هم جدا شدهاند، برای مثال، از جستجو حذف میشوند. "10،15،19". این شامل منابعی با شناسههای «10»، «15» یا «19» نمیشود.
عمق اگر idtype روی والد تنظیم شده باشد، عمق درخت منبع را با شناسه های مشخص شده جستجو کنید. 10
hideMenu آیا باید منابعی را که hidemenu دارند برگردانم؟ 0 فقط منابع قابل مشاهده، 1 فقط منابع پنهان، 2 هر دو را نشان می دهد. 2
زمینه ها جستجو در زمینه ها در صورتی که هیچ کدام به صراحت مشخص نشده باشد، پیش فرض زمینه فعلی است.
SearchIndex نام پارامتر REQUEST برای استفاده در جستجو. جستجو کردن
offsetIndex نام پارامتر REQUEST مورد استفاده برای افست صفحه. sisea_offset
پیشوند placeholder پیشوند برای متغیرهای جهانی، همانطور که توسط قطعه مشخص شده است. sisea
toPlaceholder اینکه خروجی را برای بازگشت مستقیم تنظیم کنید، یا روی یک مکان نگهدار با نام این ویژگی تنظیم کنید.
urlScheme طرح url مورد نیاز: http، https، full، abs، نسبی و غیره. به مستندات $ modx-> makeUrl () مراجعه کنید. این زمانی که لینک های صفحه بندی تولید می شوند استفاده می شود.
بسته های سفارشی تنظیم کنید تا جداول سفارشی را با دانلود بسته آنها جستجو کنید. برای جزئیات به زیر مراجعه کنید.
پست قلاب فهرستی از قلاب های راه اندازی که می توانند مجموعه های وجهی را به نتایج نهایی اضافه کنند.
activeFacet چهره فعال فعلی. اگر نمیخواهید نتیجه از جنبه غیراستاندارد بازیابی شده از طریق postHook نشان داده شود، این را رها کنید. پیش فرض
facetLimit تعداد نتایج غیرفعال برای نمایش در صفحه نتایج اصلی. 5
مرتب سازی بر اساس فهرستی از فیلدهای منبع جدا شده با کاما برای مرتب کردن نتایج. برای مرتب سازی بر اساس ارتباط و رتبه بندی، خالی بگذارید.
sortDir فهرستی از دستورالعمل های جدا شده با کاما برای مرتب سازی نتایج. باید با تعداد موارد موجود در پارامتر sortBy مطابقت داشته باشد. DESC
noResultsTpl تکه برای استفاده اگر هیچ نتیجه جستجو پیدا نشد.
پیاده سازی جستجو در وب سایت MODX
1. SimpleSearch
2. ما مشکلات مختلف را با رمزگذاری و غیره حل می کنیم.
به core / components / simplesearch / model / simplesearch / simplesearch.class.php در آن بروید، خطوط زیر را جایگزین کنید:
خط 297:
$ text = preg_replace ("/(\ {\ {\+.*?\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\استفاده \\\\\\\\\\\") \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ "، \\" "، $ text);
تعویض با
$ text = preg_replace ("/(\ {\ {\\+.*?\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
خط 311:
$ text = trim (preg_replace ("/ \ s + /"، ""، $ this-> sanitize ($ text)));
تعویض با
$ text = trim (preg_replace ("/ \ s + / u"، ""، $ this-> sanitize ($ text)));
خط 413:
$ string = preg_replace ("/". $ quoteValue. "/ i", "<".$tag." class="".$cls."">$0".$tag.">"، رشته $)؛
تعویض با
$ string = preg_replace ("/". $ quoteValue. "/ iu", "<".$tag." class="".$cls."">$0".$tag.">"، رشته $)؛
بیایید در مورد خط 179 نظر دهیم:
اگر (! خالی ($ str)) $ this-> searchString = strip_tags ($ this-> modx-> sanitizeString ($ str));
آن ها می بایست شبیه به این باشه
/ * if (! خالی ($ str)) $ this-> searchString = strip_tags ($ this-> modx-> sanitizeString ($ str)); */
3. از تمام قطعات استاندارد کپی کنیدکه در هسته / اجزا / ساده جستجو / عناصر / تکه ها / دایرکتوری قرار دارند
ما تکههای جدیدی با نامهای مشابه و پیشوند -new و محتوای یکسان ایجاد میکنیم (فقط آنها دیگر بر اساس فایلها نیستند، بلکه بر اساس موارد معمولی هستند)، که همه اینها را بیشتر متوجه خواهید شد.
![](https://i2.wp.com/web-revenue.ru/wp-content/uploads/2018/02/sozdanie-novogo-chanka.png)
به عنوان مثال، بیایید تکه اول را در نظر بگیریم currentpagelink.chunk.tplو یک قطعه جدید ایجاد کنید پیوند صفحه فعلی-جدید(عناصر - یک قطعه جدید ایجاد کنید) و کد را به آن منتقل کنید.
[[+ متن]]
مسئول مدیریت دکمه در صفحه بندی برای صفحه فعال است.
و به همین ترتیب، بقیه تکه ها را ایجاد می کنیم:
- پیوند صفحه-جدید- وظیفه نمایش دکمه صفحه بندی جداگانه را بر عهده دارد.
[[+ متن]]
- [[+ پیوند]]- سند بیش از حد پیوند
- [[+ متن]]- شماره سند
- فرم جستجو - جدید- فرم جستجو
— نتایج جستجوشما نمی توانید آن را انتقال دهید - هیچ طرحی وجود ندارد.
— نتیجه جستجو - جدید- خروجی هر مورد از نتیجه.
[[+ idx]]. [[+ عنوان صفحه]]
[[+ عصاره]]
- [[+ idx]]- شماره نتیجه جستجو در لیست
- [[+ پیوند: = '': سپس = `[[~ [[+ شناسه]]]]`: else = `[[+ پیوند]]`]]
- [[+ عنوان طولانی]]- عنوان تمدید شده
- [[+ عنوان صفحه]]- عنوان
- [[+ عصاره]]- متنی که این سند توسط آن پیدا شد
— نتایج جستجو- در واقع، شما همچنین نمی توانید انتقال دهید.
— نتایج جستجو - جدید- بسته بندی همه نتایج
[[+ اطلاعات نتیجه]]
[[+ صفحهبندی]]
[[+ نتایج]]
[[% sisea.result_pages؟ & فضای نام = `sisea` & موضوع =` پیش فرض`]][[+ صفحهبندی]]
- [[+ اطلاعات نتیجه]]- اطلاعات در مورد تعداد اسناد پیدا شده و با چه عبارتی.
- [[+ sisea.result_pages؟ & فضای نام = `sisea` & موضوع =` پیش فرض`]]
خروجی عبارت "صفحات نتایج جستجو:"
- [[+ صفحهبندی]]- صفحه بندی
- [[+ نتایج]]- نتایج جستجو
بعد از تمام کارهایی که انجام شد، باید 5 تکه جدید داشته باشید.
![](https://i2.wp.com/web-revenue.ru/wp-content/uploads/2018/02/novyie-chanki-s-oformleniem.png)
4. یک سند جدید ایجاد کنید که نتایج جستجو در آن نمایش داده شود
عنوان: نتایج جستجو، کادر «در منو نشان داده نشود» را علامت بزنید. در «تنظیمات»، کادرهای تأیید را از «در دسترس برای جستجو»، «استفاده از ویرایشگر HTML» حذف کنید. پس انداز می کنیم. صفحه را رفرش کنید و به محتوا اضافه کنید
[[! SimpleSearch؟ & tpl = `نتایج جستجو-جدید` & containerTpl =` searchresults-new` & pageTpl = `pagelink-new` & currentPageTpl =`pagelink فعلی-new`]]
طراحی تکه هایی که در مرحله 3 (ظاهر) ایجاد شدند.
اگر می خواهید تصاویری در نتایج جستجو داشته باشید، در انتهای این خروجی اضافه کنید
& includeTVs = `1` & processTVs =` 1`
در قسمت نتیجه جستجو، تصویر را می توان به این صورت نامید: [[+ img]].
5. نمایش فرم جستجو
در جایی که باید فرم جستجو را نمایش دهید، بنویسید
[[! SimpleSearchForm؟ & فرود = `11` & tpl =` searchform-new`]]
در اینجا فرود، شناسه صفحه با نتایج جستجو است، به صورت tpl - تکههای طراحی فرم که در مرحله 3 ایجاد شدهاند.
ما مراحل 4 و 5 را انجام دادیم تا بتوانید طرح خارجی را به صلاحدید خود ویرایش کنید: خود فرم، نتایج جستجو و غیره. بدون وارد شدن به کد منبع و طراحی استاندارد نسبتاً غم انگیز است، برای مثال فرم جستجوی استاندارد اینگونه به نظر می رسد.
6. ما طرح را تغییر می دهیم.
من در توضیح نحوه چیدمان همه تکه ها فایده ای نمی بینم، به عنوان مثال من یک طرح جدید برای یک تکه ارائه خواهم کرد. فرم جستجو-جدید
این نشانه گذاری فرم استاندارد بوت استرپ 3 است، در سایت به شکل زیر است:
![](https://i2.wp.com/web-revenue.ru/wp-content/uploads/2018/02/novaya-forma-poiska.png)
اسناد رسمی در اینجا: docs.modx.com/extras/revo/simplesearch
اگر سوالی دارید در نظرات بنویسید.
این قطعه نتایج جستجو را بر اساس معیارهای جستجوی ارسال شده نمایش می دهد.
استفاده
به سادگی قطعه را در منبعی که می خواهید نتایج جستجو در آن نمایش داده شود قرار دهید.
[[! جستجوی ساده]]
خواص موجود
نام
شرح
پیش فرض
tpl
قسمتی که برای نمایش محتویات هر نتیجه جستجو استفاده می شود.
نتیجه جستجو
containerTpl
قطعه ای که برای بسته بندی تمام نتایج جستجو، صفحه بندی و پیام استفاده می شود.
نتایج جستجو
useAllWords
اگر درست باشد، فقط نتایجی را با تمام کلمات جستجوی مشخص شده پیدا می کند.
0
maxWords
حداکثر تعداد کلماتی که باید در جستجو گنجانده شود. فقط در صورتی قابل اجراست که useAllWords خاموش باشد.
7
minChars
حداقل تعداد کاراکترها برای شروع جستجو.
3
سبک جستجو
برای جستجو با جستجوی "جزئی" LIKE یا جستجوی "تطابق" مبتنی بر ارتباط.
جزئي
و شرایط
اینکه آیا یک AND منطقی بین کلمات اضافه شود یا نه.
1
matchWildcard
جستجوی حروف عام را فعال کنید. برای انجام جستجوی دقیق در یک عبارت جستجو، روی false تنظیم کنید.
1
docFields
فهرستی از فیلدهای منابع خاص که با کاما از هم جدا شده اند برای جستجو.
عنوان صفحه، عنوان طولانی، نام مستعار، توضیحات، متن درونی، محتوا
توان میدانی
امتیاز دهید و نتایج را مرتب کنید (برای اطلاعات / استفاده بیشتر به https://github.com/splittingred/SimpleSearch/pull/29 مراجعه کنید)
هر صفحه
تعداد نتایج جستجو برای نمایش در هر صفحه
10
showExtract
اینکه آیا عصاره ای از محتوای هر نتیجه جستجو نشان داده شود یا نه.
1
منبع استخراج
(جدید در نسخه 1.9) به کاربر اجازه می دهد تا مشخص کند که استخراج از کجا آمده است. اگر مقدار این پارامتر یک نام فیلد منبع باشد (از جمله TVs if & includeTVs تنظیم شده است) از آن قسمت منبع برای استخراج استفاده می شود. در غیر این صورت پارامتر به عنوان نام یک Snippet برای اجرا در نظر گرفته می شود. Snippet به عنوان پارامتر از آرایه منبع ارسال می شود. اگر Snippet با آن نام وجود نداشته باشد، استخراج خالی خواهد بود.
محتوا
طول استخراج
تعداد کاراکترها برای استخراج محتوای هر نتیجه جستجو.
200
استخراج بیضی
رشته مورد استفاده برای بسته بندی استخراج نتایج با. پیشفرض بیضی است.
...
شامل تلویزیون
نشان می دهد که آیا مقادیر TemplateVar باید در ویژگی های موجود برای هر الگوی منبع گنجانده شود. پیشفرضها روی 0. روشن کردن این گزینه ممکن است جستجوی شما را کندتر کند اگر تلویزیونهای زیادی دارید.
0
شاملTVList
یک لیست اختیاری از نامهای TemplateVar که با کاما محدود میشوند، در صورتی که شامل تلویزیونها 1 باشد، به طور صریح شامل میشود.
تلویزیون های پردازش
نشان می دهد که آیا مقادیر TemplateVar باید همانطور که در منبع خلاصه می شود ارائه شوند یا خیر. پیشفرض 0 است. برخی از نکات:
تلویزیونها را میتوان با نام تلویزیون [[+ myTV]] بهطور پیشفرض SimpleSearch از پیشوند استفاده نمیکند، به عنوان مثال. [[+ tv.myTV]] ارائه نخواهد شد. تلویزیون ها در طول فهرست بندی برای جستجوی Solr پردازش می شوند، بنابراین نیازی به انجام این کار در اینجا نیست.
0
برجسته کردن نتایج
اینکه عبارت جستجو را در نتایج برجسته کنیم یا نه.
1
highlightClass
نام کلاس CSS برای افزودن به عبارت هایلایت شده در نتایج.
ساده جستجوی برجسته
highlightTag
تگ html برای قرار دادن عبارت برجسته شده در نتایج جستجو.
طول
pageTpl
تکه ای که برای پیوند صفحه بندی استفاده می شود.
پیوند صفحه
currentPageTpl
قطعه مورد استفاده برای پیوند صفحه بندی فعلی.
CurrentPageLink
جداکننده صفحه
جداکننده برای استفاده بین پیوندهای صفحه بندی.
شناسه
فهرستی از شناسههای جدا شده با کاما برای محدود کردن جستجو.
نوع آی دی
نوع محدودیت برای پارامتر id. اگر والدین، تمام فرزندان شناسههای موجود در پارامتر id را به جستجو اضافه میکنند. اگر اسناد، فقط از شناسه های مشخص شده در جستجو استفاده می کند.
والدین
حذف کردن
فهرستی از شناسه های منبع جدا شده با کاما برای حذف از جستجو به عنوان مثال. "10،15،19". این منابع با شناسه "10"، "15" یا "19" را حذف می کند.
عمق
اگر idtype روی والدین تنظیم شده باشد، عمق درخت منبع که با شناسه های مشخص شده جستجو می شود.
10
hideMenu
آیا باید منابعی را که دارای hidemenu هستند برگردانند یا نه. 0 فقط منابع قابل مشاهده، 1 فقط منابع پنهان، 2 هر دو را نشان می دهد.
2
زمینه ها
زمینه های جستجو در صورتی که هیچکدام به صراحت مشخص نشده باشد، به شرایط پیشفرض میرسد.
SearchIndex
نام پارامتر REQUEST که جستجو از آن استفاده خواهد کرد.
جستجو کردن
offsetIndex
نام پارامتر REQUEST برای استفاده برای افست صفحه بندی.
simplesearch_offset
پیشوند placeholder
پیشوند برای متغیرهای جهانی که توسط این قطعه تنظیم شده است.
جستجوی ساده
toPlaceholder
اینکه خروجی را مستقیماً برگرداند، یا روی یک مکان نگهدار با نام این ویژگی تنظیم شود.
urlScheme
طرح URL مورد نظر: http، https، کامل، abs، نسبی و غیره. مستندات $ modx-> makeUrl () را ببینید. این زمانی استفاده می شود که پیوندهای صفحه بندی ایجاد می شوند.
بسته های سفارشی
تنظیم کنید تا جداول سفارشی را با بارگیری بسته آنها جستجو کنید. برای اطلاعات بیشتر قسمت زیر را مطالعه کنید.
پست قلاب
فهرستی از قلابها که با کاما از هم جدا شدهاند و میتوانند مجموعههای وجهی را به نتایج نهایی اضافه کنند.
activeFacet
جنبه فعال فعلی. این را به حال خود رها کنید مگر اینکه بخواهید نتیجه ای از جنبه غیر استانداردی که از طریق postHook به دست آمده است نشان داده شود.
پیش فرض
facetLimit
تعداد نتایج غیرفعال برای نمایش در صفحه نتایج اصلی.
5
مرتب سازی بر اساس
فهرستی از فیلدهای منبع جدا شده با کاما برای مرتب کردن نتایج بر اساس. برای مرتب کردن بر اساس ارتباط و امتیاز، خالی بگذارید.
sortDir
فهرستی از مسیرهای جدا شده با کاما برای مرتب کردن نتایج بر اساس. باید با تعداد موارد موجود در پارامتر sortBy مطابقت داشته باشد.
DESC
noResultsTpl
قسمتی برای استفاده زمانی که هیچ نتیجه جستجویی پیدا نشد.
تکه های جستجوی ساده
4 تکه وجود دارد که در SimpleSearch پردازش می شوند. پارامترهای SimpleSearch مربوطه آنها عبارتند از:
- tpl - قطعه مورد استفاده برای هر نتیجه نمایش داده شده.
- containerTpl - قطعه ای که برای جمع کردن تمام نتایج جستجو، صفحه بندی و پیام استفاده می شود.
- pageTpl - قطعه مورد استفاده برای پیوند صفحهبندی.
- currentPageTpl - قطعه ای که برای پیوند صفحه بندی فعلی استفاده می شود.
جستجو در جداول سفارشی
جستجوی جداول سفارشی در SimpleSearch با استفاده از ویژگی &customPackages در دسترس است. با این حال، شما باید یک بسته سفارشی برای آن ساخته شده باشد. قالب این است:
ClassName: fieldName (s): packageName: packagePath: joinCriteria || class2Name: fieldName (ها): package2Name:pack2Path: join2Criteria
به عبارت دیگر، هر بسته سفارشی با || از هم جدا می شود. سپس هر قسمت از آن با کولون (:) از هم جدا می شود. مثالی برای جستجوی نظرات Quip:
& customPackages = `quipComment: body: quip: (core_path) اجزاء / quip / model /: quipComment.resource = modResource.id`
بیایید هر قسمت را تجزیه کنیم:
- نام کلاس- نام کلاس جدولی که می خواهید جستجو کنید. اینجا، QuipComment است.
- نام فیلد (ها)- فهرستی از نام ستون ها که با کاما از هم جدا شده اند برای جستجو. ما "بدن" را انجام دادیم، شما همچنین می توانستید "بدن، ایمیل" یا هر چیز دیگری را انجام دهید.
- نام بسته- نام بسته طرحواره برای اضافه کردن. به این یکی کویپ می گویند.
- packagePath- مسیر مدل / دایرکتوری که بسته در آن قرار دارد.
- joinCriteria- SQL برای پیوستن به جدولی که می خواهید جستجو کنید و جدول modResource. جدول شما باید با منبعی که در آن است ارتباط داشته باشد (در غیر این صورت SimpleSearch نمیداند چگونه یک URL برای آن بارگیری کند!)
هنگامی که آن را اضافه کردید، آن فیلدها را نیز برای داده جستجو می کند. اگر آن را در آن جدول پیدا کرد، نتیجه را به عنوان پیوندی به منبعی که در joinCriteria خود مشخص کرده اید نمایش می دهد. در مثال ما، این عبارت است منبعی که نظر Quip در آن قرار دارد.
![](https://i0.wp.com/bayguzin.ru/assets/images/2013/03/s1.gif)
![](https://i2.wp.com/bayguzin.ru/assets/images/2013/03/s2.gif)
![](https://i1.wp.com/bayguzin.ru/assets/images/2013/03/s234.gif)
![](https://i0.wp.com/bayguzin.ru/assets/images/2013/03/s4.gif)
![](https://i1.wp.com/bayguzin.ru/assets/images/2013/03/s5.gif)
![](https://i0.wp.com/bayguzin.ru/assets/images/2013/03/s6.gif)
[[+ idx]].
جزئي
و شرایط
آیا باید بین کلمات AND منطقی اضافه کنم؟
1
matchWildcard جستجوی حروف عام را فعال کنید.برای جستجوی دقیق عبارت جستجو، روی false تنظیم کنید.
1
docFields
فهرست فیلدهای سند جداگانه برای جستجو.
عنوان صفحه،
عنوان طولانی،
شرح،
درون متن،
نام مستعار
، محتوا
توان میدانی
ارزیابی و مرتب سازی نتایج
هر صفحه تعداد نتایج جستجو برای یک صفحه
10
showExtract
آیا برای نمایش برش از محتوای هر نتیجه جستجو.
1
منبع استخراج
به کاربر امکان می دهد تعیین کند که پرداخت از کجا می آید.اگر مقدار این پارامتر نام فیلد منبع باشد (از جمله TV if & includeTVs تنظیم شده است)، از این فیلد منبع برای استخراج استفاده می شود.در غیر این صورت، پارامتر به عنوان نام قطعه در حال اجرا در نظر گرفته می شود.قطعه توسط آرایه منبع به عنوان پارامتر ارسال می شود.اگر این نام قطعه ای نداشته باشد، استخراج خالی خواهد بود.
محتوا
طول استخراج
تعداد کاراکترهایی که باید از محتوا برای هر نتیجه استخراج شود.
200
استخراج بیضی
رشته ای که برای بسته بندی نتایج استخراج استفاده می شود.پیش فرض بیضی است.
…
شامل تلویزیون
نشان می دهد که آیا مقادیر TemplateVar باید در ویژگی های موجود برای هر الگوی منبع گنجانده شود یا خیر.پیشفرض 0 است. اگر تلویزیونهای زیادی دارید، فعال کردن این گزینه ممکن است سرعت شما را کاهش دهد.
0
تلویزیون های پردازش
نشان می دهد که آیا مقادیر TemplateVar باید همانطور که در منبع خلاصه شده ارائه می شوند یا خیر.پیش فرض 0 است. برخی از یادداشت ها: بهتلویزیون با نام تلویزیون شما قابل دسترسی است [[+ myTV]] به طور پیشفرض، SimpleSearch از پیشوند استفاده نمیکند، به عنوان مثال [[+ tv.myTV]] نمایش داده نمیشود.
تلویزیونها در طول فهرستبندی برای جستجوهای Solr پردازش میشوند، بنابراین نیازی به انجام این کار در اینجا نیست.
0
برجسته کردن نتایج
عبارت جستجو را در نتایج مشخص کنید یا برجسته نکنید.
1
highlightClass
نام کلاس CSS برای اضافه کردن به شرایط هایلایت شده در نتایج. sisea-highlight
highlightTag یک تگ html برای قرار دادن عبارت برجسته شده در نتایج جستجو. طول
pageTpl بخشی که برای پیوند دادن به صفحات استفاده می شود. پیوند صفحه
currentPageTpl بلوک مورد استفاده برای پیوند فعلی در صفحه. CurrentPageLink
جداکننده صفحه جداکننده (جداکننده) برای استفاده بین پیوندهای صفحه. |
شناسه فهرست شناسههای سند، برای محدود کردن جستجو، با کاما از هم جدا شدهاند
نوع آی دی نوع محدودیت برای پارامتر id. اگر والدین، تمام عناصر شناسهها برای جستجو به پارامتر id اضافه میشوند. در صورت اسناد، فقط از شناسه های مشخص شده در جستجو استفاده می شود. والدین
حذف کردن فهرستی از شناسههای منبع، که با کاما از هم جدا شدهاند، برای مثال، از جستجو حذف میشوند. "10،15،19". این شامل منابعی با شناسههای «10»، «15» یا «19» نمیشود.
عمق اگر idtype روی والد تنظیم شده باشد، عمق درخت منبع را با شناسه های مشخص شده جستجو کنید. 10
hideMenu آیا باید منابعی را که hidemenu دارند برگردانم؟ 0 فقط منابع قابل مشاهده، 1 فقط منابع پنهان، 2 هر دو را نشان می دهد. 2
زمینه ها جستجو در زمینه ها در صورتی که هیچ کدام به صراحت مشخص نشده باشد، پیش فرض زمینه فعلی است.
SearchIndex نام پارامتر REQUEST برای استفاده در جستجو. جستجو کردن
offsetIndex نام پارامتر REQUEST مورد استفاده برای افست صفحه. sisea_offset
پیشوند placeholder پیشوند برای متغیرهای جهانی، همانطور که توسط قطعه مشخص شده است. sisea
toPlaceholder اینکه خروجی را برای بازگشت مستقیم تنظیم کنید، یا روی یک مکان نگهدار با نام این ویژگی تنظیم کنید.
urlScheme طرح url مورد نیاز: http، https، full، abs، نسبی و غیره. به مستندات $ modx-> makeUrl () مراجعه کنید. این زمانی که لینک های صفحه بندی تولید می شوند استفاده می شود.
بسته های سفارشی تنظیم کنید تا جداول سفارشی را با دانلود بسته آنها جستجو کنید. برای جزئیات به زیر مراجعه کنید.
پست قلاب فهرستی از قلاب های راه اندازی که می توانند مجموعه های وجهی را به نتایج نهایی اضافه کنند.
activeFacet چهره فعال فعلی. اگر نمیخواهید نتیجه از جنبه غیراستاندارد بازیابی شده از طریق postHook نشان داده شود، این را رها کنید. پیش فرض
facetLimit تعداد نتایج غیرفعال برای نمایش در صفحه نتایج اصلی. 5
مرتب سازی بر اساس فهرستی از فیلدهای منبع جدا شده با کاما برای مرتب کردن نتایج. برای مرتب سازی بر اساس ارتباط و رتبه بندی، خالی بگذارید.
sortDir فهرستی از دستورالعمل های جدا شده با کاما برای مرتب سازی نتایج. باید با تعداد موارد موجود در پارامتر sortBy مطابقت داشته باشد. DESC
noResultsTpl تکه برای استفاده اگر هیچ نتیجه جستجو پیدا نشد.
پیاده سازی جستجو در وب سایت MODX
عنوان طولانی،
شرح،
درون متن،
نام مستعار
، محتوا
تلویزیونها در طول فهرستبندی برای جستجوهای Solr پردازش میشوند، بنابراین نیازی به انجام این کار در اینجا نیست.
1. SimpleSearch
2. ما مشکلات مختلف را با رمزگذاری و غیره حل می کنیم.
به core / components / simplesearch / model / simplesearch / simplesearch.class.php در آن بروید، خطوط زیر را جایگزین کنید:
خط 297:
$ text = preg_replace ("/(\ {\ {\+.*?\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\استفاده \\\\\\\\\\\") \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ "، \\" "، $ text);
تعویض با
$ text = preg_replace ("/(\ {\ {\\+.*?\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
خط 311:
$ text = trim (preg_replace ("/ \ s + /"، ""، $ this-> sanitize ($ text)));
تعویض با
$ text = trim (preg_replace ("/ \ s + / u"، ""، $ this-> sanitize ($ text)));
خط 413:
$ string = preg_replace ("/". $ quoteValue. "/ i", "<".$tag." class="".$cls."">$0".$tag.">"، رشته $)؛
تعویض با
$ string = preg_replace ("/". $ quoteValue. "/ iu", "<".$tag." class="".$cls."">$0".$tag.">"، رشته $)؛
بیایید در مورد خط 179 نظر دهیم:
اگر (! خالی ($ str)) $ this-> searchString = strip_tags ($ this-> modx-> sanitizeString ($ str));
آن ها می بایست شبیه به این باشه
/ * if (! خالی ($ str)) $ this-> searchString = strip_tags ($ this-> modx-> sanitizeString ($ str)); */
3. از تمام قطعات استاندارد کپی کنیدکه در هسته / اجزا / ساده جستجو / عناصر / تکه ها / دایرکتوری قرار دارند
ما تکههای جدیدی با نامهای مشابه و پیشوند -new و محتوای یکسان ایجاد میکنیم (فقط آنها دیگر بر اساس فایلها نیستند، بلکه بر اساس موارد معمولی هستند)، که همه اینها را بیشتر متوجه خواهید شد.
به عنوان مثال، بیایید تکه اول را در نظر بگیریم currentpagelink.chunk.tplو یک قطعه جدید ایجاد کنید پیوند صفحه فعلی-جدید(عناصر - یک قطعه جدید ایجاد کنید) و کد را به آن منتقل کنید.
[[+ متن]]
مسئول مدیریت دکمه در صفحه بندی برای صفحه فعال است.
و به همین ترتیب، بقیه تکه ها را ایجاد می کنیم:
- پیوند صفحه-جدید- وظیفه نمایش دکمه صفحه بندی جداگانه را بر عهده دارد.
[[+ متن]]
- [[+ پیوند]]- سند بیش از حد پیوند
- [[+ متن]]- شماره سند
- فرم جستجو - جدید- فرم جستجو
— نتایج جستجوشما نمی توانید آن را انتقال دهید - هیچ طرحی وجود ندارد.
— نتیجه جستجو - جدید- خروجی هر مورد از نتیجه.
[[+ idx]]. [[+ عنوان صفحه]]
[[+ عصاره]]
- [[+ idx]]- شماره نتیجه جستجو در لیست
- [[+ پیوند: = '': سپس = `[[~ [[+ شناسه]]]]`: else = `[[+ پیوند]]`]]
- [[+ عنوان طولانی]]- عنوان تمدید شده
- [[+ عنوان صفحه]]- عنوان
- [[+ عصاره]]- متنی که این سند توسط آن پیدا شد
— نتایج جستجو- در واقع، شما همچنین نمی توانید انتقال دهید.
— نتایج جستجو - جدید- بسته بندی همه نتایج
[[+ اطلاعات نتیجه]]
- [[+ اطلاعات نتیجه]]- اطلاعات در مورد تعداد اسناد پیدا شده و با چه عبارتی.
- [[+ sisea.result_pages؟ & فضای نام = `sisea` & موضوع =` پیش فرض`]]
خروجی عبارت "صفحات نتایج جستجو:"
- [[+ صفحهبندی]]- صفحه بندی
- [[+ نتایج]]- نتایج جستجو
بعد از تمام کارهایی که انجام شد، باید 5 تکه جدید داشته باشید.
4. یک سند جدید ایجاد کنید که نتایج جستجو در آن نمایش داده شود
عنوان: نتایج جستجو، کادر «در منو نشان داده نشود» را علامت بزنید. در «تنظیمات»، کادرهای تأیید را از «در دسترس برای جستجو»، «استفاده از ویرایشگر HTML» حذف کنید. پس انداز می کنیم. صفحه را رفرش کنید و به محتوا اضافه کنید
[[! SimpleSearch؟ & tpl = `نتایج جستجو-جدید` & containerTpl =` searchresults-new` & pageTpl = `pagelink-new` & currentPageTpl =`pagelink فعلی-new`]]
طراحی تکه هایی که در مرحله 3 (ظاهر) ایجاد شدند.
اگر می خواهید تصاویری در نتایج جستجو داشته باشید، در انتهای این خروجی اضافه کنید
& includeTVs = `1` & processTVs =` 1`
در قسمت نتیجه جستجو، تصویر را می توان به این صورت نامید: [[+ img]].
5. نمایش فرم جستجو
در جایی که باید فرم جستجو را نمایش دهید، بنویسید
[[! SimpleSearchForm؟ & فرود = `11` & tpl =` searchform-new`]]
در اینجا فرود، شناسه صفحه با نتایج جستجو است، به صورت tpl - تکههای طراحی فرم که در مرحله 3 ایجاد شدهاند.
ما مراحل 4 و 5 را انجام دادیم تا بتوانید طرح خارجی را به صلاحدید خود ویرایش کنید: خود فرم، نتایج جستجو و غیره. بدون وارد شدن به کد منبع و طراحی استاندارد نسبتاً غم انگیز است، برای مثال فرم جستجوی استاندارد اینگونه به نظر می رسد.
6. ما طرح را تغییر می دهیم.
من در توضیح نحوه چیدمان همه تکه ها فایده ای نمی بینم، به عنوان مثال من یک طرح جدید برای یک تکه ارائه خواهم کرد. فرم جستجو-جدید
این نشانه گذاری فرم استاندارد بوت استرپ 3 است، در سایت به شکل زیر است:
اسناد رسمی در اینجا: docs.modx.com/extras/revo/simplesearch
اگر سوالی دارید در نظرات بنویسید.
این قطعه نتایج جستجو را بر اساس معیارهای جستجوی ارسال شده نمایش می دهد.
استفاده
به سادگی قطعه را در منبعی که می خواهید نتایج جستجو در آن نمایش داده شود قرار دهید.
[[! جستجوی ساده]]
خواص موجود
نام | شرح | پیش فرض |
---|---|---|
tpl | قسمتی که برای نمایش محتویات هر نتیجه جستجو استفاده می شود. | نتیجه جستجو |
containerTpl | قطعه ای که برای بسته بندی تمام نتایج جستجو، صفحه بندی و پیام استفاده می شود. | نتایج جستجو |
useAllWords | اگر درست باشد، فقط نتایجی را با تمام کلمات جستجوی مشخص شده پیدا می کند. | 0 |
maxWords | حداکثر تعداد کلماتی که باید در جستجو گنجانده شود. فقط در صورتی قابل اجراست که useAllWords خاموش باشد. | 7 |
minChars | حداقل تعداد کاراکترها برای شروع جستجو. | 3 |
سبک جستجو | برای جستجو با جستجوی "جزئی" LIKE یا جستجوی "تطابق" مبتنی بر ارتباط. | جزئي |
و شرایط | اینکه آیا یک AND منطقی بین کلمات اضافه شود یا نه. | 1 |
matchWildcard | جستجوی حروف عام را فعال کنید. برای انجام جستجوی دقیق در یک عبارت جستجو، روی false تنظیم کنید. | 1 |
docFields | فهرستی از فیلدهای منابع خاص که با کاما از هم جدا شده اند برای جستجو. | عنوان صفحه، عنوان طولانی، نام مستعار، توضیحات، متن درونی، محتوا |
توان میدانی | امتیاز دهید و نتایج را مرتب کنید (برای اطلاعات / استفاده بیشتر به https://github.com/splittingred/SimpleSearch/pull/29 مراجعه کنید) | |
هر صفحه | تعداد نتایج جستجو برای نمایش در هر صفحه | 10 |
showExtract | اینکه آیا عصاره ای از محتوای هر نتیجه جستجو نشان داده شود یا نه. | 1 |
منبع استخراج | (جدید در نسخه 1.9) به کاربر اجازه می دهد تا مشخص کند که استخراج از کجا آمده است. اگر مقدار این پارامتر یک نام فیلد منبع باشد (از جمله TVs if & includeTVs تنظیم شده است) از آن قسمت منبع برای استخراج استفاده می شود. در غیر این صورت پارامتر به عنوان نام یک Snippet برای اجرا در نظر گرفته می شود. Snippet به عنوان پارامتر از آرایه منبع ارسال می شود. اگر Snippet با آن نام وجود نداشته باشد، استخراج خالی خواهد بود. | محتوا |
طول استخراج | تعداد کاراکترها برای استخراج محتوای هر نتیجه جستجو. | 200 |
استخراج بیضی | رشته مورد استفاده برای بسته بندی استخراج نتایج با. پیشفرض بیضی است. | ... |
شامل تلویزیون | نشان می دهد که آیا مقادیر TemplateVar باید در ویژگی های موجود برای هر الگوی منبع گنجانده شود. پیشفرضها روی 0. روشن کردن این گزینه ممکن است جستجوی شما را کندتر کند اگر تلویزیونهای زیادی دارید. | 0 |
شاملTVList | یک لیست اختیاری از نامهای TemplateVar که با کاما محدود میشوند، در صورتی که شامل تلویزیونها 1 باشد، به طور صریح شامل میشود. | |
تلویزیون های پردازش | نشان می دهد که آیا مقادیر TemplateVar باید همانطور که در منبع خلاصه می شود ارائه شوند یا خیر. پیشفرض 0 است. برخی از نکات: تلویزیونها را میتوان با نام تلویزیون [[+ myTV]] بهطور پیشفرض SimpleSearch از پیشوند استفاده نمیکند، به عنوان مثال. [[+ tv.myTV]] ارائه نخواهد شد. تلویزیون ها در طول فهرست بندی برای جستجوی Solr پردازش می شوند، بنابراین نیازی به انجام این کار در اینجا نیست. |
0 |
برجسته کردن نتایج | اینکه عبارت جستجو را در نتایج برجسته کنیم یا نه. | 1 |
highlightClass | نام کلاس CSS برای افزودن به عبارت هایلایت شده در نتایج. | ساده جستجوی برجسته |
highlightTag | تگ html برای قرار دادن عبارت برجسته شده در نتایج جستجو. | طول |
pageTpl | تکه ای که برای پیوند صفحه بندی استفاده می شود. | پیوند صفحه |
currentPageTpl | قطعه مورد استفاده برای پیوند صفحه بندی فعلی. | CurrentPageLink |
جداکننده صفحه | جداکننده برای استفاده بین پیوندهای صفحه بندی. | |
شناسه | فهرستی از شناسههای جدا شده با کاما برای محدود کردن جستجو. | |
نوع آی دی | نوع محدودیت برای پارامتر id. اگر والدین، تمام فرزندان شناسههای موجود در پارامتر id را به جستجو اضافه میکنند. اگر اسناد، فقط از شناسه های مشخص شده در جستجو استفاده می کند. | والدین |
حذف کردن | فهرستی از شناسه های منبع جدا شده با کاما برای حذف از جستجو به عنوان مثال. "10،15،19". این منابع با شناسه "10"، "15" یا "19" را حذف می کند. | |
عمق | اگر idtype روی والدین تنظیم شده باشد، عمق درخت منبع که با شناسه های مشخص شده جستجو می شود. | 10 |
hideMenu | آیا باید منابعی را که دارای hidemenu هستند برگردانند یا نه. 0 فقط منابع قابل مشاهده، 1 فقط منابع پنهان، 2 هر دو را نشان می دهد. | 2 |
زمینه ها | زمینه های جستجو در صورتی که هیچکدام به صراحت مشخص نشده باشد، به شرایط پیشفرض میرسد. | |
SearchIndex | نام پارامتر REQUEST که جستجو از آن استفاده خواهد کرد. | جستجو کردن |
offsetIndex | نام پارامتر REQUEST برای استفاده برای افست صفحه بندی. | simplesearch_offset |
پیشوند placeholder | پیشوند برای متغیرهای جهانی که توسط این قطعه تنظیم شده است. | جستجوی ساده |
toPlaceholder | اینکه خروجی را مستقیماً برگرداند، یا روی یک مکان نگهدار با نام این ویژگی تنظیم شود. | |
urlScheme | طرح URL مورد نظر: http، https، کامل، abs، نسبی و غیره. مستندات $ modx-> makeUrl () را ببینید. این زمانی استفاده می شود که پیوندهای صفحه بندی ایجاد می شوند. | |
بسته های سفارشی | تنظیم کنید تا جداول سفارشی را با بارگیری بسته آنها جستجو کنید. برای اطلاعات بیشتر قسمت زیر را مطالعه کنید. | |
پست قلاب | فهرستی از قلابها که با کاما از هم جدا شدهاند و میتوانند مجموعههای وجهی را به نتایج نهایی اضافه کنند. | |
activeFacet | جنبه فعال فعلی. این را به حال خود رها کنید مگر اینکه بخواهید نتیجه ای از جنبه غیر استانداردی که از طریق postHook به دست آمده است نشان داده شود. | پیش فرض |
facetLimit | تعداد نتایج غیرفعال برای نمایش در صفحه نتایج اصلی. | 5 |
مرتب سازی بر اساس | فهرستی از فیلدهای منبع جدا شده با کاما برای مرتب کردن نتایج بر اساس. برای مرتب کردن بر اساس ارتباط و امتیاز، خالی بگذارید. | |
sortDir | فهرستی از مسیرهای جدا شده با کاما برای مرتب کردن نتایج بر اساس. باید با تعداد موارد موجود در پارامتر sortBy مطابقت داشته باشد. | DESC |
noResultsTpl | قسمتی برای استفاده زمانی که هیچ نتیجه جستجویی پیدا نشد. |
تکه های جستجوی ساده
4 تکه وجود دارد که در SimpleSearch پردازش می شوند. پارامترهای SimpleSearch مربوطه آنها عبارتند از:
- tpl - قطعه مورد استفاده برای هر نتیجه نمایش داده شده.
- containerTpl - قطعه ای که برای جمع کردن تمام نتایج جستجو، صفحه بندی و پیام استفاده می شود.
- pageTpl - قطعه مورد استفاده برای پیوند صفحهبندی.
- currentPageTpl - قطعه ای که برای پیوند صفحه بندی فعلی استفاده می شود.
جستجو در جداول سفارشی
جستجوی جداول سفارشی در SimpleSearch با استفاده از ویژگی &customPackages در دسترس است. با این حال، شما باید یک بسته سفارشی برای آن ساخته شده باشد. قالب این است:
ClassName: fieldName (s): packageName: packagePath: joinCriteria || class2Name: fieldName (ها): package2Name:pack2Path: join2Criteria
به عبارت دیگر، هر بسته سفارشی با || از هم جدا می شود. سپس هر قسمت از آن با کولون (:) از هم جدا می شود. مثالی برای جستجوی نظرات Quip:
& customPackages = `quipComment: body: quip: (core_path) اجزاء / quip / model /: quipComment.resource = modResource.id`
بیایید هر قسمت را تجزیه کنیم:
- نام کلاس- نام کلاس جدولی که می خواهید جستجو کنید. اینجا، QuipComment است.
- نام فیلد (ها)- فهرستی از نام ستون ها که با کاما از هم جدا شده اند برای جستجو. ما "بدن" را انجام دادیم، شما همچنین می توانستید "بدن، ایمیل" یا هر چیز دیگری را انجام دهید.
- نام بسته- نام بسته طرحواره برای اضافه کردن. به این یکی کویپ می گویند.
- packagePath- مسیر مدل / دایرکتوری که بسته در آن قرار دارد.
- joinCriteria- SQL برای پیوستن به جدولی که می خواهید جستجو کنید و جدول modResource. جدول شما باید با منبعی که در آن است ارتباط داشته باشد (در غیر این صورت SimpleSearch نمیداند چگونه یک URL برای آن بارگیری کند!)
هنگامی که آن را اضافه کردید، آن فیلدها را نیز برای داده جستجو می کند. اگر آن را در آن جدول پیدا کرد، نتیجه را به عنوان پیوندی به منبعی که در joinCriteria خود مشخص کرده اید نمایش می دهد. در مثال ما، این عبارت است منبعی که نظر Quip در آن قرار دارد.