Pendahuluan
Ambil template pratinjau yang menstandarkan ukuran dan format gambar untuk gambar atribut produk.
Informasi lebih lanjut tentang template pratinjau di panel admin OneEntry: https://doc.oneentry.cloud/docs/templates/templates_preview/
🎯 Apa yang dilakukan modul ini?
Modul TemplatePreviews memungkinkan Anda untuk menstandarkan parameter gambar di seluruh proyek Anda. Dengan menerapkan template pratinjau pada atribut "Gambar" atau "Grup Gambar", Anda menyajikan gambar yang ukurannya dan pemotongannya konsisten sesuai dengan konfigurasi template - di seluruh gambar produk, gambar varian, dan gambar berbasis atribut.
Anda membuat template pratinjau di panel admin OneEntry (Pengaturan > Template Pratinjau), dan modul ini mengambil konfigurasi tersebut sehingga atribut produk dengan gambar ditampilkan secara konsisten. SDK bersifat hanya-baca: Anda tidak dapat membuat template pratinjau melalui SDK ini.
🚀 Memulai dengan Cepat
Inisialisasi modul dari defineOneEntry:
const { TemplatePreviews } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
Ambil template pratinjau dan baca proporsinya:
// Fetch all preview templates, localized to English.
const previews = await TemplatePreviews.getTemplatePreviews("en_US");
previews.forEach((tpl) => {
console.log(tpl.identifier, tpl.title, tpl.proportions.default.square);
});
// Or fetch a single preview template by its marker.
const swatch = await TemplatePreviews.getTemplatePreviewByMarker("color_swatch", "en_US");
console.log(swatch.proportions.default.horizontal);
✨ Konsep Kunci
Apa itu Template Pratinjau?
Template Pratinjau (ITemplatesPreviewEntity) adalah konfigurasi gambar untuk atribut produk:
- Marker (
identifier) - Pengidentifikasi unik untuk referensi template (gunakan ini, bukan ID) - Judul (
title) - Nama template yang ditampilkan di panel admin (tidak unik) - Proporsi (
proportions) - Set parameter gambar per orientasi (horizontal, vertikal, persegi) - Penyelarasan (
alignmentType) - Cara gambar dipotong/dipusatkan
Struktur Template Pratinjau
interface ITemplatesPreviewEntity {
id: number;
title: string;
proportions: {
default: {
horizontal: IProportion | null; // { width, height, alignmentType }
vertical: IProportion | null; // { width, height, alignmentType }
square: ISquare; // { side, alignmentType }
};
};
identifier: string;
version: number;
attributeValues: IAttributeValues;
position: number;
isUsed: boolean;
attributeSetIdentifier?: string | null;
}
Contoh nilai proporsi:
{
default: {
horizontal: { width: 234, height: 324, alignmentType: "middleBottom" },
vertical: { width: 2, height: 3, alignmentType: "leftTop" },
square: { side: 3, alignmentType: "leftTop" },
},
}
Alur Kerja Template Pratinjau
1. Create preview template in admin panel
(Define proportions for attribute images)
↓
2. Assign template to an attribute type
(e.g., "Color" attribute uses "color_swatch")
↓
3. Fetch templates via SDK
(TemplatePreviews.getTemplatePreviews())
↓
4. Apply proportions to attribute images
(Render images with consistent sizing)
↓
5. Consistent attribute image display
(All color swatches same size)
📋 Apa yang Perlu Anda Ketahui
Template pratinjau dibuat di panel admin
Anda tidak dapat membuat template pratinjau melalui SDK - mereka dibuat di panel admin OneEntry (Pengaturan > Template Pratinjau). Setiap template memerlukan Nama (tidak unik) dan Marker yang unik, ditambah set proporsi untuk tiga orientasi gambar:
- Horizontal - lebar, tinggi, jenis penyelarasan
- Vertikal - lebar, tinggi, jenis penyelarasan
- Persegi - panjang sisi, jenis penyelarasan
SDK digunakan untuk mengambil konfigurasi template pratinjau, bukan untuk membuatnya.
Gunakan marker, bukan ID
Referensikan template pratinjau dengan marker (identifier) di kode Anda - marker stabil di seluruh lingkungan. Gunakan getTemplatePreviewByMarker(marker) untuk satu template dan getTemplatePreviews() untuk semuanya.
TemplatePreviews vs Templates
TemplatePreviews khusus untuk gambar atribut produk:
| Fitur | TemplatePreviews | Templates |
|---|---|---|
| Tujuan | Pratinjau gambar atribut | Tampilan konten umum |
| Kasus Penggunaan | Swatch warna, pratinjau material | Gambar hero, tata letak produk |
| Lingkup | Hanya atribut produk | Halaman, blok, produk |
Praktik terbaik: Gunakan TemplatePreviews untuk gambar atribut, Templates untuk konten umum.
Caching
Template pratinjau jarang berubah - cache mereka (localStorage/sessionStorage di frontend, Redis/memory di backend; ~1 jam TTL adalah titik awal yang wajar).
📊 Tabel Referensi Cepat
| Metode | Deskripsi | Kasus Penggunaan |
|---|---|---|
| getTemplatePreviews() | Ambil semua template pratinjau | Daftar semua template atribut yang tersedia |
| getTemplatePreviewByMarker() | Ambil template pratinjau berdasarkan marker | Ambil konfigurasi template tertentu |
❓ Pertanyaan Umum (FAQ)
Apa perbedaan antara TemplatePreviews dan Templates?
TemplatePreviews khusus untuk gambar atribut produk (swatch warna, pratinjau material), sementara Templates menangani tampilan konten umum (halaman, blok, produk). Gunakan TemplatePreviews hanya untuk gambar yang spesifik untuk atribut.
Bagaimana cara mengonfigurasi ukuran yang berbeda untuk gambar horizontal, vertikal, dan persegi?
Di panel admin, konfigurasikan ketiga orientasi untuk setiap template pratinjau. Sistem mendeteksi orientasi gambar dan menerapkan set proporsi yang sesuai (horizontal, vertical, atau square).
Dapatkah saya menetapkan template pratinjau yang berbeda untuk jenis atribut yang berbeda?
Ya. Buat beberapa template pratinjau dengan marker yang berbeda (misalnya, color_swatch, material_preview, pattern_thumbnail) dan tetapkan masing-masing ke jenis atribut yang sesuai untuk rendering yang konsisten.
Bagaimana cara menerapkan template pratinjau ke gambar atribut?
Ambil template melalui getTemplatePreviewByMarker() dan gunakan proportions-nya untuk merender gambar atribut dengan ukuran yang konsisten. Penetapan template ke jenis atribut dilakukan di panel admin.
🎓 Praktik Terbaik
- Gunakan marker, bukan ID - marker stabil di seluruh lingkungan.
- Gunakan marker yang semantik -
color_swatch, bukanpreview_1. - Peta atribut ke template - simpan satu template per jenis atribut untuk konsistensi.
- Cache template pratinjau - kurangi panggilan API untuk data yang jarang berubah.
🔗 Dokumentasi Terkait
- Panel Admin OneEntry - Template Pratinjau - Dokumentasi resmi panel admin
- Modul Templates - Template konten umum
- Modul Attributes - Konfigurasi atribut produk
- Modul Products - Produk dengan atribut
- Praktik Terbaik Optimasi Gambar