Chuyển đến nội dung chính

searchPage

Tìm kiếm nhanh các đối tượng trang với đầu ra hạn chế.

Mô tả

Phương thức này thực hiện tìm kiếm nhanh các đối tượng trang dựa trên truy vấn văn bản (tên). Nó trả về một Promise mà khi hoàn thành sẽ trả về một mảng các đối tượng IPagesEntity, một mảng rỗng [] khi không tìm thấy gì - hoặc, với traficLimit: true, một mảng các thẻ IPageSearchResult ngắn.

Những gì bạn nhận được phụ thuộc vào traficLimit

Kiểu trả về được khai báo là IPagesEntity[] | IPageSearchResult[] | IError:

Cấu hìnhKết quảChứa
traficLimit: false (mặc định)IPagesEntity[]Các thực thể trang đầy đủ, với attributeValues, localizeInfos, …
traficLimit: trueIPageSearchResult[]Thẻ tìm kiếm nhanh thô - chỉ { id, title }

Trong chế độ tiết kiệm băng thông, không có attributeValues trong kết quả, vì vậy hãy thu hẹp trước khi đọc - bằng cờ cấu hình của riêng bạn, hoặc bằng trường:

const found = await Pages.searchPage('cat');

if (Array.isArray(found) && found.length && 'attributeValues' in found[0]) {
// IPagesEntity[] — traficLimit is off
} else {
// IPageSearchResult[] — short cards
}

Hành vi thời gian chạy không thay đổi; chỉ có kiểu đã khai báo bây giờ phản ánh cả hai chế độ. Các thẻ ngắn không mang theo templateIdentifier, vì vậy không có tìm kiếm mẫu nào được thực hiện cho chúng.

Pages.searchPage(

name*, url, langCode

);

Sơ đồ tham số

Sơ đồ

name(bắt buộc): string
Văn bản để tìm kiếm các đối tượng trang (tìm kiếm được thực hiện trên trường tiêu đề của đối tượng localizeInfos với ngôn ngữ được tính đến)
ví dụ: "Về Chúng Tôi"

url: string
URL trang
ví dụ: "catalog"

langCode: string
Mã ngôn ngữ. Mặc định: "en_US"
ví dụ: "en_US"

Ví dụ

Ví dụ tối thiểu

const response = await Pages.searchPage('cup');

Ví dụ với thuộc tính

const response = await Pages.searchPage('cup', 'en_US');

Ví dụ phản hồi

[
{
"id": 10,
"parentId": null,
"pageUrl": "catalog",
"depth": 0,
"localizeInfos": {
"title": "Catalog",
"htmlContent": "",
"plainContent": "",
"menuTitle": "Catalog"
},
"isVisible": true,
"blocks": [
"product_block",
"test",
"freq_ordered",
"..."
],
"type": "catalog_page",
"templateIdentifier": "template",
"attributeSetIdentifier": "page",
"attributeValues": {
"text": {
"type": "string",
"value": "catalog text",
"isIcon": false,
"position": 0,
"additionalFields": {},
"isProductPreview": false
},
"number": {
"type": "integer",
"value": 10,
"isIcon": false,
"position": 1,
"additionalFields": {},
"isProductPreview": false
},
"real": {
"type": "real",
"value": 5,
"isIcon": false,
"position": 2,
"additionalFields": {},
"isProductPreview": false
},
"float": {
"type": "float",
"value": 15,
"isIcon": false,
"position": 3,
"additionalFields": {},
"isProductPreview": false
}
},
"moduleFormConfigs": [],
"isSync": true,
"template": {
"id": 4,
"attributeSetIdentifier": null,
"title": "Template",
"generalTypeId": 4,
"identifier": "template",
"version": 0,
"generalTypeName": "catalog_page",
"attributeValues": {},
"position": 1
}
}
]

Sơ đồ phản hồi

Sơ đồ: IPagesEntity[] | IPageSearchResult[]

id: number
Định danh của đối tượng.
ví dụ: 8

parentId: number | null
Id của trang cha, nếu nó chứa null, thì đó là trang cấp cao nhất.
ví dụ: 10

pageUrl: string
URL trang duy nhất.
ví dụ: "blog"

depth: number
Độ sâu lồng ghép của trang so với parentId.
ví dụ: 10

