silverstripe/tagfield

Tag field for Silverstripe

Installs: 14 780

Dependents: 4

Stars: 40

Watchers: 12

Forks: 32

Open Issues: 8

Language: JavaScript

1.0.0 2015-05-22 04:02 UTC

README

Build Status Code Quality

Requirements

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

Download/Information

Usage

Relational Tags

class BlogPost extends DataObject {
    static $many_many = array(
        'BlogTags' => 'BlogTag'
    );
}
class BlogTag extends DataObject {
    static $db = array(
        'Title' => 'Varchar(200)',
    );

    static $belongs_many_many = array(
        'BlogPosts' => 'BlogPost'
    );
}
$field = TagField::create(
    'BlogTags',
    'Blog Tags',
    BlogTag::get(),
    $post->BlogTags()
)
    ->setShouldLazyLoad(true) // tags should be lazy loaded
    ->setCanCreate(true);      // new tag DataObjects can be created

String Tags

class BlogPost extends DataObject {
    static $db = array(
        'Tags' => 'Text'
    );
}
$field = StringTagField::create(
    'Tags', 'Tags', array('one', 'two'), explode(',', $this->Tags)
);

$field->setShouldLazyLoad(true); // tags should be lazy loaded