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

الحصول على الصفحة بواسطة 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);