BUGFIX: Fixed calls to Comment::get() to be compatible with PostGres

MINOR: Modified docs with basic composer info, typos, grammar etc
ENHANCEMENT: Hid the existing 'BaseClass' textfield making a hidden field. There should be no need to manually change this.
This commit is contained in:
Russell Michell 2012-12-18 08:53:16 +13:00
parent dda00c5452
commit ce3af93a50
3 changed files with 54 additions and 16 deletions

View File

@ -52,14 +52,14 @@ class CommentAdmin extends LeftAndMain {
$needs = new GridField( $needs = new GridField(
'Comments', 'Comments',
_t('CommentsAdmin.NeedsModeration', 'Needs Moderation'), _t('CommentsAdmin.NeedsModeration', 'Needs Moderation'),
Comment::get()->where('Moderated = 0'), Comment::get()->filter('Moderated',0),
$commentsConfig $commentsConfig
); );
$moderated = new GridField( $moderated = new GridField(
'CommentsModerated', 'CommentsModerated',
_t('CommentsAdmin.CommentsModerated'), _t('CommentsAdmin.CommentsModerated'),
Comment::get()->where('Moderated = 1'), Comment::get()->filter('Moderated',1),
$commentsConfig $commentsConfig
); );

View File

@ -144,6 +144,15 @@ class Comment extends DataObject {
return ($parent->Title) ? $parent->Title : $parent->ClassName . " #" . $parent->ID; return ($parent->Title) ? $parent->Title : $parent->ClassName . " #" . $parent->ID;
} }
/**
* Comment-parent classnames obviousely vary, return the parent classname
*
* @return string
*/
public function getParentClassName() {
return $this->BaseClass;
}
/** /**
* @todo needs to compare to the new {@link Commenting} configuration API * @todo needs to compare to the new {@link Commenting} configuration API
@ -302,4 +311,19 @@ class Comment extends DataObject {
return $title; return $title;
} }
/*
* Modify the default fields shown to the user
*/
public function getCMSFields() {
$fields = parent::getCMSFields();
$parentClass = $this->getParentClassName();
$parentIDField = new DropDownField('ParentID', 'Parent', $parentClass::get()->map());
$authorIDField = new HiddenField('AuthorID');
$baseClassField = new HiddenField('BaseClass');
$fields->replaceField('ParentID', $parentIDField);
$fields->replaceField('AuthorID', $authorIDField);
$fields->replaceField('BaseClass', $baseClassField);
return $fields;
}
} }

View File

@ -1,32 +1,46 @@
# Installation # Installation
To begin the installation first download the module from online. You can find what version ## Composer
you require for your SilverStripe installation on the silverstripe.org website.
After you have finished downloading the file, extract the downloaded file to your sites root Edit your project-wide composer.json file as follows; in the "require" block add:
"silverstripe/comments": "*"
Then in the root of your project run:
#> composer update silverstripe/comments
## Web
To begin the installation first download the module online. You can find the version
you require for your SilverStripe installation on the [silverstripe.org](http://www.silverstripe.org) website.
After you have finished downloading the file, extract the downloaded file to your site's root
folder and ensure the name of the module is `comments`. folder and ensure the name of the module is `comments`.
## All
Run a database rebuild by visiting *http://yoursite.com/dev/build*. This will add the required database Run a database rebuild by visiting *http://yoursite.com/dev/build*. This will add the required database
columns and tables for the module to function. columns and tables for the module to function.
If you previously had SilverStripe 2.4 installed then you will also need to run the migration script If you previously had SilverStripe version 2.4 installed then you'll also need to run the migration script
provided. More information on this is in the next section provided. More information on this is provided in the next section.
## Enabling Commenting ## Enabling Commenting
Out of the box the module adds commenting support to all pages on your site. This functionality can be Out of the box the module adds commenting support to all pages on your site. This functionality can be
turned on and off on a per page basis in the CMS under the `Behaviour` tab for a given page. Once the `Allow Comments` turned on and off on a per page basis in the CMS under the `Behaviour` tab for a given page. Once the `Allow Comments`
checkbox is ticked republish the page and view the webpage. checkbox is ticked, republish and view the webpage.
Ensure that your template file (usually themes/yourtheme/templates/Layout/Page.ss) has the `$CommentsForm` variable Ensure that your template file (usually themes/yourtheme/templates/Layout/Page.ss) has the `$CommentsForm` variable
where you want comments to appear. where you want comments to appear.
To enable commenting on other objects (such as your own subclasses of DataObject) add the following To enable commenting on other objects (such as your own subclasses of `DataObject`) add the following
to your `mysite/_config.php` file. to your `mysite/_config.php` file.
// Adds commenting to the class SiteTree (all Pages) // Adds commenting to the class SiteTree (all Pages)
Commenting::add('SiteTree'); Commenting::add('SiteTree');
You can also pass configuration options to the add function to customize commenting on that object. Again You can also pass configuration options to the add function to customize commenting on that object. Again
in your `mysite/_config.php` file replace the previous line with the following in your `mysite/_config.php` file replace the previous line with the following
@ -36,14 +50,14 @@ in your `mysite/_config.php` file replace the previous line with the following
'require_moderation' => true, 'require_moderation' => true,
'require_login' => true 'require_login' => true
)); ));
For more configuration options see [Configuration](Configuration.md). For more configuration options see [Configuration](Configuration.md).
## Upgrading ## Upgrading
### Migrating from 2.* SilverStripe installations ### Migrating from version 2.* SilverStripe installations
This module replaces the built in commenting system available in versions up to SilverStripe 2.4. To migrate from This module replaces the built-in commenting system available in versions up to SilverStripe 2.4. To migrate from
that you need to run `dev/build` after installing the module. that you'll need to run `dev/build` after installing the module.
You can do this via sake (`sake dev/build`) or via a web browser by visiting http://yoursite.com/dev/build You can do this via sake (`sake dev/build`) or via a web browser by visiting `http://yoursite.com/dev/build`