Skip to main content

getChildPagesByParentUrl

Getting child pages with product information by parent page url as an array.

Description

Returns all created pages as an array of objects or an empty array [] (if there is no data) for the selected parent. It returns a Promise that resolves to an array of IPagesEntity objects.

Pages.getChildPagesByParentUrl(

url*, langCode

);

Parameters schema

Schema

url(required): string
The URL of the parent page for which child pages are to be fetched
example: "about/our-team"

langCode: string
Language code. Default: "en_US"
example: "en_US"

Examples

Minimal example

const response = await Pages.getChildPagesByParentUrl('shop');

Example with attributes

const response = await Pages.getChildPagesByParentUrl('shop', 'en_US');

Example response

[
{
"id": 9,
"config": {},
"depth": 1,
"parentId": 8,
"pageUrl": "blog1",
"attributeSetIdentifier": null,
"total": "1",
"localizeInfos": {
"title": "Blog 1",
"menuTitle": "Blog 1",
"htmlContent": "",
"plainContent": ""
},
"isVisible": true,
"products": 0,
"childrenCount": "0",
"type": "common_page",
"position": 1,
"templateIdentifier": null,
"isSync": false,
"categoryPath": "blog/blog1",
"rating": {},
"attributeValues": {},
"moduleFormConfigs": []
}
]

Response schema

Schema: IPagesEntity

id: number
The identifier of the object.
example: 8

parentId: number | null
The id of the parent page, if it contains null, then it is the top-level page.
example: 10

pageUrl: string
Unique page Url.
example: "blog"

depth: number
Page nesting depth relative to parentId.
example: 10

localizeInfos: ILocalizeInfo
The name of the page, taking into account localization.
example:

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

isVisible: boolean
A sign of page visibility.
example: true

type: Types
Page type.
example: "common_page"

templateIdentifier: string | null
User id of the linked template.
example: "template"

attributeSetIdentifier: string | null
Set of attributes id.
example: "page"

attributeValues: IAttributeValues
Map of attribute values keyed by marker; empty object when none.
example:

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

isSync: boolean
Indication of page indexing.
example: true

template: object
Template object.
example:

position: number
Item number (for sorting).
example: 2

config: Record<string, number>
Output settings for catalog pages.
example:

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

products: number
The number of products linked to the page.
example: 0

childrenCount: string
Children count.
example: 1

blocks: IBlockEntity[] | string[]
blocks.
example:

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

blocks.attributeValues: IAttributeValues
Map of attribute values keyed by marker; empty object when none.
example:

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

blocks.id: number
Unique identifier of the block.
example: 1234

blocks.localizeInfos: ILocalizeInfo
Localization information for the block.
example:

{
"key": "value"
}

blocks.version: number
Version of the block entity.
example: 1

blocks.identifier: string
Unique string identifier for the block.
example: "block1"

blocks.type: BlockType
Type of the block.
example: "product"

blocks.position: number
Position of the block for sorting.
example: 1

blocks.templateIdentifier: string | null
Identifier for the template used by the block, or null if not applicable.
example: "template1"

blocks.isVisible: boolean
Indicates whether the block is visible.
example: true

blocks.countElementsPerRow: number
Number of elements displayed per row in the block, if applicable.
example: 3

blocks.quantity: number
Quantity of items in the block, if applicable.
example: 5

blocks.similarProducts: IProductsResponse
Response containing similar products associated with the block.
example:

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

similarProducts.total: number
The total number of products found.
example: 100

similarProducts.items: IProductsEntity[]
An array of product entities.
example:

[
{
"id": 12345,
"title": "Product 1"
},
{
"id": 67890,
"title": "Product 2"
}
]

items.id: number
The unique identifier.
example: 12345

items.localizeInfos: ILocalizeInfo
The name of the products, taking into account localization.
example:

items.statusIdentifier: string | null
Product page status identifiers (may be null).
example: "in_stock"

items.statusLocalizeInfos: ILocalizeInfo
Localized status name for the product.
example: { "title": "Sale" }

items.attributeSetIdentifier: string | null
Set of attributes id.
example: "set_12345"

items.position: number
Item number (for sorting).
example: 1

items.price: number | null
The value of the product page price taken from the index.
example: 150.00

items.additional: object
Additional value from the index.
example: { prices: { min: 5 max: 150 } }

items.sku: string | null
Product SKU (Stock Keeping Unit), may be null.
example: "SKU_12345"

items.isSync: boolean
Indication of page indexing.
example: true

items.attributeValues: AttributeType
Array of attribute values from the index, represented.
example:

[
{
"id": "color",
"value": "red"
}
]

items.categories: string[]
Product categories.
example:

[
1,
2,
3
]

items.isVisible: boolean
A sign of page visibility.
example: true

items.moduleFormConfigs: Array<IFormConfig>
Module form configurations (optional).

items.rating: IRating
Rating data.

items.isPositionLocked: boolean
Sorting position lock indicator (optional).
example: false

items.relatedIds: number[]
Ids of related product pages.
example:

[
12345,
67890
]

items.paymentStages: unknown
Payment stages data (may be null).
example: null

items.discountConfig: Record<string, unknown>
Discount configuration object.
example:

items.templateIdentifier: string | null
User id of the linked template.
example: "template_12345"

items.shortDescTemplateIdentifier: string | null
User id of the linked template for a short description.
example: "short_desc_template_12345"

items.signedPrice: string
Price sign.

items.productPages: IProductPageRef[]
Array of product page references linking the product to its pages.
example:

[
{
"id": 16,
"pageId": 4,
"productId": 15,
"positionId": 244,
"categoryPath": "products"
}
]

productPages.id: number
Unique identifier of the product-to-page link record.
example: 16

productPages.pageId: number
Identifier of the page the product is linked to.
example: 4

productPages.productId: number
Identifier of the product.
example: 15

productPages.positionId: number
Sorting position identifier within the page.
example: 244

productPages.categoryPath: string
Category path of the page the product belongs to.
example: "products"

items.blocks: string[]
Array of block identifiers.
example:

[
"block_12345",
"block_67890"
]

blocks.products: IProductsEntity[]
Array of product entities associated with the block.
example:

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

moduleFormConfigs: Array<IFormConfig>
Module form configurations linked to the page.

rating: IRating
Rating data.

total: string
Total number of products linked to the page.
example: "10"

categoryPath: string
Category path string.
example: "catalog"