مستندات

لیست دسته ها و محتواها

Portal.SearchContentsAdvance

از این متد برای جستجو در تمامی محتواهای موجود و فعال سایت استفاده می شود. این متد گزینه های (Options) مختلفی مثل دسته، مهم بودن، عبارت مورد جستجو در اختیار ما قرار می دهد. از این متد می توان در صفحه لیست محتوا، سایدبار، بخش مهم ترین مطالب، جدیدترین مطالب و ... استفاده کرد. پس این متد یک متد مهم و بسیار کاربردی است.

نکته

این متد محتواهای یافته شده را در قالب صفحه بندی شده pagination به ما برمیگرداند.

طریقه استفاده از متد:

Portal.SearchContentsAdvance(Options, TemplateName, ElementId, AfterFunction);

ورودی های تابع

نام نوع مقدار پیشفرض تعریف
Options Object

{
  Term: null,
  IsImportant: null,
  IncludeSubCategoriesInSearch: false,
  CategoryIDs: [],
  PageSize: 10,
  PageNumber: 1,
  TypeIDs: [],
  SubjectIDs: [],
  SortColumn: "ID",
  IsAsc: false
}

با استفاده از این آرگومان پارامتر های جستجو را مشخص می کنیم. در جدول بعدی کلیدهای (key) توضیح داده خواهد شد.

TemplateName String - ID تگ script که با استفاده از آن ظاهر هر محتوا ساخته می شود.
ElementId String - ID تگی که قرار است محتواها در آن قرار داده شوند.
AfterFunction Function - تابعی که بعد از اجرا شدن این متد اجرا می شود (callback function).

آپشن ها (Options)

نام نوع مقدار پیشفرض تعریف
Term String null عبارتی که جستجو شده
IsImportant Boolean null اگر true باشد فقط محتواهایی که مهم هستند را باز میگرداند. و اگر false باشد محتواهایی که مهم نیستند را باز میگرداند.
IncludeSubCategoriesInSearch Boolean false اگر true باشد محتواهای دسته های فرزند را هم باز می گرداند.
CategoryIDs Array [] آرایه ای از ID دسته های مورد نظرتان را دریافت می کند.
PageSize Number 10 تعداد محتوایی که در هر صفحه میخواهید نمایش بدهید.
PageNumber Number 1 شماره صفحه مورد نظرتان را دریافت می کند.
TypeIDs Array [] آرایه ای از ID نوع های مورد نظرتان را دریافت میکند.
SubjectIDs Array [] آرایه ای از ID موضوع های مورد نظرتان را دریافت میکند.
SortColumn String "ID" تعیین میکند که جستجو بر چه اساسی انجام شود.
مقادیر دیگری که این آپشن می تواند دریافت کند:
ID جدیدترین بر اساس ID
Priority اولویت
Views بازدید
PublishTime زمان انتشار (بهتر است همیشه برای مرتب سازی بر اساس جدیدترین یا قدیمی ترین از این مقدار استفاده کنیم).
Likes لایک ها
Comments تعداد کامنت ها
Rates تعداد رای ها

مقدار دریافتی (Responce)

{
    "IsSuccess": true,
    "StatusCode": 200,
    "Message": "عملیات با موفقیت انجام شد",
    "Result": {
        "PageSize": 10,
        "PageNumber": 1,
        "PagesCount": 84,
        "RecordsCount": 840,
        "Records": [
            {
                "ID": 9716,
                "IsActive": true,
                "IsImportant": true,
                "Title": "رژیم غذایی برای تقویت سیستم ایمنی بدن",
                "Titr": "",
                "Keywords": "تقویت سیستم ایمنی بدن,سیستم ایمنی بدن,تقویت سیستم ایمنی,رژیم غذایی برای تقویت سیستم ایمنی,رژیم غذایی برای تقویت سیستم ایمنی بدن,تقویت سیستم ایمنی رژیم غذایی",
                "ContentDate": "2020-11-29T00:00:00",
                "SubjectID": null,
                "TypeID": null,
                "ShortText": "",
                "LongText": "",
                "Pic_Address": "/Files/2/asset/1399080514544188021507894.jpg",
                "Description": "",
                "PublishTime": "2020-11-29T00:00:00",
                "CategoryID": 241,
                "LargePic": "",
                "SmallPic": "",
                "Link": "",
                "Photographer": "",
                "Reporter": "",
                "PDFLink": "",
                "AudioLink": "",
                "VideoLink": "",
                "FileLink": "",
                "BeginDate": null,
                "EndDate": null,
                "Views": 393,
                "CategoryName": "اطلاعات پزشکی",
                "Code": null,
                "SubjectName": null,
                "TypeName": null,
                "ID_Next": 0,
                "Title_Next": null,
                "ID_Prev": 0,
                "Title_Prev": null,
                "Domain_ID": 2,
                "Props": [],
                "CommentCount": 1,
                "Likes": 2,
                "RateCount": 1,
                "Rate": 5,
                "Priority": 1,
                "IsViewed": false,
                "IsLiked": false,
                "IsRated": false
            },
            {
                "ID": 9710,
                "IsActive": true,
                "IsImportant": true,
                "Title": "جاذبه های گردشگری کویت",
                "Titr": "",
                "Keywords": "کویت,جاذبه های گردشگری کویت,کویت گردشگری,کویت جاذبه های دیدنی,مناطق گردشگری کویت,جاذبه های دیدنی کویت,جاذبه های توریستی کویت,کویت جاذبه های توریستی,کویت جاذبه های گردشگری",
                "ContentDate": "2020-11-28T00:00:00",
                "SubjectID": null,
                "TypeID": null,
                "ShortText": "",
                "LongText": "",
                "Pic_Address": "/Files/2/asset/a839648e-0e0c-4827-812b-553f70f7bcd8.jpg",
                "Description": "",
                "PublishTime": "2020-11-28T00:00:00",
                "CategoryID": 325,
                "LargePic": "",
                "SmallPic": "",
                "Link": "",
                "Photographer": "",
                "Reporter": "",
                "PDFLink": "",
                "AudioLink": "",
                "VideoLink": "",
                "FileLink": "",
                "BeginDate": null,
                "EndDate": null,
                "Views": 4,
                "CategoryName": "جهانگردی",
                "Code": null,
                "SubjectName": null,
                "TypeName": null,
                "ID_Next": 0,
                "Title_Next": null,
                "ID_Prev": 0,
                "Title_Prev": null,
                "Domain_ID": 2,
                "Props": [],
                "CommentCount": null,
                "Likes": 1,
                "RateCount": 1,
                "Rate": 5,
                "Priority": 1,
                "IsViewed": false,
                "IsLiked": false,
                "IsRated": false
            }
        ]
    }
}

