Lewati ke konten utama

Pendahuluan

Ambil jenis entitas yang berlaku di seluruh sistem yang mengklasifikasikan halaman, formulir, blok, dan produk Anda.

Informasi lebih lanjut tentang antarmuka pengguna modul: https://doc.oneentry.cloud/docs/attributes/types/#General-Type-Attributes


🎯 Apa yang dilakukan modul ini?

Modul GeneralTypes memungkinkan Anda untuk mengambil jenis entitas yang berlaku di seluruh sistem - jenis halaman, jenis formulir, jenis blok, dan jenis produk - yang mendefinisikan kategori konten dalam proyek OneEntry Anda. OneEntry menggunakan seperangkat jenis sistem tetap (BlockType) untuk mengklasifikasikan halaman (common_page, catalog_page, external_page, error_page), formulir (form), blok (common_block, product_block, slider_block, …), dan produk (product, service). Modul ini bersifat hanya baca.

🚀 Memulai dengan Cepat

Inisialisasi modul dari defineOneEntry:


const { GeneralTypes } = defineOneEntry(
"your-project-url", {
"token": "your-app-token"
}
);

Ambil semua jenis dan gunakan:

// Returns a combined list of types across all entities.
const types = await GeneralTypes.getAllTypes();
// e.g. [{ id: 1, type: "product" }, { id: 2, type: "common_page" }, ...]

// Filter manually - there is no built-in per-entity filter.
const pageTypes = types.filter((t) => t.type.endsWith("_page"));

console.log(pageTypes);

✨ Konsep Kunci

Sistem Tipe

OneEntry mengklasifikasikan setiap entitas dengan nilai BlockType:

EntitasContoh Tipe (BlockType)Tujuan
Halamancommon_page, catalog_page, external_page, error_pageMendefinisikan tata letak dan fungsionalitas halaman
FormulirformMengkategorikan tujuan formulir
Blokcommon_block, product_block, slider_blockBlok bangunan untuk halaman/produk
Produkproduct, serviceMengklasifikasikan inventaris produk

Struktur Entitas Tipe

Setiap tipe yang dikembalikan oleh getAllTypes() adalah GeneralTypeEntity:

interface GeneralTypeEntity {
id: number; // Unique numeric ID (e.g. 1, 2, 3)
type: BlockType; // Type name (e.g. "product", "common_page", "form")
}

📋 Apa yang Perlu Anda Ketahui

Tipe adalah kategori sistem yang telah ditentukan

Anda tidak dapat membuat tipe melalui SDK - mereka adalah seperangkat kategori sistem tetap (BlockType) yang ditentukan oleh platform. GeneralTypes hanya mengambil daftar tipe yang ada dalam proyek Anda. Semua manajemen tipe terjadi di panel admin OneEntry.

getAllTypes() mengembalikan SEMUA tipe di semua entitas

Metode ini mengembalikan daftar gabungan tipe dari halaman, formulir, blok, produk, dan entitas lainnya. Tidak ada penyaringan bawaan berdasarkan kategori entitas, jadi saring hasilnya secara manual (misalnya, t.type.endsWith('_page')).

Tipe vs. Penanda vs. ID

PengidentifikasiApa ItuContohTerbaik Untuk
TipeKategori/klasifikasi entitas"catalog_page"Penyaringan dan pengelompokan
PenandaPengidentifikasi unik yang dapat dibaca manusia"my_about_page"Mengambil entitas tertentu
IDPengidentifikasi numerik database42Penggunaan sistem internal

Gunakan string type dalam logika kode Anda (misalnya, if (page.type === 'catalog_page')) - ini stabil di seluruh lingkungan, sedangkan id dapat berbeda.


📊 Tabel Referensi Cepat

MetodeDeskripsiKasus Penggunaan
getAllTypes()Mengambil semua tipe umum dalam sistemMengisi dropdown, memvalidasi tipe

❓ Pertanyaan Umum (FAQ)

Bagaimana cara saya membuat tipe baru?

Anda tidak dapat - tipe adalah seperangkat kategori sistem tetap (BlockType) dan modul ini bersifat hanya baca. Ambil yang tersedia dalam proyek Anda dengan getAllTypes().


Bagaimana cara saya menyaring tipe berdasarkan entitas (halaman, formulir, produk)?

getAllTypes() mengembalikan semua tipe di semua entitas. Saring hasilnya secara manual, misalnya types.filter(t => t.type.endsWith('_page')).


Bisakah saya memperbarui atau menghapus tipe melalui SDK?

Tidak. Modul GeneralTypes bersifat hanya baca - semua manajemen tipe terjadi di panel admin OneEntry.


Apa perbedaan antara ID tipe dan nama tipe?

Gunakan string type untuk logika kode dan perbandingan Anda (stabil di seluruh lingkungan). Nomor id adalah untuk referensi database internal dan dapat berubah antara proyek.


Bisakah saya menyimpan daftar tipe dalam cache?

Ya - tipe jarang berubah, jadi caching disarankan.


🎓 Praktik Terbaik

  • Ambil tipe secara dinamis - jangan hardcode daftar tipe.
  • Gunakan string type, bukan id - nama tipe stabil di seluruh lingkungan.
  • Saring secara manual - getAllTypes() mengembalikan semua tipe entitas dalam satu daftar.
  • Simpan daftar dalam cache - jarang berubah.
  • Tangani tipe yang tidak dikenal dengan baik - sediakan rendering cadangan.

🔗 Dokumentasi Terkait

  • Modul Halaman - Halaman yang diklasifikasikan berdasarkan tipe
  • Modul Formulir - Formulir yang diklasifikasikan berdasarkan tipe
  • Modul Blok - Blok yang diklasifikasikan berdasarkan tipe
  • Modul Produk - Produk yang diklasifikasikan berdasarkan tipe