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

Початок роботи

Вимоги

  • Evolution CMS 3.2.0+
  • PHP 8.2+
  • Composer 2.2+
  • Одна з: MySQL 8.0+ / MariaDB 10.5+ / PostgreSQL 10+ / SQLite 3.25+

Де знайти модуль

Менеджер → Інструменти → Мультисайт. Ви побачите вкладку для налаштування.

Встановлення пакета за допомогою artisan

Перейдіть до директорії /core/

cd core
composer update

Виконайте команди php artisan

php artisan package:installrequire seiger/smultisite "*"
php artisan vendor:publish --tag="sMultitisite"
php artisan migrate

Доступні значення

$currentDomainKey = evo()->getConfig('site_key');
$currentDomainName = evo()->getConfig('site_name');
$currentDomainHomePage = evo()->getConfig('site_start');
$currentDomainNotFoundPage = evo()->getConfig('error_page');
$currentDomainUnauthorizedPage = evo()->getConfig('неавторизована_сторінка');

Конфігурація у фронтенді

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

@foreach(sMultitisite::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

Цей метод sMultitisite::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
]
]

Більше прикладів на сторінці Використання в Blade.

Додатково

Якщо ви напишете власний код, який може інтегруватися з плагіном sMultisite, ви можете перевірити наявність цього модуля в системі через змінну конфігурації.

if (evo()->getConfig('check_sMultisite', false)) {
// Ваш код
}

Якщо плагін встановлено, результат evo()->getConfig('check_sMultisite', false) завжди буде true. В іншому випадку ви отримаєте false значення.