definePageLayout() للتصريح عن تخطيط لكائن تملكه، أو definePageLayoutTab() لإضافة لسان واحد إلى تخطيط موجود مسبقًا (سواء كان مِلكك أو تخطيط Twenty قياسيًا).
definePageLayout
استخدم هذا عندما تملك صفحة التفاصيل بالكامل — عادةً لكائن مخصص قمت بتعريفه بنفسك.src/page-layouts/example-record-page-layout.ts
النقاط الرئيسية
typeهو واحد من'RECORD_INDEX'أو'RECORD_PAGE'أو'DASHBOARD'أو'STANDALONE_PAGE'. استخدم'RECORD_PAGE'لتخصيص عرض التفاصيل لكائن محدّد.objectUniversalIdentifierيحدّد الكائن الذي ينطبق عليه هذا التخطيط.- يُعرّف كل
tabقسمًا من الصفحة معtitleوpositionوlayoutMode:VERTICAL_LISTلصفحات السجلات والصفحات المستقلة، وGRIDللوحات المعلومات. في علامة تبويب من نوعVERTICAL_LIST، يعرض عنصر واجهة واحد ممتدًا حتى الحواف ويملك علامة التبويب بالكامل؛ وعند وجود عدة عناصر واجهة، فإنها تتكدس كبطاقات. تعرض علامة تبويب من نوعGRIDدائمًا عناصر الواجهة كبطاقات على شبكة من 12 عمودًا مهما كان عددها، لذا اخترVERTICAL_LISTعندما تريد لعنصر واجهة واحد أن يملأ الصفحة. - عيِّن
layoutModeبشكل صريح. إغفاله يمنحكVERTICAL_LISTعلىSTANDALONE_PAGEوGRIDفي كل مكان آخر، وهو أمر نادرًا ما تريده في صفحة سجل. - يمكن لكل
widgetداخل لسان أن يعرض front component، أو قائمة علاقات، أو أنواعًا أخرى من عناصر الواجهة (widgets) المدمجة. positionعلى الألسنة يتحكّم في ترتيبها. استخدم قيمًا أعلى (مثل 50) لوضع الألسنة المخصّصة بعد الألسنة المدمجة.
definePageLayoutTab
استخدم هذا عندما تريد فقط إضافة لسان إلى تخطيط موجود — على سبيل المثال، لسان تحليلات في صفحة Company القياسية، أو لسان ملخص بالذكاء الاصطناعي مرفق بتخطيط الكائن الخاص بك.src/page-layouts/example-extra-tab.ts
النقاط الرئيسية
-
إن
pageLayoutUniversalIdentifierمطلوب ويجب أن يشير إلى تخطيط صفحة موجود بالفعل وقت التثبيت — سواء كان تخطيط Twenty قياسيًا أو تخطيطًا معرّفًا بواسطة تطبيقك الخاص. المراجع المتقاطعة بين التطبيقات إلى التخطيطات المملوكة لتطبيق آخر مُثبَّت غير مدعومة حاليًا. عند فقدان التخطيط الأب، يفشل التثبيت مع ظهور خطأ تحقق واضح. -
بالنسبة لتخطيطات Twenty القياسية، استورد المعرفات من
twenty-sdk/define:كل إدخال تخطيط يوفّر أيضًاtabsالخاصة به وwidgetsالتابعة لها، بحيث يمكنك الرجوع إلى أي مستوى:يتوفر أيضًا اسم قصيرSTANDARD_PAGE_LAYOUT: -
يكون نطاق
widgetsمقتصرًا على هذا اللسان فقط — فهي تشير إلى front components، والعروض، وما إلى ذلك تمامًا مثل عناصر الواجهة (widgets) المُعرَّفة مضمّنة داخلdefinePageLayout. -
positionيتحكّم في الترتيب مقارنةً بعلامات التبويب الموجودة على التخطيط المستهدف. اختر قيمة تضع علامة التبويب الخاصة بك في الموضع الذي تريده بالنسبة إلى علامات التبويب المضمنة. -
استخدم هذا بدلًا من
definePageLayoutعندما تريد فقط الإضافة إلى تخطيط موجود. استخدمdefinePageLayoutعندما تملك التخطيط بالكامل.