إنتقل إلى المحتوى الرئيسي

الحصول على الصفحة بواسطة URL

في هذا المثال، نوضح كيفية استرجاع صفحة CMS واحدة بواسطة معرف URL الخاص بها باستخدام واجهة برمجة التطبيقات OneEntry.

✅ هدف السيناريو:

  • الاتصال بواجهة برمجة التطبيقات OneEntry
  • استرجاع صفحة بواسطة معرف URL الخاص بها
  • الوصول إلى محتوى الصفحة عبر localizeInfos و attributeValues

✅ ما تحتاجه:

  • PROJECT_URL و APP_TOKEN صالحين للمصادقة مع واجهة برمجة التطبيقات OneEntry.
  • صفحة تم تكوينها في OneEntry مع URL معروف (مثل "home_web")

📌 مهم:

  • هذه الأمثلة لا تتضمن معالجة الأخطاء.
  • يمكنك إدارة الأخطاء باستخدام كتلة try-catch أو من خلال استخدام بناء مثل await Promise.catch((error) => error).

📚 انظر في الوثائق:

📦 مرجع SDK:

جربها مباشرة

قم بتشغيل هذه الطريقة بشكل تفاعلي في JS SDK sandbox — قم بتوصيل Project URL و App Token في الزيارة الأولى، ثم افتح:

  • الحصول على الصفحة بواسطة URL — في هذا المثال، نوضح كيفية استرجاع صفحة CMS واحدة بواسطة معرف URL الخاص بها باستخدام واجهة برمجة التطبيقات OneEntry.

السيناريو

1. استيراد defineOneEntry من SDK وتعريف PROJECT_URL و APP_TOKEN

مثال:

import { defineOneEntry } from 'oneentry';

const PROJECT_URL = 'your-project-url';
const APP_TOKEN = 'your-app-token';

2. إنشاء عميل API باستخدام defineOneEntry()

مثال:

const { Pages } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});

3. الحصول على الصفحة بواسطة URL باستخدام Pages.getPageByUrl()

مثال:

const page = await Pages.getPageByUrl('home_web');
console.log('Page: ', page);
النتيجة:
{
"id": 9,
"parentId": null,
"pageUrl": "home_web",
"depth": 0,
"localizeInfos": {
"title": "Home web",
"menuTitle": "Home web",
"htmlContent": "",
"plainContent": ""
},
"isVisible": true,
"blocks": [],
"type": "common_page",
"templateIdentifier": null,
"attributeSetIdentifier": null,
"attributeValues": {},
"moduleFormConfigs": [],
"isSync": false
}

المثال النهائي

// 1. Import defineOneEntry from SDK and define PROJECT_URL and APP_TOKEN
import { defineOneEntry } from 'oneentry';

const PROJECT_URL = 'your-project-url';
const APP_TOKEN = 'your-app-token';

// 2. Creating an API client with [defineOneEntry()](/docs/index/#Installation)
const { Pages } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});

// 3. Get page by URL with [Pages.getPageByUrl()](/docs/pages/getPageByUrl)
const page = await Pages.getPageByUrl('home_web');
console.log('Page: ', page);