Podstrony
- routy:
/routes/vendor/icore/web/pages.php
/routes/vendor/icore/admin/pages.php
- kontrolery:
N1ebieski\ICore\Http\Controllers\Web\PageController
N1ebieski\ICore\Http\Controllers\Admin\PageController
- model:
N1ebieski\ICore\Models\Page\Page
- widoki:
/resources/views/vendor/icore/web/page
/resources/views/vendor/icore/admin/page
- pliki językowe:
/resources/lang/vendor/icore/pl/pages.php
/resources/lang/vendor/icore/en/pages.php
# Opis
iCore umożliwia moderatorom dodawanie statycznych podstron, które zostają zaprezentowane użytkownikom na stronie. W zależności od komponentu, linki do podstron zostaną umieszczone w navbarze bądź w footerze. Moderator ma możliwość pełnej lub szybkiej (asynchronicznie z użyciem AJAX) edycji podstron z poziomu panelu administracyjnego. Może filtrować listę w oparciu o różne parametry. Może asynchronicznie aktywować/dezaktywować lub usunąć podstrony. Może ustawiać pozycję poszczególnych podstron; w tej kolejności prezentowane są użytkownikowi w komponentach.
Podstrony działają z użyciem wzorca Closure Table to znaczy, że można budować hierarchię, na przykład: podstrona główna jako rodzic zawiera podstronę 1 i podstronę 2, z kolei podstrona 2 zawiera podstronę 3 itd.
Podstrony mogą zawierać tagi. Domyślnie model zapisuje między innymi tytuł oraz treść.
# Statusy
- aktywny - widoczny na stronie dla wszystkich użytkowników
- nieaktywny - niewidoczny na stronie; widoczny wyłącznie w panelu administracyjnym dla redaktorów z odpowiednim uprawnieniem
# Uprawnienia
- admin.* - dostęp do wszystkich funkcjonalności panelu administracyjnego
- admin.pages.* - dostęp do wszystkich funkcjonalności podstron w panelu administracyjnym
- admin.pages.view - dostęp do listy podstron w panelu administracyjnym
- admin.pages.create - dostęp do dodawania podstron w panelu administracyjnym
- admin.pages.status - dostęp do aktywacji/deaktywacji podstron w panelu administracyjnym
- admin.pages.edit - dostęp do edycji podstrony w panelu administracyjnym
- admin.pages.delete - dostęp do usuwania podstron w panelu administracyjnym
# Opcje formularza
Z poziomu pliku .env w głównym folderze aplikacji:
- maksymalna ilość tagów:
ICORE_PAGE_MAX_TAGS=10
# Dynamiczne elementy w treści
W przypadku, gdy w treści kilku podstron zamierzamy wstawiać tą samą wartość, albo zakładamy, że może się ona w przyszłości zmienić, można z poziomu pliku /config/icore.php skonfigurować specjalne klucze:
'replacement' => [
':home' => '<a href="' . env('APP_URL') . '">' . env('APP_NAME') . '</a>',
],
W powyższym przykładzie wstawienie w treści podstrony klucza :home spowoduje, że zostanie on zamieniony na link do strony głównej.
# Podstrona jako wyłącznie rodzic dla innych podstron
Jeśli jakaś podstrona ma tylko grupować inne podstrony w hierarchii bez zawierania żadnej treści, wystarczy pozostawić pole Opis puste. Wówczas taka podstrona zostanie wyświetlona w komponentach tylko jako nagłówek bez linka.
# Podstrona jako przekierowanie do innej strony
Jeśli jakaś podstrona ma tylko przekierować na inną stronę, wystarczy w pole Opis wkleić bezpośredni adres do której ma kierować. Wówczas link do takiej podstrony przekieruje z użyciem statusu 301 do adresu podanego w panelu administracyjnym.
# Konfiguracja edytora treści WYSIWYG
Zgodnie z dokumentacją pluginu Trumbowyg z poziomu assetu JS:
/resources/js/vendor/icore/admin/scripts/plugins/trumbowyg.js
# Obrazy
Wszystkie obrazy w treści podstron są automatycznie konfigurowane do trybu lazy load (wczytywane na urządzeniu klienckim dopiero w momencie zescrollowania do miejsca ich wstawienia) oraz do trybu lightbox (możliwość powiększenia i przeglądania galerii w formie slajdera).
Konfiguracja lazy load zgodnie z dokumentacją pluginu JQuery Lazy z poziomu assetu JS:
/resources/js/vendor/icore/web/scripts/plugins/jquery-lazy.js
Konfiguracja lightbox zgodnie z dokumentacją pluginu Magnetic popup z poziomu assetu JS:
/resources/js/vendor/icore/web/scripts/plugins/magnetic-popup.js