@php // blade za elemente, ki vsebujejo samo besedilo, npr. text, title, page_title, summary, cta_button, more_link // vsi ti elementi dobijo tiny editor, ki je za določene tipe dokumentov morda omejen (npr. v cta_button ne moreš izbrati slogov h2, h3, ...) /** @var App\Models\Page $page */ /** @var App\Models\Page $parent */ /** @var App\Models\Page $grandparent */ // $mode je lahko 'html', 'plain' ali 'readonly' $mode = $mode ?? 'html'; $element_type = $page->element_type_key; $content_type = App\Classes\Prefs::$web_page_element_types[$element_type]['content_type'] ?? 'text'; $style = ''; // potrebujemo, če je $context == 'mail' $tag = 'div'; if($element_type == 'page_title' and ( in_array($parent?->element_type, App\Classes\Prefs::$web_page_children_types) or in_array($grandparent?->element_type, App\Classes\Prefs::$web_page_children_types) )) { $tag = 'h1'; if($context == 'mail') { $style = 'line-height: 1.3em; margin: 0; width: 100%;font-size: 2.50em;'; if(App\Classes\Site::KarpoSi()) { $style.= 'font-weight: 600; font-size: 3.0em;'; } } } else if($element_type == 'title') { $tag = 'h2'; if($context == 'mail') { $style = 'line-height: 1.3em; margin: 0; width: 100%;font-size: 1.80em;'; if(App\Classes\Site::KarpoSi()) { $style.= 'font-weight: 600; font-size: 2.2em;'; } } } else if($element_type == 'subtitle' or $element_type == 'page_title') { $tag = 'h3'; if($context == 'mail') { $style = 'line-height: 1.3em; margin: 0; width: 100%;font-size: 1.60em;'; if(App\Classes\Site::KarpoSi()) { $style.= 'font-weight: 600; font-size: 1.8em;'; } } } else if($element_type == 'subsubtitle') { $tag = 'h4'; if($context == 'mail') { $style = 'line-height: 1.3em; margin: 0; width: 100%;font-size: 1.45em;'; if(App\Classes\Site::KarpoSi()) { $style.= 'font-weight: 600; font-size: 1.2em;'; } } } else if($element_type == 'faq_question_text') { $tag = 'h4'; if($context == 'mail') { $style = 'line-height: 1.3em; margin: 0; width: 100%;font-size: 1.45em;'; // TODO: prilagodi format, ker mora biti manjši, kot je sicer h4 if(App\Classes\Site::KarpoSi()) { $style.= 'font-weight: 600; font-size: 1.2em;'; } // TODO: prilagodi format, ker mora biti manjši, kot je sicer h4 } // } else if($element_type == 'more_link') { // $tag = 'a'; } if($page->is_content_copy) { // besedilo je vezano na stran, torej v bistvu na naslov strani (ker ni nujno, da je na strani dejanski element z naslovom) $converted_content = $page->content_page->getContent($content_type, $mode, convert: true); $unconverted_content = $page->content_page->getContent($content_type, $mode, convert: false); $converted_tooltip = $page->content_page->getContent('tooltip', $mode, convert: true); $page_id = $page->content_page->id; } else if(in_array($element_type, ['product_description', 'product_short_descr', 'product_highlights'])) { $converted_content = $page->product_page->getContent($content_type, $mode, convert: true); $unconverted_content = $page->product_page->getContent($content_type, $mode, convert: false); $converted_tooltip = $page->product_page->getContent('tooltip', $mode, convert: true); $page_id = $page->product_page->id; } else { $converted_content = $page->getContent(type: $content_type, mode: $mode, convert: true); $unconverted_content = $page->getContent(type: $content_type, mode: $mode, convert: false); $converted_tooltip = $page->getContent(type: 'tooltip', mode: $mode, convert: true); $page_id = $page->id; } // če gre za naslov ali podnaslov in nimamo vsebine, poiščimo naslov ustrezne strani if(is_null($converted_content) and in_array($element_type, ['page_title', 'title', 'subtitle', 'subsubtitle'])) { /** @var App\Models\Page $current_page */ if($content_type == 'menu_item_title') { $title_page = $page; } else { $title_page = $page->parent; } $title = $title_page->title; while($title_page and !$title) { if($title_page->id == $current_page->id) { break; } if(!$title_page->parent) { break; } $title_page = $title_page->parent; $title = $title_page->title; } // if($title_page->id != $current_page->id) { // $tag = 'h4'; // } $converted_content = $title_page->getContent($content_type, $mode, convert: true); $unconverted_content = $title_page->getContent($content_type, $mode, convert: false); $converted_tooltip = $title_page->getContent('tooltip', $mode, convert: true); // $page_id = $title_page->id; } // dump($element_type, // $page->id.'|'.$page->content_id.'|'.$page->parent_id.'|'.$page->parent?->id, // $page->parent?->id.'|'.$page->parent?->content_id.'|'.$page->parent?->parent_id.'|'.$page->parent?->parent?->id, // $page->parent?->parent?->id.'|'.$page->parent?->parent?->content_id.'|'.$page->parent?->parent?->parent_id.'|'.$page->parent?->parent?->parent?->id, // $page->parent?->parent?->parent?->id.'|'.$page->parent?->parent?->parent?->content_id.'|'.$page->parent?->parent?->parent?->parent_id.'|'.$page->parent?->parent?->parent?->parent?->id, // $page->parent?->parent?->parent?->parent?->id.'|'.$page->parent?->parent?->parent?->parent?->content_id.'|'.$page->parent?->parent?->parent?->parent?->parent_id.'|'.$page->parent?->parent?->parent?->parent?->parent?->id, // ); if($element_type == 'more_link' and is_null($converted_content)) { $converted_content = __('edit.content_templates.more_link.0'); $unconverted_content = __('edit.content_templates.more_link.0'); } // if(filter_var($converted_content, FILTER_VALIDATE_EMAIL) !== false) { // // besedilo je email, vstavimo ga v span z white-space nowrap, da se ne more deliti, če domena vsebuje pomišljaj // $converted_content = ''.$converted_content.''; // } // določimo še inline style v primeru, da delamo mail if(($context ?? null) == 'mail') { if($classes['element_styles']['a'] ?? null) { $converted_content = str_replace('icon_class ?? App\Classes\Prefs::$web_page_element_types[$page->element_type_key]['icon_class'] ?? null; @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(/*$element_type == 'cta_button' && */ $icon_class) @if(str_starts_with($icon_class, 'ms:')) {{-- Material Symbols icons --}} {{substr($icon_class, 3)}}{!! $content['text'] ?? null !!} @else {{-- IcoMoon liteness-icons --}} {!! $content['text'] ?? null !!} @endif @endif {{-- element za edit mode - če sploh smo v edit_mode; WARNING: znotraj taga ne sme biti presledkov, sicer brskalnik tega ne zazna kot :empty --}} @if($edit_mode and !$page->combined_restrictions->contains('edit_text')) <{{$tag}} class="mnm-edit-inline" data-table-name="pages" data-table-id="{{$page_id}}" data-element_type="{{$element_type ?? ''}}" data-content_type="{{$content_type ?? ''}}" data-section="{{$section ?? ''}}" style="{{ $style }}" title="{{ $converted_tooltip }}" >{!! $unconverted_content ?? null !!} @endif {{-- element za non-edit mode; WARNING: znotraj taga ne sme biti presledkov, sicer brskalnik tega ne zazna kot :empty --}} <{{$tag}} class="{{ ($mode == 'html') ? 'mnm-non-edit-inline' : '' }}" style="{{ $style }}" title="{{ $converted_tooltip }}" >{!! $converted_content ?? null !!}