3215 Posts in 848 Topics by 811 members
|
Page:
1
|
Go to End | |
| Author | Topic: | 1427 Views |
-
Custom text functions for content

31 May 2010 at 3:33am Last edited: 31 May 2010 3:33am
Hi there,
I just wan't to know if it's possible to extend Silverstripe in one way:
In every Silverstripe installation you've the opporturnity to change the text e.g. in this way:
$Content.FirstSentence
or$Content.LimitWordCountXML(10, read more)
Now, I need a custom function like
$Content.MyFancyFunction
I know this was possible if I will hack "sapphire/core/model/fieldtypes/Text.php" but this is not the way i wan't to go.
I've tried to "extend" with the Object::add_extension() method but in this case I will lose "$this->value" in my custom class because it has to extend from "Extension" and can not extend from the "Text"-Class.Is there a way to do this without hacking the Silverstripe core?
-
Re: Custom text functions for content

31 May 2010 at 9:05am
You should be able to use the Extension class. You would then refer to your "$this->value" as you would in a subclass as $this->owner->value. $this->owner gives you the class the extension has been applied to.
The other option is to make a FirstSentence function in your Page.php and instead of using $Content use $FirstSentence in the template.
function FirstSentence() {
$content = $this->Content;// do whatever you want
$text = ....;return $text;
-
Re: Custom text functions for content

31 May 2010 at 10:47am
Thanks, Willr that's it.
I know your second option but I need in my case the "extension".
| 1427 Views | ||
|
Page:
1
|
Go to Top |


