Ana içeriğe geç

getPageByUrl

Bir sayfa nesnesini, sayfaya URL ile eklenmiş formlar, bloklar, menüler hakkında bilgi ile almak.

Açıklama

Bu yöntem, API'den URL'sine (url) göre bir sayfa nesnesi alır. Sayfa nesnesi IPagesEntity olarak döner ve dönen sayfanın türüne bağlı olarak belirli bir nesne içerir.

Sayfalar.getPageByUrl(

url*, langCode

);

Parametreler şeması

Şema

url(gerekli): string
Sayfa URL'si
örnek: "about"

langCode: string
Dil kodu. Varsayılan: "en_US"
örnek: "en_US"

Örnekler

Minimal örnek

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

Özelliklerle örnek

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

Örnek yanıt

{
"id": 9,
"parentId": 8,
"pageUrl": "blog1",
"depth": 1,
"localizeInfos": {
"title": "Blog 1",
"menuTitle": "Blog 1",
"htmlContent": "",
"plainContent": ""
},
"isVisible": true,
"blocks": [],
"type": "common_page",
"templateIdentifier": null,
"attributeSetIdentifier": null,
"attributeValues": {},
"moduleFormConfigs": [],
"isSync": false
}

Yanıt şeması

Şema: IPagesEntity

id: number
Nesnenin tanımlayıcısı.
örnek: 8

parentId: number | null
Ebeveyn sayfanın id'si, eğer null içeriyorsa, o zaman üst düzey sayfadır.
örnek: 10

pageUrl: string
Benzersiz sayfa URL'si.
örnek: "blog"

depth: number
parentId'ye göre sayfa iç içe geçme derinliği.
örnek: 10

localizeInfos: ILocalizeInfo
Yerelleştirmeyi dikkate alarak sayfanın adı.
örnek:

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

isVisible: boolean
Sayfa görünürlüğü belirtisi.
örnek: true

type: Types
Sayfa türü.
örnek: "common_page"

templateIdentifier: string | null
Bağlı şablonun kullanıcı id'si.
örnek: "template"

attributeSetIdentifier: string | null
Özellikler setinin id'si.
örnek: "page"

attributeValues: IAttributeValues
İşaretleyiciye göre anahtarlanan özellik değerleri haritası; yoksa boş nesne.
örnek:

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

isSync: boolean
Sayfa dizinleme belirtisi.
örnek: true

template: object
Şablon nesnesi.
örnek:

position: number
Sıralama için öğe numarası.
örnek: 2

config: Record<string, number>
Katalog sayfaları için çıktı ayarları.
örnek:

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

products: number
Sayfaya bağlı ürün sayısı.
örnek: 0

childrenCount: string
Çocuk sayısı.
örnek: 1

blocks: IBlockEntity[] | string[]
bloklar.
örnek:

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

blocks.attributeValues: IAttributeValues
İşaretleyiciye göre anahtarlanan özellik değerleri haritası; yoksa boş nesne.
örnek:

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

blocks.id: number
Blokun benzersiz tanımlayıcısı.
örnek: 1234

blocks.localizeInfos: ILocalizeInfo
Blok için yerelleştirme bilgisi.
örnek:

{
"key": "value"
}

blocks.version: number
Blok varlığının versiyonu.
örnek: 1

blocks.identifier: string
Blok için benzersiz dize tanımlayıcısı.
örnek: "block1"

blocks.type: BlockType
Blok türü.
örnek: "product"

blocks.position: number
Sıralama için blok pozisyonu.
örnek: 1

blocks.templateIdentifier: string | null
Blok tarafından kullanılan şablonun tanımlayıcısı, geçerli değilse null.
örnek: "template1"

blocks.isVisible: boolean
Blokun görünür olup olmadığını belirtir.
örnek: true

blocks.countElementsPerRow: number
Blokta her satırda görüntülenen öğe sayısı, geçerliyse.
örnek: 3

blocks.quantity: number
Blokta bulunan öğe sayısı, geçerliyse.
örnek: 5