توضیح مقادیر

Responce

نام نوع توضیح
IsSuccess Boolean درصورت موفقیت آمیز بودن دریافت محتوا این پارامتر true می شود.
StatusCode Number وضعیت دریافت پاسخ، اگر 200 باشد یعنی موفقیت آمیز بوده
Message String پیغام موفقیت یا عدم موفقیت دریافت پاسخ
Result Object نتیجه ی دریافت پاسخ

Result

نام نوع توضیح
PageSize Number تعداد محتوا در هر صفحه
PageNumber Number شماره صفحه
PagesCount Number تعداد صفحات
RecordsCount Number تعداد کل محتواها
Records Array آرایه ای از آبجکت ها که هر کدام از آنها شامل اطلاعات یک محتوا است.

Records

نام نوع توضیح
ID Number ID محتوا
IsActive Boolean فعال بودن محتوا
IsImportant Boolean مهم بودن محتوا
Title String عنوان محتوا
CategoryID Number ID دسته
CategoryName String نام دسته
Code String کد محتوا
Titr String تیتر
Keywords String کلمات کلیدی (که با ویرگول از یکدیگر تفکیک شده اند)
SubjectID Number ID موضوع
SubjectName String نام موضوع
TypeID Number ID نوع
TypeName String نام نوع
ShortText String متن کوتاه
LongText String متن اصلی محتوا
Description String توضیحات
Pic_Address String آدرس تصویر اصلی محتوا
LargePic String آدرس تصویر بزرگ
SmallPic String آدرس تصویر کوچک
Views Number تعداد بازدید ها از صفحه شرح محتوا
CommentCount Number تعداد کامنت ها
Likes Number تعداد لایک ها
RateCount Number تعداد رأی ها
Rate Number رأی این محتوا
IsViewed Boolean آیا توسط این کاربر مشاهده شده
IsLiked Boolean آیا توسط این کاربر لایک شده
IsRated Boolean آیا کاربر به این محتوا رأی داده است.
ContentDate String تاریخ ایجاد محتوا
PublishTime String زمان انتشار
BeginDate String تاریخ شروع نمایش محتوا
EndDate String تاریخ پایان نمایش محتوا
ID_Next Number ID محتوای بعدی
Title_Next String عنوان محتوای بعدی
ID_Prev Number ID محتوای قبلی
Title_Prev String عنوان محتوای قبلی
Link String لینک اضافه شده به محتوا
Photographer String عکاس
Reporter String گزارشگر
PDFLink String لینک PDF
AudioLink String لینک صوت
VideoLink String لینک ویدئو
FileLink String لینک فایل
Domain_ID Number ID دامین
Props Array ویژگی های محتوا
Priority Number اولویت

مثال ها

مثال ساده

در این مثال محتوا ها بر اساس یک دسته خاص و مهم ترین ها فیلتر شده اند و بر اساس پر بازدیدترین ها مرتب شده اند.

فیلتر روی دسته
let Options = {
    IsImportant: true,
    IncludeSubCategoriesInSearch: true,
    CategoryIDs: [773],
    PageSize: 8,
    PageNumber: 1,
    SortColumn: "Views"
};
Portal.SearchContentsAdvance(Options, 'tmpl_content_list', 'div_content_list', null);
.simpleExampleCode_preview .part {
    transition: .3s all;
    border-radius: 10px;
}

.simpleExampleCode_preview .part:hover {
    box-shadow: 0px 5px 10px -2px grey;
    transform: matrix3d(1.01, 0, 0, 0, 0, 1.01, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}

.simpleExampleCode_preview .part img {
    border-radius: 10px 10px 0 0;
    width: 100%;
    height: 230px;
    object-fit: cover;
}

.simpleExampleCode_preview .part .content_conteiner {
    border: 1px solid #d2cdca;
    border-top: unset;
    border-radius: 0 0 10px 10px;
}

.simpleExampleCode_preview .part:hover .content_conteiner {
    border: unset
}

.simpleExampleCode_preview .part .h5 {
    height: 3em;
}

.simpleExampleCode_preview .part .detail {
    font-size: 12px;
}

پربازدیدترین مطالب گردشگری