{"id":794,"date":"2026-05-12T08:39:32","date_gmt":"2026-05-12T08:39:32","guid":{"rendered":"https:\/\/halalinst.psu.ac.th\/hapex\/?page_id=794"},"modified":"2026-07-19T05:30:08","modified_gmt":"2026-07-19T05:30:08","slug":"exhibitors-list","status":"publish","type":"page","link":"https:\/\/halalinst.psu.ac.th\/hapex\/?page_id=794","title":{"rendered":"Exhibitor List &#8211; \u0e23\u0e32\u0e22\u0e0a\u0e37\u0e48\u0e2d\u0e1c\u0e39\u0e49\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e01\u0e32\u0e23 World HAPEX 2026"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"794\" class=\"elementor elementor-794\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4bc366ec e-con-full e-flex e-con e-parent\" data-id=\"4bc366ec\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-99d1bb7 elementor-widget elementor-widget-html\" data-id=\"99d1bb7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n    \/* --- CSS \u0e40\u0e14\u0e34\u0e21\u0e17\u0e35\u0e48\u0e04\u0e38\u0e13\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48 --- *\/\r\n    .hero-image-header {\r\n        position: relative;\r\n        width: 100%;\r\n        height: 400px;\r\n        background-image: url('wp-content\/uploads\/2026\/04\/ex-e1775805301713.png?attachment_id=1109'); \r\n        background-size: cover;\r\n        background-position: center center;\r\n        background-repeat: no-repeat;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        text-align: center;\r\n        color: white;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .hero-overlay {\r\n        position: absolute;\r\n        top: 0; left: 0; right: 0; bottom: 0;\r\n        background: rgba(0, 0, 0, 0.5);\r\n        z-index: 1;\r\n    }\r\n\r\n    .hero-content {\r\n        position: relative;\r\n        z-index: 2;\r\n        padding: 0 20px;\r\n        max-width: 900px;\r\n    }\r\n\r\n    .hero-content h1 {\r\n        font-family: 'kanit', sans-serif;\r\n        font-size: 4rem;\r\n        font-weight: 500;\r\n        color: white;\r\n        margin: 0 0 10px 0;\r\n        text-transform: uppercase;\r\n        text-shadow: 2px 2px 10px rgba(0,0,0,0.5);\r\n    }\r\n\r\n    .hero-content p {\r\n        font-family: 'Sarabun', sans-serif;\r\n        font-size: 1.5rem;\r\n        color: #f8f9fa;\r\n        margin: 0 0 40px 0;\r\n        font-weight: 400;\r\n        text-shadow: 1px 1px 5px rgba(0,0,0,0.5);\r\n    }\r\n\r\n    \/* \u0e01\u0e25\u0e48\u0e2d\u0e07\u0e23\u0e27\u0e21\u0e1b\u0e38\u0e48\u0e21\u0e43\u0e2b\u0e49\u0e08\u0e31\u0e14\u0e27\u0e32\u0e07\u0e2a\u0e27\u0e22\u0e07\u0e32\u0e21 *\/\r\n    .hero-button-group {\r\n        display: flex;\r\n        gap: 15px;\r\n        justify-content: center;\r\n        flex-wrap: wrap;\r\n    }\r\n\r\n    \/* \u0e14\u0e35\u0e44\u0e0b\u0e19\u0e4c\u0e1b\u0e38\u0e48\u0e21\u0e1e\u0e37\u0e49\u0e19\u0e10\u0e32\u0e19 *\/\r\n    .btn-hero {\r\n        display: inline-block;\r\n        padding: 15px 35px;\r\n        border-radius: 50px;\r\n        font-family: 'kanit', sans-serif;\r\n        font-size: 1.2rem;\r\n        font-weight: 600;\r\n        text-decoration: none;\r\n        transition: all 0.3s ease;\r\n        border: 2px solid transparent;\r\n    }\r\n\r\n    \/* \u0e1b\u0e38\u0e48\u0e21\u0e25\u0e07\u0e17\u0e30\u0e40\u0e1a\u0e35\u0e22\u0e19 (\u0e2a\u0e35\u0e41\u0e14\u0e07\/\u0e0a\u0e21\u0e1e\u0e39) *\/\r\n    .btn-register-hero {\r\n        background: linear-gradient(135deg, #e40046, #b81f40); \r\n        color: white !important;\r\n        box-shadow: 0 4px 15px rgba(228, 0, 70, 0.4);\r\n    }\r\n\r\n    .btn-register-hero:hover {\r\n        transform: translateY(-3px);\r\n        box-shadow: 0 8px 25px rgba(228, 0, 70, 0.6);\r\n        background: linear-gradient(135deg, #b81f40, #901732);\r\n    }\r\n\r\n    \/* \u0e1b\u0e38\u0e48\u0e21\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c (\u0e2a\u0e35\u0e19\u0e49\u0e33\u0e40\u0e07\u0e34\u0e19\/\u0e40\u0e02\u0e35\u0e22\u0e27 \u0e2b\u0e23\u0e37\u0e2d\u0e2a\u0e35\u0e17\u0e35\u0e48\u0e15\u0e31\u0e14\u0e01\u0e31\u0e19) *\/\r\n    \/* \u0e43\u0e19\u0e17\u0e35\u0e48\u0e19\u0e35\u0e49\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e43\u0e0a\u0e49\u0e2a\u0e35\u0e42\u0e17\u0e19\u0e2a\u0e27\u0e48\u0e32\u0e07\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e14\u0e39\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07 *\/\r\n    .btn-confirm-hero {\r\n        background: linear-gradient(135deg, #28a745, #1e7e34); \/* \u0e2a\u0e35\u0e40\u0e02\u0e35\u0e22\u0e27\u0e41\u0e2a\u0e14\u0e07\u0e16\u0e36\u0e07\u0e01\u0e32\u0e23\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19 *\/\r\n        color: white !important;\r\n        box-shadow: 0 4px 15px rgba(40, 167, 69, 0.4);\r\n    }\r\n\r\n    .btn-confirm-hero:hover {\r\n        transform: translateY(-3px);\r\n        box-shadow: 0 8px 25px rgba(40, 167, 69, 0.6);\r\n        background: linear-gradient(135deg, #218838, #19692c);\r\n    }\r\n\r\n    \/* \u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e21\u0e37\u0e2d\u0e16\u0e37\u0e2d *\/\r\n    @media (max-width: 768px) {\r\n        .hero-image-header { height: auto; padding: 60px 0; }\r\n        .hero-content h1 { font-size: 2.5rem; }\r\n        .hero-content p { font-size: 1.2rem; margin-bottom: 30px; }\r\n        .btn-hero { padding: 12px 25px; font-size: 1.1rem; width: 100%; max-width: 280px; }\r\n    }\r\n<\/style>\r\n\r\n<header class=\"hero-image-header\">\r\n    <div class=\"hero-overlay\"><\/div>\r\n    \r\n    <div class=\"hero-content\">\r\n        <h1>\u0e07\u0e32\u0e19\u0e41\u0e2a\u0e14\u0e07\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32\u0e2e\u0e32\u0e25\u0e32\u0e25<\/h1>\r\n        <p>HALAL PRODUCTS EXHIBITION<\/p>\r\n        \r\n        <div class=\"hero-button-group\">\r\n            <!-- \u0e1b\u0e38\u0e48\u0e21\u0e25\u0e07\u0e17\u0e30\u0e40\u0e1a\u0e35\u0e22\u0e19 -->\r\n            <a href=\"https:\/\/airtable.com\/appVcyEhGVFeddtQX\/shrHUxhBuq2iHxRkZ\" class=\"btn-hero btn-register-hero\">\r\n                <i class=\"fas fa-edit\" style=\"margin-right: 8px;\"><\/i> \u0e25\u0e07\u0e17\u0e30\u0e40\u0e1a\u0e35\u0e22\u0e19\u0e1c\u0e39\u0e49\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e01\u0e32\u0e23\r\n            <\/a>\r\n\r\n            <!-- \u0e1b\u0e38\u0e48\u0e21\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c (\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e43\u0e2b\u0e21\u0e48) -->\r\n            <a href=\"https:\/\/halalinst.psu.ac.th\/hapex\/?page_id=297\" class=\"btn-hero btn-confirm-hero\">\r\n                <i class=\"fas fa-check-circle\" style=\"margin-right: 8px;\"><\/i> \u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\r\n            <\/a>\r\n        <\/div>\r\n    <\/div>\r\n<\/header>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-39f4af7 e-con-full e-flex e-con e-child\" data-id=\"39f4af7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fbab0d8 elementor-widget elementor-widget-html\" data-id=\"fbab0d8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- \u0e19\u0e33\u0e40\u0e02\u0e49\u0e32\u0e1f\u0e2d\u0e19\u0e15\u0e4c Prompt -->\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Prompt:wght@400;500;600&display=swap\" rel=\"stylesheet\">\r\n\r\n<!-- \u0e42\u0e2b\u0e25\u0e14 Tailwind CSS \u0e41\u0e25\u0e30\u0e1b\u0e34\u0e14 Preflight \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e44\u0e21\u0e48\u0e43\u0e2b\u0e49\u0e01\u0e23\u0e30\u0e17\u0e1a\u0e01\u0e31\u0e1a CSS \u0e02\u0e2d\u0e07 WordPress Theme \u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19 -->\r\n<script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\r\n<script>\r\n    tailwind.config = {\r\n        corePlugins: {\r\n            preflight: false, \/\/ \u0e2a\u0e33\u0e04\u0e31\u0e0d\u0e21\u0e32\u0e01\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a WordPress \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e1b\u0e49\u0e2d\u0e07\u0e01\u0e31\u0e19\u0e44\u0e21\u0e48\u0e43\u0e2b\u0e49 CSS \u0e2b\u0e25\u0e31\u0e01\u0e1e\u0e31\u0e07\r\n        }\r\n    }\r\n<\/script>\r\n\r\n<!-- \u0e42\u0e2b\u0e25\u0e14 PapaParse \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e14\u0e36\u0e07\u0e41\u0e25\u0e30\u0e41\u0e1b\u0e25\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e08\u0e32\u0e01 Google Sheets -->\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/PapaParse\/5.4.1\/papaparse.min.js\"><\/script>\r\n\r\n<!-- \u0e01\u0e33\u0e2b\u0e19\u0e14\u0e1f\u0e2d\u0e19\u0e15\u0e4c\u0e43\u0e2b\u0e49\u0e01\u0e31\u0e1a Container \u0e2b\u0e25\u0e31\u0e01 -->\r\n<style>\r\n    #exhibitor-container { \r\n        font-family: 'Prompt', 'Kanit', Arial, sans-serif; \r\n    }\r\n<\/style>\r\n\r\n<!-- \u0e01\u0e25\u0e48\u0e2d\u0e07\u0e2b\u0e25\u0e31\u0e01\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e43\u0e2a\u0e48\u0e40\u0e19\u0e37\u0e49\u0e2d\u0e2b\u0e32 (Main Container) -->\r\n<div id=\"exhibitor-container\" class=\"max-w-[1200px] mx-auto p-5\">\r\n    <!-- \u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27\u0e02\u0e49\u0e2d (Header) -->\r\n    <div class=\"text-center mb-10 mt-4\">\r\n        <h2 class=\"text-3xl md:text-4xl font-bold text-gray-900 mb-2\">Exhibitor List<\/h2>\r\n        <p class=\"text-lg md:text-xl text-gray-600 font-medium\">\u0e23\u0e32\u0e22\u0e0a\u0e37\u0e48\u0e2d\u0e1c\u0e39\u0e49\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e01\u0e32\u0e23<\/p>\r\n    <\/div>\r\n    \r\n    <!-- \u0e1e\u0e37\u0e49\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e41\u0e2a\u0e14\u0e07\u0e23\u0e32\u0e22\u0e0a\u0e37\u0e48\u0e2d\u0e23\u0e49\u0e32\u0e19 (\u0e08\u0e30\u0e16\u0e39\u0e01\u0e40\u0e15\u0e34\u0e21\u0e14\u0e49\u0e27\u0e22 Javascript) -->\r\n    <div id=\"exhibitor-content\"><\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function() {\r\n    function renderExhibitors() {\r\n        const container = document.getElementById('exhibitor-content');\r\n        if (!container) return; \r\n\r\n        \/\/ 1. \u0e41\u0e2a\u0e14\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e48\u0e32\u0e07 Loading \u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e14\u0e36\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\r\n        container.innerHTML = `\r\n            <div class=\"text-center py-12 flex flex-col items-center justify-center\">\r\n                <svg class=\"animate-spin h-10 w-10 text-gray-400 mb-4\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewBox=\"0 0 24 24\">\r\n                    <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\"><\/circle>\r\n                    <path class=\"opacity-75\" fill=\"currentColor\" d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"><\/path>\r\n                <\/svg>\r\n                <p class=\"text-gray-500 font-medium\">\u0e01\u0e33\u0e25\u0e31\u0e07\u0e42\u0e2b\u0e25\u0e14\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e23\/p>\r\n            <\/div>\r\n        `;\r\n\r\n        \/\/ 2. \u0e01\u0e33\u0e2b\u0e19\u0e14\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e2a\u0e35\u0e15\u0e32\u0e21\u0e42\u0e0b\u0e19\r\n        \/\/ \u0e2b\u0e32\u0e01\u0e42\u0e0b\u0e19\u0e44\u0e2b\u0e19\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e2a\u0e35\u0e44\u0e27\u0e49\u0e17\u0e35\u0e48\u0e19\u0e35\u0e48 \u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e2a\u0e35\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e43\u0e2b\u0e49\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 (\u0e2a\u0e35\u0e40\u0e17\u0e32)\r\n        const zoneStyles = {\r\n            'A-FRESHLY COOKING FOODS (\u0e2d\u0e32\u0e2b\u0e32\u0e23\u0e1b\u0e23\u0e38\u0e07\u0e2a\u0e14)': { bg: '#fef3c7', text: '#000000' },\r\n            'B-MUSLIM FASHIONS and LIFESTYLE (\u0e40\u0e2a\u0e37\u0e49\u0e2d\u0e1c\u0e49\u0e32\u0e21\u0e38\u0e2a\u0e25\u0e34\u0e21)': { bg: '#fce7f3', text: '#000000' },\r\n            'C-BUSINESS SERVICES & Others (\u0e18\u0e38\u0e23\u0e01\u0e34\u0e08\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e41\u0e25\u0e30\u0e2d\u0e37\u0e48\u0e19\u0e46)': { bg: '#9a3412', text: '#ffffff' },\r\n            'D -FOODS & BEVERAGES (\u0e1c\u0e25\u0e34\u0e15\u0e20\u0e31\u0e13\u0e11\u0e4c\u0e2d\u0e32\u0e2b\u0e32\u0e23\u0e41\u0e25\u0e30\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e14\u0e37\u0e48\u0e21)': { bg: '#dcfce7', text: '#000000' },\r\n            'E-Wellness & Innovation (\u0e40\u0e27\u0e25\u0e40\u0e19\u0e2a\u0e41\u0e25\u0e30\u0e19\u0e27\u0e31\u0e15\u0e01\u0e23\u0e23\u0e21)': { bg: '#bae6fd', text: '#000000' },\r\n            'G-Golden': { bg: '#fcd34d', text: '#000000' }\r\n        };\r\n\r\n        \/\/ 3. \u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 Google Sheets\r\n        \/\/ \u0e23\u0e2b\u0e31\u0e2a ID \u0e02\u0e2d\u0e07\u0e0a\u0e35\u0e15 \u0e14\u0e36\u0e07\u0e21\u0e32\u0e08\u0e32\u0e01 URL \u0e17\u0e35\u0e48\u0e04\u0e38\u0e13\u0e43\u0e2b\u0e49\u0e21\u0e32\r\n        const sheetId = '1M9uUZkaV6yzejVT-VxKnYTYaVtTjr2N825oSNiKafTo';\r\n        const csvUrl = `https:\/\/docs.google.com\/spreadsheets\/d\/${sheetId}\/export?format=csv`;\r\n\r\n        \/\/ \u0e25\u0e33\u0e14\u0e31\u0e1a\u0e02\u0e2d\u0e07\u0e04\u0e2d\u0e25\u0e31\u0e21\u0e19\u0e4c\u0e43\u0e19 Google Sheets (\u0e40\u0e23\u0e34\u0e48\u0e21\u0e19\u0e31\u0e1a\u0e08\u0e32\u0e01 0)\r\n        \/\/ A=0, B=1, C=2, D=3, E=4\r\n        const ZONE_COL = 0;   \/\/ \u0e04\u0e2d\u0e25\u0e31\u0e21\u0e19\u0e4c A: \u0e0a\u0e37\u0e48\u0e2d\u0e42\u0e0b\u0e19\r\n        const BOOTH_COL = 1;  \/\/ \u0e04\u0e2d\u0e25\u0e31\u0e21\u0e19\u0e4c B: \u0e40\u0e25\u0e02\u0e1a\u0e39\u0e18\r\n        const NAME_COL = 2;   \/\/ \u0e04\u0e2d\u0e25\u0e31\u0e21\u0e19\u0e4c C: \u0e0a\u0e37\u0e48\u0e2d\u0e23\u0e49\u0e32\u0e19\r\n\r\n        \/\/ 4. \u0e14\u0e36\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e1c\u0e48\u0e32\u0e19 PapaParse\r\n        Papa.parse(csvUrl, {\r\n            download: true,\r\n            header: false,\r\n            skipEmptyLines: true,\r\n            complete: function(results) {\r\n                const rows = results.data;\r\n                const groupedData = {};\r\n                const zoneOrder = []; \/\/ \u0e40\u0e01\u0e47\u0e1a\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e42\u0e0b\u0e19\u0e15\u0e32\u0e21\u0e25\u0e33\u0e14\u0e31\u0e1a\u0e43\u0e19\u0e0a\u0e35\u0e15\r\n\r\n                \/\/ \u0e40\u0e23\u0e34\u0e48\u0e21\u0e25\u0e39\u0e1b\u0e41\u0e16\u0e27\u0e17\u0e35\u0e48 1 (index 1) \u0e02\u0e49\u0e32\u0e21\u0e41\u0e16\u0e27 0 \u0e40\u0e1e\u0e23\u0e32\u0e30\u0e2a\u0e21\u0e21\u0e15\u0e34\u0e27\u0e48\u0e32\u0e40\u0e1b\u0e47\u0e19 \"\u0e2b\u0e31\u0e27\u0e15\u0e32\u0e23\u0e32\u0e07 (Header)\"\r\n                for (let i = 1; i < rows.length; i++) {\r\n                    const row = rows[i];\r\n                    \r\n                    \/\/ \u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e27\u0e48\u0e32\u0e21\u0e35\u0e04\u0e2d\u0e25\u0e31\u0e21\u0e19\u0e4c\u0e04\u0e23\u0e1a\u0e16\u0e49\u0e27\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48\r\n                    if (row.length > NAME_COL) {\r\n                        const zone = row[ZONE_COL] ? row[ZONE_COL].trim() : '';\r\n                        const booth = row[BOOTH_COL] ? row[BOOTH_COL].trim() : '';\r\n                        const name = row[NAME_COL] ? row[NAME_COL].trim() : '';\r\n\r\n                        \/\/ \u0e02\u0e49\u0e32\u0e21\u0e41\u0e16\u0e27\u0e17\u0e35\u0e48\u0e44\u0e21\u0e48\u0e21\u0e35\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e42\u0e0b\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48\u0e21\u0e35\u0e0a\u0e37\u0e48\u0e2d\u0e23\u0e49\u0e32\u0e19\r\n                        if (!zone || !name) continue;\r\n\r\n                        \/\/ \u0e16\u0e49\u0e32\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e21\u0e35\u0e42\u0e0b\u0e19\u0e19\u0e35\u0e49 \u0e43\u0e2b\u0e49\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e2d\u0e32\u0e23\u0e4c\u0e40\u0e23\u0e22\u0e4c\u0e43\u0e2b\u0e21\u0e48 \u0e41\u0e25\u0e30\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e25\u0e33\u0e14\u0e31\u0e1a\u0e42\u0e0b\u0e19\u0e44\u0e27\u0e49\r\n                        if (!groupedData[zone]) {\r\n                            groupedData[zone] = [];\r\n                            zoneOrder.push(zone); \r\n                        }\r\n                        \r\n                        groupedData[zone].push({ booth, name });\r\n                    }\r\n                }\r\n\r\n                \/\/ 5. \u0e2a\u0e23\u0e49\u0e32\u0e07 HTML \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\r\n                let html = '';\r\n                \r\n                if(zoneOrder.length === 0) {\r\n                    container.innerHTML = '<div class=\"text-center py-10 text-gray-500 bg-gray-50 rounded-xl border border-gray-200\">\u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25 \u0e2b\u0e23\u0e37\u0e2d\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e04\u0e2d\u0e25\u0e31\u0e21\u0e19\u0e4c\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07<br>(\u0e15\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e07\u0e40\u0e1b\u0e47\u0e19: \u0e42\u0e0b\u0e19, \u0e40\u0e25\u0e02\u0e1a\u0e39\u0e18, \u0e0a\u0e37\u0e48\u0e2d\u0e23\u0e49\u0e32\u0e19)<\/div>';\r\n                    return;\r\n                }\r\n                \r\n                \/\/ \u0e27\u0e19\u0e25\u0e39\u0e1b\u0e2a\u0e23\u0e49\u0e32\u0e07 HTML \u0e15\u0e32\u0e21\u0e25\u0e33\u0e14\u0e31\u0e1a\u0e42\u0e0b\u0e19\u0e17\u0e35\u0e48\u0e42\u0e1c\u0e25\u0e48\u0e21\u0e32\u0e43\u0e19 Google Sheets\r\n                zoneOrder.forEach(zone => {\r\n                    const items = groupedData[zone];\r\n                    \/\/ \u0e14\u0e36\u0e07\u0e2a\u0e35\u0e15\u0e32\u0e21\u0e42\u0e0b\u0e19\u0e17\u0e35\u0e48\u0e15\u0e31\u0e49\u0e07\u0e44\u0e27\u0e49 \u0e16\u0e49\u0e32\u0e44\u0e21\u0e48\u0e21\u0e35\u0e43\u0e19\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e43\u0e2b\u0e49\u0e43\u0e0a\u0e49 default (\u0e2a\u0e35\u0e40\u0e17\u0e32\u0e2d\u0e48\u0e2d\u0e19)\r\n                    const style = zoneStyles[zone] || { bg: '#f3f4f6', text: '#1f2937' };\r\n                    \r\n                    html += `\r\n                    <div class=\"mb-12\">\r\n                        <div class=\"inline-flex items-center gap-2.5 px-6 py-2.5 rounded-full font-semibold text-[1.15rem] mb-6 shadow-sm\" \r\n                             style=\"background-color: ${style.bg}; color: ${style.text};\">\r\n                            ${zone}\r\n                        <\/div>\r\n                        \r\n                        <div class=\"grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-6\">`;\r\n                        \r\n                    items.forEach(item => {\r\n                        \/\/ \u0e2a\u0e31\u0e07\u0e40\u0e01\u0e15\u0e17\u0e35\u0e48 style \u0e02\u0e2d\u0e07 Booth: \u0e43\u0e0a\u0e49 style.bg \u0e41\u0e25\u0e30 style.text \u0e02\u0e2d\u0e07\u0e42\u0e0b\u0e19\u0e21\u0e32\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\r\n                        html += `\r\n                            <div class=\"flex flex-col border border-gray-100 rounded-xl p-6 bg-white shadow-[0_4px_6px_-1px_rgba(0,0,0,0.05)] hover:-translate-y-1 hover:shadow-[0_10px_15px_-3px_rgba(0,0,0,0.1)] hover:border-gray-200 transition-all duration-300\">\r\n                                <div class=\"self-start px-3 py-1 rounded-md text-[0.85rem] font-medium mb-4 tracking-[0.5px]\"\r\n                                     style=\"background-color: ${style.bg}; color: ${style.text}; border: 1px solid rgba(0,0,0,0.05);\">\r\n                                    Booth: ${item.booth}\r\n                                <\/div>\r\n                                <div class=\"text-[1.1rem] font-semibold text-gray-900 leading-[1.4]\">\r\n                                    ${item.name}\r\n                                <\/div>\r\n                            <\/div>\r\n                        `;\r\n                    });\r\n                    \r\n                    html += `<\/div><\/div>`;\r\n                });\r\n                \r\n                \/\/ \u0e19\u0e33 HTML \u0e17\u0e35\u0e48\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e22\u0e31\u0e14\u0e25\u0e07\u0e44\u0e1b\u0e43\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e27\u0e47\u0e1a\r\n                container.innerHTML = html;\r\n            },\r\n            error: function(err) {\r\n                \/\/ \u0e41\u0e2a\u0e14\u0e07\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21 Error \u0e2b\u0e32\u0e01\u0e14\u0e36\u0e07\u0e0a\u0e35\u0e15\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49 (\u0e40\u0e0a\u0e48\u0e19 \u0e25\u0e37\u0e21\u0e15\u0e31\u0e49\u0e07\u0e40\u0e1b\u0e47\u0e19 Public)\r\n                container.innerHTML = `\r\n                    <div class=\"text-center py-10 text-red-600 bg-red-50 rounded-xl border border-red-200\">\r\n                        <b>\u0e40\u0e01\u0e34\u0e14\u0e02\u0e49\u0e2d\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\u0e43\u0e19\u0e01\u0e32\u0e23\u0e42\u0e2b\u0e25\u0e14\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25!<\/b><br>\r\n                        \u0e01\u0e23\u0e38\u0e13\u0e32\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e01\u0e32\u0e23\u0e41\u0e0a\u0e23\u0e4c Google Sheets \u0e15\u0e49\u0e2d\u0e07\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e40\u0e1b\u0e47\u0e19 <u>\"\u0e17\u0e38\u0e01\u0e04\u0e19\u0e17\u0e35\u0e48\u0e21\u0e35\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e21\u0e35\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e2d\u0e48\u0e32\u0e19 (Anyone with the link)\"<\/u>\r\n                    <\/div>`;\r\n                console.error(\"Google Sheets Fetch Error:\", err);\r\n            }\r\n        });\r\n    }\r\n\r\n    \/\/ \u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e27\u0e48\u0e32\u0e40\u0e27\u0e47\u0e1a\u0e42\u0e2b\u0e25\u0e14\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e2b\u0e23\u0e37\u0e2d\u0e22\u0e31\u0e07 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e43\u0e19 Elementor \u0e2d\u0e22\u0e48\u0e32\u0e07\u0e1b\u0e25\u0e2d\u0e14\u0e20\u0e31\u0e22\r\n    if (document.readyState === 'loading') {\r\n        document.addEventListener('DOMContentLoaded', renderExhibitors);\r\n    } else {\r\n        renderExhibitors();\r\n    }\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u0e07\u0e32\u0e19\u0e41\u0e2a\u0e14\u0e07\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32\u0e2e\u0e32\u0e25\u0e32\u0e25 HALAL PRODUCTS EXHIBITION \u0e25\u0e07\u0e17\u0e30\u0e40\u0e1a\u0e35\u0e22\u0e19\u0e1c\u0e39\u0e49\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e01\u0e32\u0e23 \u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c Exhibitor List \u0e23\u0e32\u0e22\u0e0a\u0e37\u0e48\u0e2d\u0e1c\u0e39\u0e49\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e01\u0e32\u0e23<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_theme","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"unboxed","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-794","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"marosee.l","author_link":"https:\/\/halalinst.psu.ac.th\/hapex\/?author=1"},"uagb_comment_info":0,"uagb_excerpt":"\u0e07\u0e32\u0e19\u0e41\u0e2a\u0e14\u0e07\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32\u0e2e\u0e32\u0e25\u0e32\u0e25 HALAL PRODUCTS EXHIBITION \u0e25\u0e07\u0e17\u0e30\u0e40\u0e1a\u0e35\u0e22\u0e19\u0e1c\u0e39\u0e49\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e01\u0e32\u0e23 \u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c Exhibitor List \u0e23\u0e32\u0e22\u0e0a\u0e37\u0e48\u0e2d\u0e1c\u0e39\u0e49\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e01\u0e32\u0e23","_links":{"self":[{"href":"https:\/\/halalinst.psu.ac.th\/hapex\/index.php?rest_route=\/wp\/v2\/pages\/794","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/halalinst.psu.ac.th\/hapex\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/halalinst.psu.ac.th\/hapex\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/halalinst.psu.ac.th\/hapex\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/halalinst.psu.ac.th\/hapex\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=794"}],"version-history":[{"count":42,"href":"https:\/\/halalinst.psu.ac.th\/hapex\/index.php?rest_route=\/wp\/v2\/pages\/794\/revisions"}],"predecessor-version":[{"id":1644,"href":"https:\/\/halalinst.psu.ac.th\/hapex\/index.php?rest_route=\/wp\/v2\/pages\/794\/revisions\/1644"}],"wp:attachment":[{"href":"https:\/\/halalinst.psu.ac.th\/hapex\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=794"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}