heimrichhannot/contao-categories-bundle

This bundle allows to assign nestable categories to arbitrary entities in Contao-driven systems.

Package info

github.com/heimrichhannot/contao-categories-bundle

Type:contao-bundle

pkg:composer/heimrichhannot/contao-categories-bundle

Statistics

Installs: 6 773

Dependents: 3

Suggesters: 2

Stars: 4

Open Issues: 3

1.4.6 2023-07-04 08:08 UTC

Requires (Dev)

None

Suggests

Provides

None

Conflicts

None

Replaces

None

LGPL-3.0-or-later 5fc7080c0dc755512c3df263c31f406b6c16a198


README

👁 Image
👁 Image

This bundle allows to assign nestable categories to arbitrary entities in Contao-driven systems.

Features

  • the module is done in a generic way, i.e. you can assign category/categories field(s) to arbitrary DCAs
  • conveniently add single category fields (radio button) or multiple categories fields (checkbox) via a simple function call
  • specify overridable properties in categories and compute the correct result depending on the given context easily
  • multilanguage support via heimrichhannot/contao-categories-multilingual-bundle
  • categories filter type for Contao Filter Bundle

Impressions

Category management

👁 alt preview

Main category management view. By clicking the cog icon you can navigate to the category configs.

Widget integration in your DCA

👁 alt preview

Add category fields to your DCA easily. The category marked as primary category is colored in green.

Picker widgets

👁 alt preview

Single category picker with radio buttons (selecting parent categories is allowed -> can be disallowed if necessary; no primary category marker necessary)

👁 alt preview

Single category picker with checkboxes (selecting parent categories is disallowed; the yellow asterisk marks the primary category -> this attribute is stored to an automatically created field named <categoriesFieldname>_primary)

Usage

Install

  1. Install bundle with composer or contao manager

    composer require heimrichhannot/contao-categories-bundle
    
  2. Update database

  3. Add category support to the datacontainer you want, e.g. news

Filter bundle integration

This bundle comes with two filter types:

  • CategoryChoiceType let you select categories to filter a list.
  • ParentCategoryChoiceType is an inital filter to filter your list based on a parent category (means all elements are in a child category of the selected parent).

Entity structure

👁 alt entities

Table Description
tl_category Contains the category instances
tl_category_association Association table between tl_category and your DCA's table
tl_category_context Defines context keys (simple strings) usable in category configs
tl_category_config Contains category configs. Here you can override properties defined per default in a category linked with a certain category context
tl_category_property_cache Contains the resolved overridable property values

Documentation

Concepts

Technical instructions

Guide: News categories field