Posty
- routy:
/routes/vendor/icore/web/posts.php
/routes/vendor/icore/admin/posts.php
- kontrolery:
N1ebieski\ICore\Http\Controllers\Web\PostController
N1ebieski\ICore\Http\Controllers\Admin\PostController
- model:
N1ebieski\ICore\Models\Post
- widoki:
/resources/views/vendor/icore/web/post
/resources/views/vendor/icore/admin/post
- pliki językowe:
/resources/lang/vendor/icore/pl/posts.php
/resources/lang/vendor/icore/en/posts.php
# Opis
Moduł mini bloga umożliwia moderatorom dodawanie postów, które zostają zaprezentowane użytkownikom na stronie. Moderator ma możliwość pełnej lub szybkiej (asynchronicznie z użyciem AJAX) edycji postów z poziomu panelu administracyjnego. Może filtrować listę w oparciu o różne parametry. Może asynchronicznie aktywować/deaktywować lub usunąć posty.
Posty zostają dodane do kategorii tematycznych, oraz tagów. Domyślnie model zapisuje między innymi tytuł, treść, datę publikacji (w tym jako zaplanowaną).
# 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
- nieaktywny - zaplanowany - niewidoczny na stronie do momentu publikacji (można określić dzień i godzinę), publikacją zajmuje się zadanie cron
W przypadku statusu aktywny lub zaplanowany należy podać datę publikacji.
# Uprawnienia
- admin.* - dostęp do wszystkich funkcjonalności panelu administracyjnego
- admin.access - dostęp do panelu administracyjnego
- admin.posts.* - dostęp do wszystkich funkcjonalności postów w panelu administracyjnym
- admin.posts.view - dostęp do listy postów w panelu administracyjnym
- admin.posts.create - dostęp do dodawania postów w panelu administracyjnym
- admin.posts.status - dostęp do aktywacji/deaktywacji postów w panelu administracyjnym
- admin.posts.edit - dostęp do edycji postów w panelu administracyjnym
- admin.posts.delete - dostęp do usuwania postów w panelu administracyjnym
# Opcje formularza
Z poziomu pliku .env w głównym folderze aplikacji:
- maksymalna ilość tagów:
ICORE_POST_MAX_TAGS=10
- maksymalna ilość przypisanych kategorii:
ICORE_POST_MAX_CATEGORIES=5
- maksymalna długość opisu skróconego (zawsze bez tagów html):
ICORE_POST_SHORT_CONTENT=500
# Dynamiczne elementy w treści
W przypadku, gdy w treści kilku postów 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 posta klucza :home spowoduje, że zostanie on zamieniony na link do strony głównej.
# 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 postów 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