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