@php if(empty($field)){ $field = 'link'; } if(empty($label)){ $label = 'Url'; } $languages = LaravelLocalization::getLocalesOrder(); $pages = get_pages(); $pages_app = [ 'app.home' => 'Home', 'app.auth.login' => 'Login', 'app.auth.logout' => 'Logout', 'app.catalog' => 'Catalogo', 'app.customers' => 'Clienti', 'app.orders' => 'Ordini', 'app.cart' => 'Carrello', 'app.cart-list' => 'Lista carrelli' ]; $pages_list = []; foreach ($pages as $page) { $pages_list[$page->get_id()] = $page->get_title('it', true) . ' ['.$page->get_id().']'; } $pages_list = array_merge($pages_app, $pages_list); $connection = new Connection(); $products_categories = $connection->get('categories', []); $products_categories = !empty($products_categories['contents']) ? $products_categories['contents'] : []; $products_categories_list = ['' => '']; foreach ($products_categories as $category) { $products_categories_list[$category['sku']] = $category['name'] . ' ['.$category['sku'].']'; } $products_seasons = $connection->get('seasons', []); $products_seasons = !empty($products_seasons['contents']) ? $products_seasons['contents'] : []; $products_seasons_list = ['' => '']; foreach ($products_seasons as $season) { $products_seasons_list[$season['sku']] = $season['name'] . ' ['.$season['sku'].']'; } $products_lines = $connection->get('lines', []); $products_lines = !empty($products_lines['contents']) ? $products_lines['contents'] : []; $products_lines_list = ['' => '']; foreach ($products_lines as $line) { $products_lines_list[$line['sku']] = $line['name'] . ' ['.$line['sku'].']'; } $products = $connection->get('products', ['fields' => 'base_info']); $products = !empty($products['contents']) ? $products['contents'] : []; $products_list = ['' => '']; foreach ($products as $product) { $products_list[$product['id']] = $product['sku']; } $products_attributes = $connection->get('attributes', []); $products_attributes = !empty($products_attributes['contents']) ? $products_attributes['contents'] : []; foreach ($products_attributes as $attribute) { ${'products_attributes_' . strtolower($attribute['sku']) . '_list'} = ['' => '']; ${'type_products_attributes_' . strtolower($attribute['sku'])} = false; ${'url_products_attributes_' . strtolower($attribute['sku'])} = ''; $terms = !empty($attribute['terms']) ? $attribute['terms'] : []; foreach ($terms as $term) { ${'products_attributes_' . strtolower($attribute['sku']) . '_list'}[strtolower($attribute['sku']). '|' .strtolower($term['sku'])] = $term['name']; } } $title = ''; $type = 'none'; $target = '_self'; $url = ''; $type_none= true; $type_link = false; $type_pages = false; $type_products_categories = false; $type_products_seasons = false; $type_products_lines = false; $type_products = false; $url_link = ''; $url_pages = ''; $url_products_categories = ''; $url_products_seasons = ''; $url_products_lines = ''; $url_products = ''; if(!empty($settings[$field])){ $title = !isset($settings[$field]['title']) ? '' : $settings[$field]['title']; $type = !isset($settings[$field]['type']) ? '' : $settings[$field]['type']; $target = !isset($settings[$field]['target']) ? '' : $settings[$field]['target']; $url = !isset($settings[$field]['url']) ? '' : $settings[$field]['url']; if($type == 'link'){ $type_none = false; $type_link = true; $url_link = $url; } if($type == 'pages'){ $type_none = false; $type_pages = true; $url_pages = $url; } if($type == 'products_categories'){ $type_none = false; $type_products_categories = true; $url_products_categories = $url; } if($type == 'products_seasons'){ $type_none = false; $type_products_seasons = true; $url_products_seasons = $url; } if($type == 'products_lines'){ $type_none = false; $type_products_lines = true; $url_products_lines = $url; } if($type == 'products'){ $type_none = false; $type_products = true; $url_products = $url; } foreach ($products_attributes as $attribute) { if($type == 'products_attributes_' . strtolower($attribute['sku'])){ $type_none = false; ${'type_products_attributes_' . strtolower($attribute['sku'])} = true; ${'url_products_attributes_' . strtolower($attribute['sku'])} = $url; } } } $type_text_info = ''; $url_text_info = ''; if (str_starts_with($type, 'products_attributes_')) { $url_products_attributes = ${'url_' . $type}; $type = 'products_attributes'; } switch ($type) { case 'none': $type_text_info = 'Nessuno'; $url_text_info = ''; break; case 'link': $type_text_info = 'Link'; $url_text_info = $url; break; case 'pages': $type_text_info = 'Pagina'; if(!empty($url_pages)){ if(str_starts_with($url_pages, 'app.')){ $url_text_info = route(substr($url_pages, 4)); }else{ $page = get_page($url_pages); if($page !== false){ $url_text_info = $page->get_url('it', true); } } } break; case 'products_categories': $type_text_info = 'Categoria'; if(!empty($url_products_categories)){ $url_text_info = get_api_url('products_categories', $url_products_categories); } break; case 'products_seasons': $type_text_info = 'Stagione'; if(!empty($url_products_seasons)){ $url_text_info = get_api_url('products_seasons', $url_products_seasons); } break; case 'products_lines': $type_text_info = 'Linea'; if(!empty($url_products_lines)){ $url_text_info = get_api_url('products_lines', $url_products_lines); } break; case 'products': $type_text_info = 'Prodotto'; if(!empty($url_products)){ $url_text_info = route('product', $url_products); } break; case 'products_attributes': $type_text_info = 'Attributo'; $attribute = explode('|', $url_products_attributes); $url_text_info = get_api_url('products_attributes', $attribute[0], $attribute[1]); break; } @endphp