Go to file
3dgoo (Michael) 72c76efa19 Upgrading select2 code to the latest version. This fixes a rendering bug in safari where the hidden text box has a border displayed around it, making it not so hidden. 2015-09-03 20:22:01 +09:30
code Fixed issue where empty keywords field would be passed to array functions as a string. 2015-08-27 11:25:58 +10:00
css Upgrading select2 code to the latest version. This fixes a rendering bug in safari where the hidden text box has a border displayed around it, making it not so hidden. 2015-09-03 20:22:01 +09:30
js Upgrading select2 code to the latest version. This fixes a rendering bug in safari where the hidden text box has a border displayed around it, making it not so hidden. 2015-09-03 20:22:01 +09:30
templates Moved source code 2015-04-14 13:15:28 +12:00
tests Stabilized API 2015-05-22 15:22:13 +12:00
.gitignore Moved source code 2015-04-14 13:15:28 +12:00
.travis.yml Move to new travis containerised infrastructure 2015-07-20 16:07:46 +01:00
LICENCE Added licence file 2015-05-25 08:50:29 +12:00
README.md Update README.md 2015-08-21 10:31:55 +09:30
_config.php Moved source code 2015-04-14 13:15:28 +12:00
composer.json Removed version alias 2015-05-25 09:03:49 +12:00

README.md

TagField Module

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