Lấy trang theo URL
Trong ví dụ này, chúng tôi sẽ trình bày cách lấy một trang CMS duy nhất bằng cách sử dụng định danh URL của nó thông qua API OneEntry.
✅ Mục đích của kịch bản:
- Kết nối với API OneEntry
- Lấy một trang theo định danh URL của nó
- Truy cập nội dung trang thông qua localizeInfos và attributeValues
✅ Những gì bạn cần:
- Một PROJECT_URL và APP_TOKEN hợp lệ để xác thực với API OneEntry.
- Một trang đã được cấu hình trong OneEntry với một URL đã biết (ví dụ: "home_web")
📌 Quan trọng:
- Những ví dụ này không bao gồm xử lý lỗi.
- Bạn có thể quản lý lỗi bằng cách sử dụng khối try-catch hoặc bằng cách sử dụng cấu trúc như await Promise.catch((error) => error).
📚 Xem trong tài liệu:
📦 Tham khảo SDK:
Thử nghiệm trực tiếp
Chạy phương thức này một cách tương tác trong JS SDK sandbox — kết nối URL Dự án và Mã thông báo Ứng dụng của bạn khi lần đầu truy cập, sau đó mở:
- Lấy trang theo URL — Trong ví dụ này, chúng tôi sẽ trình bày cách lấy một trang CMS duy nhất bằng cách sử dụng định danh URL của nó thông qua API OneEntry.
Kịch bản
1. Nhập defineOneEntry từ SDK và định nghĩa PROJECT_URL và APP_TOKEN
Ví dụ:
import { defineOneEntry } from 'oneentry';
const PROJECT_URL = 'your-project-url';
const APP_TOKEN = 'your-app-token';
2. Tạo một khách hàng API với defineOneEntry()
Ví dụ:
const { Pages } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});
3. Lấy trang theo URL với Pages.getPageByUrl()
Ví dụ:
const page = await Pages.getPageByUrl('home_web');
console.log('Page: ', page);
Kết quả:
{
"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
}
Ví dụ cuối cùng
// 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);