Download the PHP package sylvainjule/categories without Composer
On this page you can find all versions of the php package sylvainjule/categories. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download sylvainjule/categories
More information about sylvainjule/categories
Files in sylvainjule/categories
Package categories
Short Description Create and manage multi-language categories in Kirby
License MIT
Informations about the package categories
Kirby Translated Categories
This plugin helps dealing with translated categories, providing a field with cross-languages sync + unique ids, and a few field methods.
Overview
This plugin is completely free and published under the MIT license. However, if you are using it in a commercial project and want to help me keep up with maintenance, please consider making a donation of your choice or purchasing your license(s) through my affiliate link.
- 1. Installation
- 2. Panel setup
- 3. Options
- 4. Frontend usage
- 5. Alternatives
- 6. License
1. Installation
Download and copy this repository to
Alternatively, you can install it with composer:
2. Panel setup
The intent of the categories
field is to allow an editor to easily create and manage multi-language categories, while keeping the field's content synced between languages in order to keep IDs unique. It will only work in multi-language setups.
It requires two steps:
First, add the field anywhere in your blueprints:
Second, you need to tell the plugin which template => fieldname
to watch and sync accross languages, by adding this option to your config file:
For example, if you have a blog
template with a categories
field, and a projects
template with clients
+ techniques
fields, you will need to set:
You can then set the categories created with the field as dynamic options of select
, multiselect
, checkboxes
, etc.
3. Options
3.1. Prefix
The plugin stores an ID for each list item : {{prefix}}-{{index}}
. The index is automatically incremented everytime a new category is added, but you can choose the prefix you'd like for each field (default is category-
):
3.2. defaultFirst
By default, languages are displayed in alphabetical order. If you want to have the default language appear first, set this option to true
. Default is false
.
4. Frontend usage
There are few available methods to make handling categories easier. To get the whole categories list:
From there you have access to a Structure Object with the following properties:
If you have set a select
, multiselect
, checkboxes
, etc. options from a categories field, the field will have stored the ID of the category. To get the text from there:
5. Alternatives
The plugin aims to solve a very specific use-case: managing single-text categories. If you need to have more data associated with each category, this is not the one.
In this case I'd recommend working with pages + autoid, one page per category where you can associate as much metadata as you'd like. You will need to remove them from your index / searchable pages / … later on.
Let me know if you have other convenient ways to deal with complex multi-language categories, I'll add them here.
6. License
MIT