Loops & Sections

Pengenalan

Loops & Sections adalah fitur powerful dari NexaDom untuk mengelola blok data berulang dan section-section dalam template. Sistem ini dioptimasi untuk performa dan fleksibilitas.

Metode Utama

1. Block Management


// Mendapatkan block data
$block = $this->get_block('products');

// Mengoptimasi proses blocks
$this->process_nexa_blocks_optimized($content);

// Contoh penggunaan dalam controller
$products = [
    ['id' => 1, 'name' => 'Product A', 'price' => 100],
    ['id' => 2, 'name' => 'Product B', 'price' => 200]
];
$this->assignBlock('products', $products);
    

2. Section Management


// Mendapatkan section data
$section = $this->get_section('sidebar');

// Mengoptimasi proses sections
$this->process_sections_optimized($content);

// Contoh penggunaan dalam controller
$sidebarData = [
    'title' => 'Menu',
    'items' => ['Home', 'About', 'Contact']
];
$this->assignBlock('sidebar', $sidebarData);
    

Template Syntax




{products.name}

Price: ${products.price}

{categories.name}

{categories.products.name} - ${categories.products.price}

Fitur Optimasi

  • Block Optimization: Menggunakan process_nexa_blocks_optimized() untuk performa lebih baik
  • Section Optimization: Menggunakan process_sections_optimized() untuk pemrosesan section yang efisien
  • Nested Support: Mendukung struktur nested untuk data kompleks
  • Memory Efficient: Optimasi penggunaan memori untuk data besar

Best Practices

  • Gunakan nama block yang deskriptif dan konsisten
  • Manfaatkan nested blocks untuk data yang berkaitan
  • Implementasikan optimasi untuk data yang besar
  • Perhatikan struktur data saat menggunakan nested blocks

Advanced Usage


// Complex nested structure
$data = [
    'categories' => [
        [
            'name' => 'Electronics',
            'products' => [
                ['name' => 'Laptop', 'price' => 1000],
                ['name' => 'Phone', 'price' => 500]
            ]
        ],
        [
            'name' => 'Books',
            'products' => [
                ['name' => 'PHP Guide', 'price' => 30],
                ['name' => 'HTML Guide', 'price' => 25]
            ]
        ]
    ]
];

// Assign complex data
$this->assignNestedData('categories', $data['categories']);

// Process dengan optimasi
$this->process_nexa_blocks_optimized($content);
$this->process_sections_optimized($content);
    
Note: Gunakan fitur optimasi untuk meningkatkan performa saat bekerja dengan data yang besar atau struktur nested yang kompleks.

Debugging Blocks & Sections


// Debug block data
$blockData = $this->get_block('products');
var_dump($blockData);

// Debug section data
$sectionData = $this->get_section('sidebar');
var_dump($sectionData);