Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
SilverStripe module for editing tags (both in the CMS and other forms)
PHP Shell JavaScript CSS
Failed to load latest commit information.
code 3.1 $allowed_action changes compatibility
css MINOR: Updated the tag css to look nicer and easier to read.
javascript
lang MINOR Added language tables for TagField
tests 3.1 compatibility
thirdparty/jquery-tags BUGFIX Fixed ajax suggestion link in field
.travis.yml Merge remote-tracking branch 'origin/0.4'
CHANGELOG MINOR updated changelog
LICENSE ENHANCEMENT Improved customTag support
README.md Fixed travis build URL
_config.php moved tagfield into proper folder structure
composer.json Fix composer constraints

README.md

TagField Module

Build Status

Maintainer Contact

  • Ingo Schommer (Nickname: ischommer)

Requirements

  • SilverStripe 3.0 or newer
  • Database: MySQL 5+, SQLite3, Postgres 8.3, SQL Server 2008

Download/Information

Introduction

Provides a Formfield for saving a string of tags into either a many_many relationship or a text property. By default, tags are separated by whitespace. Check out a http://remysharp.com/wp-content/uploads/2007/12/tagging.php.

Features

  • Bundled with jQuery-based autocomplete library (http://remysharp.com/2007/12/28/jquery-tag-suggestion/) which is applied to a textfield
  • Autosuggest functionality (currently JSON only)
  • Saving in many_many relation, or in textfield
  • Static list of tags without hitting the server
  • Tab-autocompletion of tags
  • Customizeable tag layout through css
  • Unobtrusive - still saves with Javascript disabled
  • Full unit test coverage

Usage

Tags as Objects

Article Model

class Article extends DataObject {
    static $many_many = array(
        'RelationTags' => 'Tag'
    );
}

Tag Model

class Tag extends DataObject {
    static $db = array(
        'Title' => 'Varchar(200)',
    );

    static $belongs_many_many = array(
        'Articles' => 'Article'
    );
}

Formfield Instanciation:

$tagField = new TagField('RelationTags', null, null, 'Article')

Tags as Textfields

Article Model

class Article extends DataObject {
    static $db = array(
        'TextTags' => 'Text'
    );
}

Formfield Instanciation:

$tagField = new TagField('TextTags', null, null, 'Article')

Static Tags without Autosuggestion

$tagField = new TagField('TextTags', null, null, 'Article');
$tagField->setCustomTags(array('mytag','myothertag'));
Something went wrong with that request. Please try again.