Templates
جلب قوالب العرض التي تتحكم في كيفية عرض الصفحات والكتل والمنتجات في تطبيقك.
مزيد من المعلومات حول القوالب في لوحة إدارة OneEntry: https://doc.oneentry.cloud/docs/category/templates (يفتح في علامة تبويب جديدة)
تصف القوالب بنية كياناتك ومظهرها خارج الشيفرة. تنشئها في لوحة إدارة OneEntry (Settings > Templates) وتربطها بمكوّناتك؛ وتجلبها وحدة Templates، فيمكنك تغيير طريقة عرض الكيان بتبديل قالبه، دون إعادة النشر.
بدء سريع
قم بتهيئة الوحدة من defineOneEntry:
const { } = defineOneEntry( , { });
اجلب القوالب واقرأ تهيئتها:
// Fetch all templates of a given BlockType.
const productTemplates = await Templates.getTemplateByType("product", "en_US");
if ('statusCode' in productTemplates) throw new Error(productTemplates.message);
productTemplates.forEach((tpl) => {
console.log(tpl.identifier, tpl.title, tpl.generalTypeName);
});
// Or fetch a single template by its marker.
const card = await Templates.getTemplateByMarker("product_thumbnail", "en_US");
if ('statusCode' in card) throw new Error(card.message);
console.log(card.attributeValues);
كائن القالب
القالب (ITemplateEntity) تهيئة عرض تحدد كيفية ظهور المحتوى:
generalTypeName: فئة الكيان التي ينطبق عليها القالب، وهيBlockTypeمثلproductأوcommon_pageأوcommon_blockأوformأوorder.title: اسم القالب المعروض في لوحة الإدارة. ليس فريدًا.identifier: العلامة الفريدة التي تشير إليها في الكود.attributeValues: خريطة قيم السمات مفهرسة بالعلامة.attributeSetIdentifier: مجموعة السمات المرتبطة، إن وُجدت.
interface ITemplateEntity {
id: number; // Unique identifier
title: string; // Template name (non-unique)
identifier: string; // Template marker (unique)
generalTypeId: number; // Type ID reference
version: number; // Version number
generalTypeName: BlockType; // General type name
attributeSetIdentifier: string | null; // Associated attribute set
attributeValues: IAttributeValues; // Map of attribute values keyed by marker
position: number; // Sort position
}
أنواع القوالب
نوع القالب هو generalTypeName الخاص به، وهو قيمة من BlockType. تقبل getTemplateByType(type) قيمة BlockType نفسها. القيم الشائعة:
| النوع | فئة الكيان | أمثلة على حالات الاستخدام |
|---|---|---|
product | المنتجات | تفاصيل المنتج، عرض المنتج |
catalog_page | صفحات الكتالوج | قوائم الفئات، نتائج البحث |
common_page | الصفحات العادية | تدوينة، صفحة هبوط، صفحة من نحن |
error_page | صفحات الأخطاء | صفحة 404، صفحة 500، تخطيطات أخطاء مخصّصة |
common_block | كتل المحتوى | بطاقات المحتوى، اللافتات، الأقسام، عناصر الواجهة |
form | النماذج | نموذج الاتصال، نموذج التسجيل، الاستبيان |
order | الطلبات | تأكيد الطلب، سجل الطلبات |
service | كيانات الخدمات | محتوى متعلق بالخدمات. لا تقبله getTemplateByType() بعد |
تفشل getTemplateByType('service') حاليًا بالخطأ 400 (type must be a valid enum value). هذه مشكلة معروفة في المنصة.
إنشاء القوالب
SDK للقراءة فقط: لا يمكنك إنشاء القوالب من خلاله. أنشئها في لوحة إدارة OneEntry (Settings > Templates). يحتاج كل قالب إلى اسم (ليس فريدًا)، وعلامة فريدة، ونوع (فئة الكيان التي ينطبق عليها).
جلب القوالب
أشِر إلى القوالب في الكود بالعلامة (identifier)، لا بالمعرّف: العلامات ثابتة عبر البيئات، أما المعرّفات فليست كذلك. استخدم getTemplateByMarker(marker) لقالب واحد، وgetTemplateByType(type) لجميع القوالب من BlockType واحد، وgetAllTemplates() لكل القوالب مجمّعة حسب النوع.
تُعيد getTemplateByMarker() كائن IError (statusCode: 404) عندما لا يحمل أي قالب تلك العلامة. وتُعيد getTemplateByType() مصفوفة فارغة عندما لا تكون للنوع قوالب، وIError (statusCode: 400) عندما لا يكون النوع BlockType صالحًا. تُعيد getAllTemplates() حاليًا كائنًا فارغًا ({}) بدلًا من IError عند فشل الطلب (مثلًا، مع رمز تطبيق غير صالح)، لذا تحقّق من النتيجة الفارغة.
نادرًا ما تتغير القوالب، لذا فهي مرشّحة جيدة للتخزين المؤقت.
Templates مقابل TemplatePreviews
تضبط القوالب عرض المحتوى العام (الصفحات والكتل والمنتجات). أما TemplatePreviews فتحدد كيف تقصّ OneEntry الصور إلى معاينات لسمات الصور والملفات المرفوعة.
الطرق
| الطريقة | الوصف | حالة الاستخدام |
|---|---|---|
| getAllTemplates() | جلب جميع القوالب مجمّعة حسب النوع | عرض جميع القوالب المتاحة |
| getTemplateByType() | جلب القوالب حسب نوع الكيان | جلب قوالب نوع كيان محدد |
| getTemplateByMarker() | جلب قالب حسب العلامة | جلب إعدادات قالب محدد |
ذات صلة
- لوحة إدارة OneEntry - قوالب المحتوى: الوثائق الرسمية للوحة الإدارة
- وحدة TemplatePreviews: قوالب المعاينة لإنشاء معاينات الصور على الخادم
- وحدة المنتجات: تستخدم المنتجات قوالب المنتجات
- وحدة الصفحات: تستخدم الصفحات قوالب الصفحات
- وحدة الكتل: تستخدم الكتل قوالب الكتل
- وحدة النماذج: تستخدم النماذج قوالب النماذج