Skip to content

This symfony bundle allows to set up a tag system quickly and easily.

License

Notifications You must be signed in to change notification settings

Coosos/TagBundle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d483129 · Jul 16, 2017

History

77 Commits
Jun 19, 2017
Jun 15, 2017
Jun 19, 2017
Jun 19, 2017
Jul 16, 2017
Jun 19, 2017
Jul 15, 2017
Jun 19, 2017
Jun 18, 2017
Jun 15, 2017
Jun 15, 2017
Jun 14, 2017
Jul 15, 2017
Jun 19, 2017
Jul 15, 2017

Repository files navigation

Coosos/TagBundle

SensioLabsInsight

TagBundle is a bundle created from the Grafikart video.

Requirements

Installation

Step 1 : Download the bundle

Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle :

$ composer require coosos/tag-bundle

This command is used if composer is installed in your system.

Step 2: Enable the Bundle

Then, enable the bundle by adding the following line in the app/AppKernel.php file of your project :

// app/AppKernel.php
// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new Coosos\TagBundle\CoososTagBundle(),
        );
        // ...
    }
    // ...
}

Step 3: Insert tag entity in your database

Use this command to insert tag entity in your database

$ php bin/console doctrine:schema:update -f

Usage

Tags fields in entity

namespace AppBundle\Entity;

use Coosos\TagBundle\Model\Taggable\TaggableTrait;

class Actuality {

    use TaggableTrait;

}

Form type

To create a field for tags, you must use a field type provided by the bundle

use Coosos\TagBundle\Form\Type\TagsType;
...
$builder->add("tags", TagsType::class);

Options

Configuration list
Config name Default value Values Description
coosos_tag_auto_complete true true | false If you want to use auto completion
coosos_tag_persist_new true true | false If you want the tags not exist is created
coosos_tag_category "default" string If you want to separate tags in different categories
Usage
$builder->add("tags", TagsType::class, [
    ...,
    "coosos_tag_auto_complete"  => false,
    "coosos_tag_persist_new"    => false,
    "coosos_tag_category"       => "House"
]);

Routing

You must include the route to the bundle controller

# app/config/routing.yml

tag:
    resource: "@CoososTagBundle/Controller/"
    type: annotation

Form theme

You must have jQuery tagEditor included in your project

twig:
    form_themes:
        - "CoososTagBundle:Form:fields.html.twig"
Auto complete

The auto completion uses the library jQuery UI Autocomplete

About

This symfony bundle allows to set up a tag system quickly and easily.

Resources

License

Stars

Watchers

Forks

Packages

No packages published