localizeInfos: ILocalizeInfo
Tên của trang, tính đến việc địa phương hóa.
ví dụ:

{
"title": "Blog",
"menuTitle": "Blog",
"htmlContent": "",
"plainContent": ""
}

isVisible: boolean
Dấu hiệu của sự hiển thị trang.
ví dụ: true

type: PageType
Loại trang.
ví dụ: "common_page"

templateIdentifier: string | null
Id người dùng của mẫu liên kết.
ví dụ: "template"

attributeSetIdentifier: string | null
Tập hợp các id thuộc tính.
ví dụ: "page"

attributeValues: IAttributeValues
Bản đồ các giá trị thuộc tính được đánh chỉ mục theo dấu hiệu; đối tượng rỗng khi không có.
ví dụ:

{
"text": {
"type": "string",
"value": "some text",
"position": 0,
"additionalFields": []
}
}

isSync: boolean
Chỉ báo về việc lập chỉ mục trang.
ví dụ: true

template: object
Đối tượng mẫu.
ví dụ:

{}

position: number
Số thứ tự mục (để sắp xếp).
ví dụ: 2

config: Record<string, number>
Cài đặt đầu ra cho các trang danh mục.
ví dụ:

{
"rowsPerPage": 1,
"productsPerRow": 1
}

products: number
Số lượng sản phẩm liên kết với trang.
ví dụ: 0

childrenCount: number
Số lượng trẻ em.
ví dụ: 1

blocks: IBlockEntity[] | string[]
các khối.
ví dụ:

{
"id": 4,
"attributeSetIdentifier": null,
"title": "Template",
"generalTypeId": 4,
"identifier": "template",
"version": 0,
"generalTypeName": "catalog_page",
"attributeValues": {},
"position": 1
}

blocks.attributeValues: IAttributeValues
Bản đồ các giá trị thuộc tính được đánh chỉ mục theo dấu hiệu; đối tượng rỗng khi không có.
ví dụ:

{
"block-text": {
"type": "string",
"value": "some text",
"isIcon": false,
"position": 0,
"additionalFields": [],
"isProductPreview": false
}
}

blocks.id: number
Định danh duy nhất của khối.
ví dụ: 1234

blocks.localizeInfos: ILocalizeInfo
Thông tin địa phương hóa cho khối.
ví dụ:

{
"key": "value"
}

blocks.version: number
Phiên bản của thực thể khối.
ví dụ: 1

blocks.identifier: string
Định danh chuỗi duy nhất cho khối.
ví dụ: "block1"

blocks.type: BlockType
Loại của khối.
ví dụ: "product"

blocks.position: number
Vị trí của khối để sắp xếp.
ví dụ: 1

blocks.templateIdentifier: string | null
Định danh cho mẫu được sử dụng bởi khối, hoặc null nếu không áp dụng.
ví dụ: "template1"

blocks.isVisible: boolean
Chỉ ra liệu khối có hiển thị hay không.
ví dụ: true

blocks.countElementsPerRow: number
Số lượng phần tử hiển thị trên mỗi hàng trong khối, nếu có.
ví dụ: 3

blocks.quantity: number
Số lượng mục trong khối, nếu có.
ví dụ: 5

blocks.similarProducts: IProductsResponse
Phản hồi chứa các sản phẩm tương tự liên kết với khối.
ví dụ:

{
"total": 10,
"items": []
}

blocks.products: IProductsEntity[]
Mảng các thực thể sản phẩm liên kết với khối.
ví dụ:

[
{
"id": 1,
"name": "Product 1"
},
{
"id": 2,
"name": "Product 2"
}
]

moduleFormConfigs: Array<IFormConfig>
Cấu hình biểu mẫu mô-đun liên kết với trang.

rating: IRating
Dữ liệu đánh giá.

total: string
Tổng số sản phẩm liên kết với trang.
ví dụ: "10"

categoryPath: string | null
Chuỗi đường dẫn danh mục; null cho các trang lồng ghép không có đường dẫn danh mục riêng.
ví dụ: "catalog"

distance: number
Khoảng cách cosine đến truy vấn. Chỉ được trả về bởi điểm cuối tìm kiếm ngữ nghĩa (vector) khi debug: true được truyền trong thân tìm kiếm.
ví dụ: 0.12