New frontpage element does not appear in xdv theme


at our plone4.3 site
i created new element on frontpage (editting browser/
but the new element is not displayed at xdvtheme,
but when i activate the "Twitter Bootstrap Example" theme then the element displays correctly.

the xdvtheme is our default theme, when xdetheme is actived, i tried to delete
then the new element is displayed at frontpage, but the design of frontpage is broken!

could anyone give a hint how to "refresh" xdvtheme in order to include new element of frontpage?

Many thanks for your time.

This is difficult to troubleshoot without seeing code. I recommend that you share the code for your theme. If you can't share it publicly, make arrangements to share it privately with someone with Diazo experience.

at ../browser/
i added new element and his javascript
after "NEWS" div like this:

as in previous post i wrote if i delete ova/xdvtheme/theme/frontpage.html then
my newElenent is displayed but the front page is broken :slight_smile:

in ova/xdvtheme/theme/rules.xml i see this:

<!-- Template for frontpage -->
<rules css:if-content="#ova-theme-frontpage">
  <theme css:if-content="#ova-theme-frontpage" href="frontpage.html"/>

when i open ova/xdvtheme/theme/theme/frontpage.html i see the "NEWS" div there:


      <!-- end NEWS -->

i am reading xdvtheme/diazo the first time, and dont know how
to add newElement and his javascript to the xdvtheme frontpage.html
and how this frontpage.html is generated?

Thank you for help.

Without seeing the contents of your rules.xml, and frontpage.html I can give you some principles, a general example and gotchas. I hope they help.


Core concept most likely acts as your "content"
frontpage.html acts as your "theme"
rules.xml dictates how elements are moved around (this is an oversimplification, but enough to get you going)

When assessing your rules.xml in the context of your frontpage

  • When you see a directive with css:content= or content= as an attribute.... assume it refers to elements coming from
  • When you see a directive with css:theme= or theme= as an attribute... assume it refers to elements from frontpage.html


Arbitrary example
This might work. It won't give you what you want but it might help you to wrap your head around the mechanism.
It places the newElement before all the children of the body tag.

<before css:theme-children="body" css:content="#newElement" />


The script tag is harder to manipulate. I recommend wrapping it in a div and then bringing it based on the id of that div.

David Bain (Will Theme Plone Sites)

for your time :slight_smile:
it worked for me now :slight_smile:

thx again.

1 Like

:tada: glad this was helpful.