@php // Ta blade se uporabi, če za posamični element ne obstaja ločen blade (npr. če ne obstaja column.blade, se namesto njega uporabi ta) /** @var \App\Models\Page $page */ if(!App::isLocal() and !App\Classes\Prefs::$web_edit_mode and App\Classes\Prefs::$coming_soon_mode and in_array($page->id, [ App\Classes\Prefs::$web_pages['footer']['id'], App\Classes\Prefs::$web_pages['header_second_column_menu']['id'], App\Classes\Prefs::$web_pages['header_fourth_column_frame']['id'], ]) and !(App\Models\UniqueIdentifier::getValidRecord($request->uuid, 'pages')) ) { // določeni deli glave in footer se ne sme prikazati, če smo v coming_soon_mode in nismo v načinu urejanja (coming_soon mode nikoli ne deluje v lokalnem okolju) $render_page = null; $content_page = null; } else if($page->is_bound_copy) { // bound_copy ima dva načina: // - lahko je element tipa bound_copy, ki (skoraj) vse lastnosti prevzame iz originala, // - lahko pa je kateri koli drugi element, ki le vsebino in otroke prevzame iz originala, lastnosti pa ima lastne if($page->element_type_key == 'bound_copy') { // izrisati moramo natančno tak element, kot je originalni $render_page = $page->original_page; $content_page = $page->original_page; } else { // izrisati moramo element tipa $page->element_type_key, ki pa vsebino in otroke pobere iz ->original_page $render_page = $page; $content_page = $page->original_page; } } else { // element ni vezana kopija, normalno ga izrišemo $render_page = $page; $content_page = $page; } if($render_page) { \App\Http\Middleware\MonimaTiming::mark(file: 'element.blade'); $section = $section ?? 'main'; $classes = $render_page->getClassesAndStyles(type: $render_page->element_type_key, loop: $loop ?? null, section: $section ?? null, parent: $parent ?? null, bound_copy_descendant: $bound_copy_descendant ?? null); \App\Http\Middleware\MonimaTiming::mark(file: 'element.blade'); $element_name = 'div'; if($render_page->element_type_key == 'block' and $section == 'headers') { $element_name = 'header'; } else if($render_page->element_type_key == 'block' and $section == 'footers') { $element_name = 'footer'; } else if($render_page->element_type_key == 'form') { $element_name = 'form method=POST action=/'; // s tem prepečimo, da bi npr. pajki lahko odposlali formo s form.submit(), ker Laravel nima POST Route za / } // če element, njegov starš ali stari starš predstavlja povezavo na stran, moramo preko besedila napopati link (samo za določene tipe, npr. naslov, slika, ...) $uri = $render_page->elementUri($current_page); if($uri['address'] and ($context ?? null) != 'mail') { $classes['classes'] .= ' mnm-element-with-link'; } $blade = App\Classes\Prefs::$web_page_element_types[$render_page->element_type_key]['blade'] ?? $render_page->element_type_key; } \App\Http\Middleware\MonimaTiming::mark(file: 'element.blade'); @endphp {{-- komentar za lažje urejanje v Developer Tools - takoj za @endphp --}} @if(!empty(App\Classes\Prefs::$web_edit_mode) or App::isLocal()) @endif @if($render_page) {{--