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