blocks.similarProducts: IProductsResponse
Blok ile ilişkili benzer ürünleri içeren yanıt.
örnek:

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

similarProducts.total: number
Bulunan toplam ürün sayısı.
örnek: 100

similarProducts.items: IProductsEntity[]
Ürün varlıklarının bir dizisi.
örnek:

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

items.id: number
Benzersiz tanımlayıcı.
örnek: 12345

items.localizeInfos: ILocalizeInfo
Ürünlerin adı, yerelleştirmeyi dikkate alarak.
örnek:

items.statusIdentifier: string | null
Ürün sayfası durum tanımlayıcıları (null olabilir).
örnek: "in_stock"

items.statusLocalizeInfos: ILocalizeInfo
Ürün için yerelleştirilmiş durum adı.
örnek: { "title": "İndirim" }

items.attributeSetIdentifier: string | null
Özellikler setinin id'si.
örnek: "set_12345"

items.position: number
Sıralama için öğe numarası.
örnek: 1

items.price: number | null
Dizinden alınan ürün sayfası fiyatının değeri.
örnek: 150.00

items.additional: object
Dizinden alınan ek değer.
örnek: { prices: { min: 5 max: 150 } }

items.sku: string | null
Ürün SKU'su (Stok Tutma Birimi), null olabilir.
örnek: "SKU_12345"

items.isSync: boolean
Sayfa dizinleme belirtisi.
örnek: true

items.attributeValues: AttributeType
Dizinden alınan özellik değerlerinin dizisi, temsil edilen.
örnek:

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

items.categories: string[]
Ürün kategorileri.
örnek:

[
1,
2,
3
]

items.isVisible: boolean
Sayfa görünürlüğü belirtisi.
örnek: true

items.moduleFormConfigs: Array<IFormConfig>
Modül form yapılandırmaları (isteğe bağlı).

items.rating: IRating
Değerlendirme verileri.

items.isPositionLocked: boolean
Sıralama pozisyonu kilit belirtisi (isteğe bağlı).
örnek: false

items.relatedIds: number[]
İlişkili ürün sayfalarının id'leri.
örnek:

[
12345,
67890
]

items.paymentStages: unknown
Ödeme aşamaları verileri (null olabilir).
örnek: null

items.discountConfig: Record<string, unknown>
İndirim yapılandırma nesnesi.
örnek:

items.templateIdentifier: string | null
Bağlı şablonun kullanıcı id'si.
örnek: "template_12345"

items.shortDescTemplateIdentifier: string | null
Kısa açıklama için bağlı şablonun kullanıcı id'si.
örnek: "short_desc_template_12345"

items.signedPrice: string
Fiyat işareti.

items.productPages: IProductPageRef[]
Ürünü sayfalarına bağlayan ürün sayfası referanslarının dizisi.
örnek:

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

productPages.id: number
Ürün-sayfa bağlantı kaydının benzersiz tanımlayıcısı.
örnek: 16

productPages.pageId: number
Ürünün bağlı olduğu sayfanın tanımlayıcısı.
örnek: 4

productPages.productId: number
Ürünün tanımlayıcısı.
örnek: 15

productPages.positionId: number
Sayfa içindeki sıralama pozisyonu tanımlayıcısı.
örnek: 244

productPages.categoryPath: string
Ürünün ait olduğu sayfanın kategori yolu.
örnek: "products"

items.blocks: string[]
Blok tanımlayıcılarının dizisi.
örnek:

[
"block_12345",
"block_67890"
]

blocks.products: IProductsEntity[]
Blok ile ilişkili ürün varlıklarının dizisi.
örnek:

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

moduleFormConfigs: Array<IFormConfig>
Sayfaya bağlı modül form yapılandırmaları.

rating: IRating
Değerlendirme verileri.

total: string
Sayfaya bağlı toplam ürün sayısı.
örnek: "10"

categoryPath: string
Kategori yolu dizesi.
örnek: "catalog"