3214 Posts in 848 Topics by 810 members
|
Page:
1
|
Go to End | |
| Author | Topic: | 1072 Views |
-
Basic Extending

22 December 2008 at 10:03pm Last edited: 22 December 2008 10:04pm
Hi, I want to extend a class and found this example: http://doc.silverstripe.com/doku.php?id=recipes:adding_metatags. This works as expected so I use the same approach on the PageCommentInterface class. My code:
==mysite/code/CustomCommentInterface.php==
class CustomCommentInterface extends DataObjectDecorator {
function CustomCommentForm() {
return 'Foo';
}
}==mysite/_config.php==
DataObject::add_extension('PageCommentInterface', 'CustomCommentInterface.php');==mysite/templates/Layout/ArticlePage.ss==
$CustomCommentForm ('Foo' is not showing up!?)Thanks for your time!
Note. I asked this before but the old forum is archived. I got a reply from howardgrigg (thanks for that!) but I don't want to alter the core.
-
Re: Basic Extending

27 December 2008 at 10:49pm
Hi,
instead of using a dod for that, I would extend PageCommentInterface directly.
You'll see that this is called in ContentController.php (around line 300). - see the method 'PageComments'.
In your Page_Controller you could then do more or less the same:
function CustomComments() {
if($this->data() && $this->data()->ProvideComments) {
return new CustomCommentInterface($this, 'CustomComments', $this->data());
} else {
if(isset($_REQUEST['executeForm']) && $_REQUEST['executeForm'] == 'CustomComments.PostCommentForm') {
echo "Comments have been disabled for this page";
die();
}
}
}which gives you the $CustomComments tag in yr template...
Hope this might help a bit.
| 1072 Views | ||
|
Page:
1
|
Go to Top |


