Kategorie
- routy:
/routes/vendor/icore/web/categories.php
/routes/vendor/icore/admin/categories.php
- kontrolery:
N1ebieski\ICore\Http\Controllers\Web\Category\Post\CategoryController
N1ebieski\ICore\Http\Controllers\Admin\
Category\Post\CategoryController
- model:
N1ebieski\ICore\Models\Category\Post\Category
- widoki:
/resources/views/vendor/icore/web/category
/resources/views/vendor/icore/admin/category
- pliki językowe:
/resources/lang/vendor/icore/pl/categories.php
/resources/lang/vendor/icore/en/categories.php
# Opis
Kategorie porządkują treść (w tym posty) na stronie. Kategorie są prezentowane użytkownikom na stronie za pomocą komponentów. Moderator ma możliwość utworzenia pojedynczej kategorii, bądź zaimportowanie wielu w formacie json. Może asynchronicznie aktywować/dezaktywować, edytować oraz usunąć kategorie. Może filtrować listę w oparciu o różne parametry. Może ustawiać pozycję poszczególnych kategorii; w tej kolejności prezentowane są użytkownikowi w komponentach.
Kategorie działają z użyciem wzorca Closure Table to znaczy, że można budować hierarchię, na przykład: kategoria główna jako rodzic zawiera kategorię 1 i kategorię 2, z kolei kategoria 2 zawiera kategorię 3 itd.
# Statusy
- aktywny - widoczny na stronie dla wszystkich użytkowników
- nieaktywny - niewidoczny na stronie; widoczny wyłącznie w panelu administracyjnym dla moderatorów z odpowiednim uprawnieniem
# Uprawnienia
- admin.* - dostęp do wszystkich funkcjonalności panelu administracyjnego
- admin.categories.* - dostęp do wszystkich funkcjonalności kategorii w panelu administracyjnym
- admin.ategories.view - dostęp do listy kategorii w panelu administracyjnym
- admin.categories.create - dostęp do dodawania kategorii w panelu administracyjnym
- admin.categories.status - dostęp do aktywacji/deaktywacji kategorii w panelu administracyjnym
- admin.categories.edit - dostęp do edycji kategorii w panelu administracyjnym
- admin.categories.delete - dostęp do usuwania kategorii w panelu administracyjnym
# Dodawanie wielu kategorii
W przypadku dużej liczby kategorii, można skorzystać z opcji importu kategorii. Aby skorzystać z tej opcji należy w oknie dodawania kategorii wybrać zakładkę "Masowo", a następnie wstawić drzewo kategorii w formacie JSON lub TXT. Przykładowa prawidłowa struktura przedstawiona jest na poniższym przykładzie:
[
{
"name": "Rodzic 1",
"children": [
{
"name": "Dziecko 1"
},
{
"name": "Dziecko 2"
}
]
},
{
"name": "Rodzic 2"
}
]
Kategoria 1
Kategoria 2
Kategoria 3
Format TXT ze względu na "płaską" strukturę nazw kategorii nie pozwala na dodanie kategorii potomnych.
W dodatkowych opcjach formularza można określić do jakiej istniejącej już kategorii aplikacja ma zaimportować listę lub czy ma usunąć dotychczasowe kategorie.
# Konfiguracja autocomplete kategorii
Wybór kategorii działa w oparciu o plugin ajax-bootstrap-select z poziomu assetu JS:
/resources/js/vendor/icore/web/scripts/plugins/bootstrap-select/category.js