Greetings,
I carefully read all threads about flexinode and found them very interesting. I also looked through flexinode 4.7 and noticed that my ideas may be usefull for it also. I recently implemented another theming idea for flexinode and would like to ask your opinion about it. Shortly, the idea - is to create a theme_ procedure for each content type. It will be very easy then to make a specific output for every content type. Since, flexinode is very good for e-commerce sites to create different product types with various fields (to cover the lack of attributes in e-com package), I found very convinient to have an ability to simply customize product pages and listing layouts.
I would like to share my ideas with community.
The idea is the following:
1. I patched flexinode_view with the following code:
$ctype = flexinode_load_content_type($node->ctype_id);
$node->body = theme('flexinode_'.$ctype->name, $node, $ctype->fields, $teaser, $page);
If theme_flexinode_{content type name} exists it will return the custom theming.
2. I am using content type name as an 'internal name', description - for 'visible name' (for menus and links), help text - for detailed description.
3. I also added an internal name column for flexinode fields to be able to refer them by name instead of ID.
Here is an example of such procedure created to display content type 'book_product':