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