ÿØÿà JFIF ÿÛ „ ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /proc/self/root/var/www/html/tien-dien/layout/visahp/ |
<?php /** * Kiểm tra xem má»™t danh mục (dá»±a trên slug) có phải là danh mục sản phẩm gốc * HOẶC là con cháu cá»§a danh mục sản phẩm gốc hay không. * * @param array $all_categories Mảng chứa tất cả các mục menu. * Má»—i mục menu con phải có Ãt nhất 'menus_id', 'menus_fname', 'menus_parentid'. * @param string $current_category_slug Slug cá»§a danh mục hiện tại cần kiểm tra. * @param int $product_root_id ID cá»§a danh mục cha gốc (và dụ: ID cá»§a "Sản phẩm"). * @return bool True nếu là danh mục sản phẩm gốc hoặc là con cháu, False nếu không phải hoặc không tìm thấy. */ function isDescendantOfProductCategory($all_categories, $current_category_slug, $product_root_id) { if (empty($all_categories) || !is_array($all_categories) || empty($current_category_slug)) { return false; } $currentItem = null; // Tìm mục menu hiện tại dá»±a trên slug foreach ($all_categories as $category) { if (isset($category['menus_fname']) && $category['menus_fname'] == $current_category_slug) { $currentItem = $category; break; } } // Nếu không tìm thấy slug hiện tại trong danh sách if ($currentItem === null) { return false; } // Nếu slug hiện tại chÃnh là danh mục gốc "Sản phẩm" if (isset($currentItem['menus_id']) && $currentItem['menus_id'] == $product_root_id) { return true; // Sá»a đổi: Trả vá» true nếu là chÃnh danh mục sản phẩm } // Bắt đầu truy ngược lên cây danh mục từ mục hiện tại $parentId = $currentItem['menus_parentid'] ?? 0; // Lặp cho đến khi lên đến cấp gốc (parentid = 0) while ($parentId != 0) { // Nếu tìm thấy ID cá»§a danh mục "Sản phẩm" trong chuá»—i cha if ($parentId == $product_root_id) { return true; } // Tìm mục cha trong mảng $all_categories $parentItem = null; foreach ($all_categories as $category) { if (isset($category['menus_id']) && $category['menus_id'] == $parentId) { $parentItem = $category; break; } } // Nếu không tìm thấy mục cha (có thể do dữ liệu không nhất quán) if ($parentItem === null) { return false; } // Di chuyển lên cấp cha tiếp theo $parentId = $parentItem['menus_parentid'] ?? 0; } // Nếu đã duyệt hết lên cấp gốc mà không tìm thấy $product_root_id return false; } ?>