coosos / tag-bundle
Symfony TagBundle
Installs: 427
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=7.0
- doctrine/doctrine-bundle: ^1.6
- doctrine/orm: ^2.5
- sensio/framework-extra-bundle: >=3.0
- symfony/form: ^3.0
- symfony/framework-bundle: ^3.0
- twig/extensions: ^1.5
Requires (Dev)
- phpunit/phpunit: ^6.2
README
TagBundle is a bundle created from the Grafikart video.
Requirements
- Symfony 3.0 and greater
- PHP 7.0 and greater
- jQuery tagEditor (optional)
- jQuery UI Autocomplete (optional)
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
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