633 Posts in 170 Topics by 237 members
|
Page:
1
|
Go to End | |
| Author | Topic: | 1851 Views |
-
[Solved] Override WidgetHolder.ss

28 March 2009 at 9:43am Last edited: 28 March 2009 9:52am
I have a widget on a page.
It's wrapped in HTML by the silverstripe/sappire/templates/WidgetHolder.ss file which contains:<div class="WidgetHolder">
<h3>$Title</h3>
$Content
</div>I would prefer the title to be an h2 element rather than an h3 element.
I copied the above, changing h3 to h2 and put it in silverstripe/themes/mytheme/templates/Includes as per this page http://doc.silverstripe.org/doku.php?id=widgets
You can override the WidgetHolder.ss and Widget.ss templates in your theme too by adding WidgetHolder and Widget templates to themes/myThemeName/templates/Includes/but it didn't work.
If I delete the core sapphire file (silverstripe/sappire/templates/WidgetHolder.ss) it works fine but obviously I don't want to do that because it will break following an update to the core sapphire files.
Any ideas? -
Re: [Solved] Override WidgetHolder.ss

28 March 2009 at 9:51am
It seems that I should have put the modified WidgetHolder.ss into silverstripe/themes/mytheme/templates not silverstripe/themes/mytheme/templates/Includes. I moved the file and it worked.
This makes more sense as I'm not including it.
I think that the documentation (http://doc.silverstripe.org/doku.php?id=widgets) is incorrect. -
Re: [Solved] Override WidgetHolder.ss

8 April 2009 at 7:19am
I just ran into the same problem. Your solution worked correctly and it seems as either the documentation is misleading or incorrect.
-
Re: [Solved] Override WidgetHolder.ss

16 April 2011 at 8:20pm
Hello!
My problem was that i didn't want to have my html code inside the widgetHolder div so i change the template used.
If you just want to change the template used by your widget you can override the widget Holder by overriding your controller:...
class YOURWIDGET_Controller extends Widget_Controller {
function WidgetHolder() {
return $this->renderWith("YOURTEMPLATE");
}...
}And your model
class YOURWIDGET extends Widget {
...
function WidgetHolder() {
return $this->renderWith("YOURTEMPLATE");
}
...
}That would do the trick. And this way you keep the other widgets that used the default widgetHolder unchanged.
-
Re: [Solved] Override WidgetHolder.ss

3 December 2011 at 3:08am
Just as a matter of interest as I tried to change my WidgetHolder.ss I was frustrated to the limit for it not changing then I realised that one has been put in the latest Silverstripe in the blackcandy_blog/templates/ so look there to change.
| 1851 Views | ||
|
Page:
1
|
Go to Top |


