Hi,
I am trying to figure out how templates work and I have found my way so far in modifying most of the elements of a template.
But there is still one thing that I can't understand:
Let's say we are not happy with the sidebar blocks (on the right of the template). We want to modify them. Then we go to the template default file and we find a {{sidebar}} tag which displays all the blocks in a certain order.
If I want to modify one special block. Then it's quite easy to find the file to be edited. I make a little search in the unit dir.
But if I want to modify, let's say, the order of the blocks (or if I want to add or delete a block), then I need to figure out where the {{sidebar}} part is defined. My problem is that I can't understand where and how these components - {{sidebar}} {{location}} ... - are defined.
Any help would be appreciated
Thanks in advance
Comments
I just thought about asking the same Question :-). I think there is no possibility to change the order of blocks, or with other words the order of the elements inside an keyword element (e.g. the {{mainbody}} or the {{sidebar}} element).
I don't know if the developers like to change that generally. We must think about which parts of a template should always be in the same position and which may be changed by a individual template design.
These are Elements which refer to the visitor. But they are shown in the style of the weblog/community owner. Is that useful? Or how can it be more obvious? Perhaps there could be a small horizontal Page element, call it header if you like, that shows these Option, the Account Setting Option and the logoff button. These Element should be styled i a coherent way on every Page, because it is not related to the blog/community that is shown.
Apart of that, and to come back to your question, it would be nice if there are more keywords. E.g. there should be a possibility to change the order of the elements in a blog post. Perhaps some user want to have the title at first position, and the date below. A more "granular" Keyword-Set would be nice. (Or did i miss another possibility for doing that?)
Sorry, i forgot something: If you just want to "delete" an element. That's possible with CSS:
just define the id or class as:
display:hidden;
Yes.
But anyway I would be very pleased to know how these {{keywords}} work (and where I can find the code that handle them).
Because I want to make a special use of ELGG and I need to rewrite a lot of things.
Yes Widgets are cool. But they aren't used to build a more granular {{mainbody}} Element? Is it possible to change the order of the elements inside the {{mainbody}} Element? Or is such a feature planned?
And what do you think about a ELGG.net wide coherent style for the Menu element? (see previous comment)
I found it !!!
Here is how it works:
The {{sidebar}} is constructed using $function[display:sidebar][]
Each time, you see "$function[display:sidebar][] = something" in the code, it adds a block to the sidebar.
The order of the blocks depends on the order of these "$function[display:sidebar][] = something" calls.
And it is set in... includes_system.php
If you change the order of the includes in this file, then the order of the blocks will change the same way.
Hope it will help other geeks ;-)