Bir varlık alan türü ile form gönderme (sayfalar, ürünler...)
✅ Senaryonun amacı:
- OneEntry CMS'den form yapılandırmasını almak
- Kullanıcının varlık öğelerinden birini seçmesi
- Toplanan verileri OneEntry API'sine göndermek.
✅ Gereksinimler:
- OneEntry API'si ile kimlik doğrulama için geçerli bir PROJECT_URL ve APP_TOKEN.
- "varlık" türünde bir işaretçi (örneğin, entity) ve "varlık" türünde bir alan içeren OneEntry'de önceden yapılandırılmış bir form.
- "varlık" türünde bir alan içeren önceden yapılandırılmış form alanları.
📌 Önemli:
- Bu örneklerde hataları ele almıyoruz.
- Hataları trycatch içinde veya "await Promise.catch((error) => error)" gibi bir yapı ile ele alabilirsiniz.
Senaryo
1. oneEntry'yi içe aktarın ve url ile token'ı tanımlayın
Örnek:
import { defineOneEntry } from 'oneentry';
const PROJECT_URL = 'your-project-url';
const APP_TOKEN = 'your-app-token';
2. defineOneEntry() fonksiyonu ile bir API istemcisi oluşturma
Örnek:
const { AuthProvider, Orders, Payments, Forms } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});
3. Forms.getFormByMarker() ile OneEntry CMS'den form verilerini alıyoruz ve frontend'de bir form oluşturuyoruz
Örnek:
const formData = await Forms.getFormByMarker('entity');
Sonuç:
{
"id": 2,
"attributeSetId": 1,
"type": "data",
"localizeInfos": {
"title": "Varlık",
"titleForSite": "",
"successMessage": "",
"unsuccessMessage": "",
"urlAddress": "",
"database": "0",
"script": "0"
},
"version": 17,
"position": 1,
"identifier": "entity",
"processingType": "script",
"templateId": null,
"attributes": [
{
"type": "entity",
"marker": "entity",
"isLogin": null,
"isSignUp": null,
"position": 1,
"settings": {},
"isVisible": true,
"listTitles": [
{
"id": 1,
"depth": 0,
"title": "Katalog",
"parentId": null,
"position": 1,
"selected": true
},
{
"id": 7,
"depth": 0,
"title": "Premium sayfa",
"parentId": null,
"position": 2,
"selected": true
}
],
"validators": {},
"localizeInfos": {
"title": "Varlık"
},
"additionalFields": [],
"isNotificationEmail": null,
"isNotificationPhoneSMS": null,
"isNotificationPhonePush": null
}
]
}