Added tag field

This commit is contained in:
Christopher Pitt 2015-04-08 11:48:00 +12:00
parent d58b376bf1
commit a08fa42bc7
2 changed files with 54 additions and 29 deletions

View File

@ -132,16 +132,18 @@ class BlogPost extends Page {
$options = BlogAdminSidebar::create(
$publishDate = DatetimeField::create("PublishDate", _t("BlogPost.PublishDate", "Publish Date")),
$urlSegment,
ListboxField::create(
"Categories",
_t("BlogPost.Categories", "Categories"),
$self->Parent()->Categories()->map()->toArray()
)->setMultiple(true),
ListboxField::create(
"Tags",
_t("BlogPost.Tags", "Tags"),
$self->Parent()->Tags()->map()->toArray()
)->setMultiple(true),
TagField::create(
'Categories',
_t('BlogPost.Categories', 'Categories'),
BlogCategory::get()->map(),
$self->Parent()->Categories()->map()
),
TagField::create(
'Tags',
_t('BlogPost.Tags', 'Tags'),
BlogTag::get()->map(),
$self->Parent()->Tags()->map()
),
$authorField,
$authorNames
)->setTitle('Post Options');
@ -184,7 +186,25 @@ class BlogPost extends Page {
}
}
/**
* Sets blog relationship on all categories and tags assigned to this post.
*
* @throws ValidationException
*/
public function onAfterWrite()
{
parent::onAfterWrite();
foreach ($this->Categories() as $category) {
$category->BlogID = $this->ParentID;
$category->write();
}
foreach ($this->Tags() as $tag) {
$tag->BlogID = $this->ParentID;
$tag->write();
}
}
/**
* Checks the publish date to see if the blog post has actually been published.

View File

@ -1,12 +1,17 @@
{
"name": "silverstripe/blog",
"description": "A fresh take on blogging in Silverstripe set out to tackle the issue of a cluttered Site Tree.",
"keywords": ["silverstripe", "blog", "news"],
"type": "silverstripe-module",
"require": {
"silverstripe/cms": ">=3.1.0",
"silverstripe/lumberjack": "~1.1"
},
"name": "silverstripe/blog",
"description": "A fresh take on blogging in Silverstripe set out to tackle the issue of a cluttered Site Tree.",
"keywords": [
"silverstripe",
"blog",
"news"
],
"type": "silverstripe-module",
"require": {
"silverstripe/cms": ">=3.1.0",
"silverstripe/lumberjack": "~1.1",
"silverstripe/tag-field": "~1.0"
},
"require-dev": {
"phpunit/PHPUnit": "~3.7@stable"
},
@ -15,15 +20,15 @@
"dev-master": "2.0.x-dev"
}
},
"license": "BSD-2-Clause",
"authors": [
{
"name": "Michael Strong",
"email": "github@michaelstrong.co.uk"
}
],
"suggest": {
"silverstripe/widgets": "Some widgets come with the blog which are compatible with the widgets module.",
"silverstripe/comments": "This module adds comments to your blog."
}
"license": "BSD-2-Clause",
"authors": [
{
"name": "Michael Strong",
"email": "github@michaelstrong.co.uk"
}
],
"suggest": {
"silverstripe/widgets": "Some widgets come with the blog which are compatible with the widgets module.",
"silverstripe/comments": "This module adds comments to your blog."
}
}