Перейти до основного вмісту

Використання в Blade

Ви можете використовувати різні шаблони для кожного домену. Але якщо ваші шаблони ідентичні, ви можете надати їм функцій, динамічно замінюючи елементи дизайну.

Показати всі домени

Використайте цей приклад коду для відображення всіх активних доменів:

@foreach(sMultisite::domains() as $domain)
<a href="{{$domain['link']}}" class="@if($domain['is_current']) active @endif">
<img src="/img/logo-{{$domain['key']}}.svg" alt="" />
<span>{{$domain['site_name']}}</span>
</a>
@endforeach

Цей метод sMultisite::domains() повертає список активних доменів у вигляді масиву:

array:2 [▼
"default" => array:4 [▼
"key" => "default"
"link" => "https://default.example.com"
"site_name" => "Default Example Website"
"is_current" => true
]
"example" => array:4 [▼
"key" => "example"
"link" => "https://example.example.com"
"site_name" => "Example Example Website"
"is_current" => false
]
]

У цьому масиві:

  • key є унікальним ключем для домену;
  • link є хостом домену з протоколом. Протокол налаштовується в Панель адміністратора -> Конфігурація системи -> Сайт -> Тип сервера;
  • site_name це налаштування назви сайту;
  • is_current Цей параметр має значення true, якщо хост домену дорівнює поточному імені хоста сервера;

Partials (Chunks)

@include('partials.'.evo()->getConfig('site_key').'.header_nav')

Головний логотип

@if(evo()->documentIdentifier == evo()->getConfig('site_start'))
<span class="header__logo">
@else
<a href="{{url(evo()->getConfig('site_start'), '', '', 'full')}}" class="header__logo">
@endif
<img src="/img/main-logo-{{evo()->getConfig('site_key')}}.svg" alt="{{evo()->getConfig('site_name')}} logo" />
@if(evo()->documentIdentifier == evo()->getConfig('site_start'))
</span>
@else
</a>
@endif