Merge pull request #44 from phptek/ChangeRawIDs

Change raw IDs
This commit is contained in:
Will Rossiter 2013-02-21 23:14:00 -08:00
commit 857b78314b
3 changed files with 58 additions and 16 deletions

View File

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

View File

@ -144,6 +144,19 @@ class Comment extends DataObject {
return ($parent->Title) ? $parent->Title : $parent->ClassName . " #" . $parent->ID;
}
/**
* Comment-parent classnames obviousely vary, return the parent classname
*
* @return string
*/
public function getParentClassName() {
$default = 'SiteTree';
if(!$this->BaseClass) {
return $default;
}
return $this->BaseClass;
}
/**
* @todo needs to compare to the new {@link Commenting} configuration API
@ -302,4 +315,19 @@ class Comment extends DataObject {
return $title;
}
/*
* Modify the default fields shown to the user
*/
public function getCMSFields() {
$fields = parent::getCMSFields();
$parent = $this->getParent()->ID;
$parentIDField = new HiddenField('ParentID', 'Parent', $parent);
$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
To begin the installation first download the module from online. You can find what version
you require for your SilverStripe installation on the silverstripe.org website.
## Composer
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`.
## All
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.
If you previously had SilverStripe 2.4 installed then you will also need to run the migration script
provided. More information on this is in the next section
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 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
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
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.
// Adds commenting to the class SiteTree (all Pages)
Commenting::add('SiteTree');
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
@ -36,14 +50,14 @@ in your `mysite/_config.php` file replace the previous line with the following
'require_moderation' => true,
'require_login' => true
));
For more configuration options see [Configuration](Configuration.md).
## 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
that you need to run `dev/build` after installing the module.
This module replaces the built-in commenting system available in versions up to SilverStripe 2.4. To migrate from
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`