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
  • cache:
    N1ebieski\ICore\Cache\PageCache
  • repozytorium:
    N1ebieski\ICore\Repositories\PageRepo
  • serwis:
    N1ebieski\ICore\Services\PageService
  • 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ć/deaktywować 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.access - dostęp do 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 a sama nie posiadać ż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